Manejo de entradas y salidas ESTRUCTURA BASICA DE UN SKETCH setup() La función setup es llamada cuando se inicia el sketch. Se usa para inicializar las variable, establecer la modalidad de los pines y el uso de librerías etc. La función Setup solo se corre una sola vez, después de encendido o resetado la placa Arduino. Ejemplo int buttonPin = 3; void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } void loop() { // ... } LOOP() loop() Luego de creada la funcion setup(), inicializa los valores y las modalidades de los pines, la funcion loop() hace precisamente como su nombre lo suguire, realiza un ciclo infinito. Ejemplo const int buttonPin = 3; void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } void loop() { if (digitalRead(buttonPin) == HIGH) Serial.write('H'); else Serial.write('L'); delay(1000); } PINMODE() Configura el comportamiento que deberá tener el pin seleccionado Ejemplo: int ledPin = 13; // LED conectado al pin 13 void setup() { pinMode(ledPin, OUTPUT); salida } // establece el pin digital como una void loop() { digitalWrite(ledPin, HIGH); // enciende el led delay(1000); // retardo de 1 segundo digitalWrite(ledPin, LOW); // apaga el led delay(1000); } // espera 1 segundo DIGITALWRITE() Coloca un estado lógico alto (5V) o bajo (0V) en el pin seleccionado. Ejemplo: int ledPin = 13; // LED conectado en el pin13 void setup() { pinMode(ledPin, OUTPUT); // establece el pin 13 como salida } void loop() { digitalWrite(ledPin, HIGH); delay(1000); // establece el 1 lógico (5V) // Espera 1 segundo digitalWrite(ledPin, LOW); // coloca el pin en 0V delay(1000); } // espera 1 segundo DIGITALREAD() Lee el valor registrado en el pin especificado. Ejemplo: int ledPin = 13; int inPin = 7; int val = 0; void setup(){ } pinMode(ledPin, OUTPUT); pinMode(inPin, INPUT); void loop() { val = digitalRead(inPin); // lee la entrada en el pin digitalWrite(ledPin, val); // coloca el led el valor leido } ANALOGREAD() Lee el valor especificado en un pin análogo Ejemplo: int analogPin = 3; int val = 0; // potenciómetro (terminal 2) conectado al pin análogo 3 // los pines 1 y 3 conectado a Gnd y 5v // variable almacenada del valor medido void setup() { Serial.begin(9600); } // inicializa el puerto serial void loop() { val = analogRead(analogPin); //lee el pin de entrada Serial.println(val); // devuelve el valor medido } ANALOGWRITE() Escribe un valor PWM en el pin especificado Ejemplo int ledPin = 9; // LED conectado al pin digital 9 int analogPin = 3; // potenciómetro conectado al pin analógico 3 int val = 0; void setup() { pinMode(ledPin, OUTPUT); // coloca el pin como salida } void loop() { val = analogRead(analogPin); // lee el pin de entrada } analogWrite(ledPin, val / 4); // analogRead sus valores van desde 0 a 1023, analogWrite van de 0 a 255