P. 1
Ejemplos Arduino

Ejemplos Arduino

|Views: 63|Likes:
Publicado porjosetigrillo

More info:

Published by: josetigrillo on Aug 11, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

04/17/2014

pdf

text

original

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

y leeremos 0. 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. Esto cambia la "cercanía" relativa del pin central a 5 Voltios y a masa. analogRead () retorna un número entre 0 y 1023 que es proporcional al valor del voltaje aplicado al pin central. desde 5 voltios al otro pin extremo del potenciómetro. pero en el otro sentido. http://arduino. ofreciendo diferentes valores analógicos de entrada. llegarán 5 voltios al pin central y leeremos 1023.Conectamos 3 cables a la placa Arduino.cc/en/Tutorial/AnalogInput */ . Cuando giramos el eje a tope. 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. El segundo. cambiamos el valor de la resistencia entre los pines de los extremos y el pin central del potenciómetro. The amount of time the LED will be on and off depends on the value obtained by analogRead(). Cuando giramos el eje a tope en un sentido. Entre medias. llegarán 0 voltios al pin central. Created by David Cuartielles modified 30 Aug 2011 By Tom Igoe This example code is in the public domain. the LED is optional. Al girar el eje del potenciómetro. El primero desde masa a uno de los pines extremos del potenciómetro. El tercero desde el pin analógico 2 al pin medio del potenciómetro.

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

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

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

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

There are many of them out there. El pin Vo. 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. Gracias a Limor Fried por reescribirla para incluir los modos de 4 y 8 bits y otras funcionalidades. Los pines D4 . conectado a un potenciómetro. and you can usually tell them by the 16-pin interface. Code /* LiquidCrystal Library . Los pines de voltaje y tierra conectados a +5V y tierra. que controla el constraste. This sketch prints "Hello World!" to the LCD and shows the time.D7 conectado a las E/S digitales desde el pin 5 hasta el 2. 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. Mellis .NOTA: La librería LiquidCrystal tiene revisiones venidas a menos después de la versión 0016 de Arduino.Hello World Demonstrates the use a 16x2 LCD display. Ajusta el potenciómetro para que el texto tenga el contraste que tú quieras. Estas notas hacen referencia a la versión actual como es Arduino 0017.

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

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->