Ejemplos > Digital I/O LED parpadeante En la mayoría de los lenguajes de programación, el primer programa que tú escribes imprime en la pantalla del

ordenador la frase "Hola Mundo". Ya que una placa Arduino no tiene una pantalla, haremos parpadear un LED. Circuito:

Codigo: /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } Ejemplos > E/S Analógica Entrada Analógica Un potenciómetro es un elemento pasivo con un eje que proporciona una resistencia variable, la cual puede ser leída por una placa Arduino como un valor analógico. En este ejemplo, ese valor controlará la frecuencia con la que parpadeará un LED

El tercero desde el pin analógico 2 al pin medio del potenciómetro. Entre medias. llegarán 5 voltios al pin central y leeremos 1023.Conectamos 3 cables a la placa Arduino. El segundo. Al girar el eje del potenciómetro. pero en el otro sentido. El primero desde masa a uno de los pines extremos del potenciómetro. Circuito /* Analog Input Demonstrates analog input by reading an analog sensor on analog pin 0 and turning on and off a light emitting diode(LED) connected to digital pin 13. The circuit: * Potentiometer attached to analog input 0 * center pin of the potentiometer to the analog pin * one side pin (either one) to ground * the other side pin to +5V * LED anode (long leg) attached to digital output 13 * LED cathode (short leg) attached to ground * Note: because most Arduinos have a built-in LED attached to pin 13 on the board. desde 5 voltios al otro pin extremo del potenciómetro. y leeremos 0. cambiamos el valor de la resistencia entre los pines de los extremos y el pin central del potenciómetro. Cuando giramos el eje a tope. the LED is optional. llegarán 0 voltios al pin central. analogRead () retorna un número entre 0 y 1023 que es proporcional al valor del voltaje aplicado al pin central. The amount of time the LED will be on and off depends on the value obtained by analogRead(). ofreciendo diferentes valores analógicos de entrada. Esto cambia la "cercanía" relativa del pin central a 5 Voltios y a masa. http://arduino.cc/en/Tutorial/AnalogInput */ . Cuando giramos el eje a tope en un sentido. Created by David Cuartielles modified 30 Aug 2011 By Tom Igoe This example code is in the public domain.

// turn the ledPin off: digitalWrite(ledPin. Circuito Un LED conectado al pin de salida 9 a través de una resistencia de 220 ohmios.int sensorPin = A0. // stop the program for <sensorValue> milliseconds: delay(sensorValue). HIGH). LOW). } Ejemplos > E/S Analógicas Apagado gradual Demuestra el uso de la salida analógica (PWM) para apagar gradualmente un LED. // stop the program for for <sensorValue> milliseconds: delay(sensorValue). // variable to store the value coming from the sensor void setup() { // declare the ledPin as an OUTPUT: pinMode(ledPin. // select the pin for the LED int sensorValue = 0. } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin). Code /* Fading This example shows how to fade an LED using the analogWrite() function. // select the input pin for the potentiometer int ledPin = 13. OUTPUT). . The circuit: * LED attached from digital pin 9 to ground. // turn the ledPin on digitalWrite(ledPin.

fadeValue >= 0. es decir. Cuando el botón se cierra (pulsado). fadeValue). } } Ejemplos > E/S (I/O) Digital Botón Los pulsadores o switches conectan dos puntos de un circuito al ser pulsados. por lo que leemos un HIGH (alto ó 1). Cuando el pulsador está abierto (sin pulsar) no hay conexión entre las dos patas del pulsador. // LED connected to digital pin 9 void setup() { // nothing happens in setup } void loop() { // fade in from min to max in increments of 5 points: for(int fadeValue = 0 . se establece la unión entre sus dos extremos. al azar se tornará en HIGH o LOW. de forma que el pin está conectado a tierra (a través de la resistencia pull-down) y leemos un LOW (bajo ó 0). El tercer cable va desde el pin digital 2 a una patilla del pulsador. el comportamiento del programa (sketch) se invertirá. También puedes cablear el circuito en sentido contrario.Created 1 Nov 2008 By David A. Mellis modified 30 Aug 2011 By Tom Igoe http://arduino. Esto se debe a la entrada es "flotante". fadeValue +=5) { // sets the value (range from 0 to 255): analogWrite(ledPin. . Este ejemplo enciende el LED integrado en el pin 13 cuando pulsas el botón. rojo y negro. conectan a las dos hileras largas verticales de los laterales de la placa universal (breadboard ) para proporcionar acceso a la fuente de 5 voltios y a masa (ground). // wait for 30 milliseconds to see the dimming effect delay(30). Así. // wait for 30 milliseconds to see the dimming effect delay(30).cc/en/Tutorial/Fading This example code is in the public domain. Los dos primeros. con una resistencia "pull-up" que mantenga la entrada en HIGH. El otro extremo del pulsador se conecta a la fuente de 5 voltios. con el LED normalmente encendido y apagado cuando se pulsa el botón. fadeValue). Conecta tres cables a la placa Arduino. Si se desconectas el pin digital de E/S del todo. } // fade out from max to min in increments of 5 points: for(int fadeValue = 255 . */ int ledPin = 9. conectando el pin a 5 voltios. fadeValue <= 255. Por eso se necesita la resistencia pull-up o pull-down en el circuito. Esa misma patilla del pulsador se conecta a través de una resistencia pull-down (en este caso 10 KOhms) a masa. el LED puede parpadear de forma errática. fadeValue -=5) { // sets the value (range from 0 to 255): analogWrite(ledPin. y que pase a LOW cuando se pulse el botón.

// the number of the pushbutton pin const int ledPin = 13. } void loop(){ // read the state of the pushbutton value: . OUTPUT).Circuito Code /* Button Turns on and off a light emitting diode(LED) connected to digital pin 13. // the number of the LED pin // variables will change: int buttonState = 0. INPUT).arduino. They're used here to // set pin numbers: const int buttonPin = 2. // initialize the pushbutton pin as an input: pinMode(buttonPin.org> modified 30 Aug 2011 by Tom Igoe This example code is in the public domain. http://www. // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin. when pressing a pushbutton attached to pin 2. The circuit: * LED attached from pin 13 to ground * pushbutton attached to pin 2 from +5V * 10K resistor attached to pin 2 from ground * Note: on most Arduinos there is already an LED on the board attached to pin 13.0j0. created 2005 by DojoDave <http://www.cc/en/Tutorial/Button */ // constants won't change.

Este sketch de ejemplo imprime "Hello World!" en el LCD y muestra el tiempo en segundos desde que Arduino fué reseteado por última vez. Los estados de estos pines (nivel alto o bajo) son los bits que estás escribiendo a un registro cuando escribes. } } Ejemplos > Librarías > LiquidCrystal LiquidCrystal La librería LiquidCrystal te permite controlar displays LCD que sean complatibles con el driver Hitachi HD44780. que mantiene lo que sale en la pantalla. puedes hacer la mayoría de las cosas en modo 4 bits. que te permiten alimentar el LCD. Hay muchos de ellos ahí fuera. controlar el contraste del display. La librería LiquidCrystal te simplifica todo este proceso de forma que no neesitas saber las instrucciones de bajo nivel. o un registro de instrucción. pines de alimentación (+5V y GND) y pines de retro-iluminación (Bklt+ y Bklt-). the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin. y puedes comunicarte con ellos a través del interfaz de 16 pines. colocar las instrucciones. El pin de lectura/escritura (R/W)que selecciona el modo de lectura o el de escritura. } else { // turn LED off: digitalWrite(ledPin. o los valores de lectura cuando estás leyendo. // if it is. o encender y apagar la retro-iluminación. HIGH). Un pin para habilitar (enable) que habilita los registros. significando esto que el microcontrolador tiene que manipular varios pines del interfaz a la vez para controlarlo. // check if the pushbutton is pressed. por lo que el ejemplo muestra como controlar un LCD de 2x16 en modo de 4 bits. LOW). en el registro de instrucciones. que es donde el controlador del LCD busca las instrucciones para saber cual es lo siguiente que hay que hacer. y luego. Puedes seleccionar bien el registro de datos. El interfaz consta de los siguientes pines: Un pin de selección de registro (RS) que controla en qué parte de la memoria del LCD estás escribiendo datos. mientras el modo de 8 bits requiere 11 pines. El proceso de controlar el display involucra la colocación de los datos que componen la imagen de lo que quieres mostrar. 8 pines de datos (D00-D07). respectivamente. en los registros de datos. Para mostrar texto en la pantalla. Hay también un pin de contraste del display (Vo). Salida del sketch en un LCD de 2x16 El LCD tiene un interfaz paralelo. El modo de 4 bits requiere siete pines de E/S de Arduino. Los LCD-s compatibles con Hitachi pueden ser controlados de dos modos: 4 bits u 8 bits. .buttonState = digitalRead(buttonPin).

que controla el constraste.Hello World Demonstrates the use a 16x2 LCD display. There are many of them out there.D7 conectado a las E/S digitales desde el pin 5 hasta el 2. Ajusta el potenciómetro para que el texto tenga el contraste que tú quieras. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. The circuit: * LCD RS pin to digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W pin to ground * 10K resistor: * ends to +5V and ground * wiper to LCD VO pin (pin 3) Library originally added 18 Apr 2008 by David A. Los pines D4 . El pin Vo. Mellis . conectado a un potenciómetro. Los pines de voltaje y tierra conectados a +5V y tierra. Gracias a Limor Fried por reescribirla para incluir los modos de 4 y 8 bits y otras funcionalidades. This sketch prints "Hello World!" to the LCD and shows the time. and you can usually tell them by the 16-pin interface.NOTA: La librería LiquidCrystal tiene revisiones venidas a menos después de la versión 0016 de Arduino. Code /* LiquidCrystal Library . Estas notas hacen referencia a la versión actual como es Arduino 0017. Circuito El pin RS del LCD conectado a la E/S digital en el pin 12 El pin enable del LCD conectado a la E/S digital en el pin 11.

1). Este ejemplo hace uso de 6 LED-s conectados a los PIN 2 a 7 de la placa mediante resistencias de 220 Ohmios. 11..setCursor(0.arduino. void setup() { // set up the LCD's number of columns and rows: lcd.print(millis()/1000). pero en menos líneas de código. // print the number of seconds since reset: lcd. 2). world!"). · Cables para realizar las conexiones . lcd.) para hacer lo mismo. El primer código de ejemplo hace parpadear a los LED en secuencia de uno en uno. line 1 // (note: line 1 is the second row. · 6 resistencias de 220 Ohmios.library modified 5 Jul 2009 by Limor Fried (http://www. } El coche fantástico Descripción del ejercicio Hemos denominado este ejemplo como "El coche fantástico" en memoria de la serie de TV de los años 80 en la que el famoso David Hasselhoff tenía una máquina de IA conduciendo su Pontiac. con el objetivo de aprender programación secuencial y buenas técnicas para programar la placa E/S.begin(16. since counting begins with 0): lcd. http://www. De esta manera hemos decidido. Elementos necesarios: · 6 LED-s. 5. // Print a message to the LCD. 4. sería interesante usar el coche fantástico como una metáfora. 3.net) example added 9 Jul 2009 by Tom Igoe modified 22 Nov 2010 by Tom Igoe This example code is in the public domain. 2). } void loop() { // set the cursor to column 0.. utilizando sólo las funciones digitalWrite(pinNum.cc/en/Tutorial/LiquidCrystal */ // include the library code: #include <LiquidCrystal.ladyada. El coche estaba equipado con gran cantidad de LED-s de todos los tamaños posibles que realizaban efectos parpadeantes. El tercer y último ejemplo se centra en el efecto visual de apagar y encender los LED-s de una forma más suave.print("hello. · Una placa protoboard. El segundo ejemplo muestra cómo usar una secuencia de control for(.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12.HIGH/LOW) y delay(time).

pinMode(pin6. delay(timer). digitalWrite(pin4. pinMode(pin5. delay(timer). LOW). LOW). // Configuración de los PIN-es como salida pinMode(pin3. OUTPUT). HIGH). pinMode(pin7. // Enciende y apaga secuencialmente LED-s delay(timer). digitalWrite(pin4. digitalWrite(pin5. } void loop() { digitalWrite(pin2. int pin6 = 6. delay(timer). delay(timer). int pin5 = 5. . int pin7 = 7. OUTPUT). delay(timer). // Temporizador void setup(){ pinMode(pin2. delay(timer). delay(timer). pinMode(pin4. int timer = 100. LOW). digitalWrite(pin6. digitalWrite(pin3. digitalWrite(pin2. delay(timer). digitalWrite(pin3. OUTPUT). Aaron Hallborg */ int pin2 = 2. HIGH). Malmo University * @author: David Cuartielles * @hardware: David Cuartielles.Esquema. Código fuente /* El coche fantástico 1 * --------------------* * Básicamente una extensión del LED parpadeante. LOW). // PIN-es de los LED Prácticas con Arduino Nivel I 20 int pin3 = 3. OUTPUT). * * * (cleft) 2005 K3. OUTPUT). HIGH). HIGH). OUTPUT). digitalWrite(pin5. HIGH). int pin4 = 4.

delay(timer). digitalWrite(pin6. digitalWrite(pin6. LOW). delay(timer). digitalWrite(pin3. delay(timer). delay(timer). delay(timer). LOW). digitalWrite(pin3. delay(timer). delay(timer). digitalWrite(pin7. delay(timer). digitalWrite(pin7. HIGH). HIGH). digitalWrite(pin5. digitalWrite(pin4. digitalWrite(pin5. delay(timer).digitalWrite(pin6. LOW). HIGH). Prácticas con Arduino Nivel I 21 delay(timer). LOW). LOW). HIGH). digitalWrite(pin4. LOW). HIGH). } . delay(timer).

Sign up to vote on this title
UsefulNot useful