Sie sind auf Seite 1von 4

Ejemplos de Entradas/salidas analgicas

Traducido por: Jos Luis Lombardero, profesor de Tecnologa

Analog Input (Entrada analgica)


Un potencimetro es un componente simple que proporciona una resistencia variable, que se puede leer en la placa Arduino como un valor analgico de voltaje variable. En este ejemplo, podrs conectar un potencimetro a una de las entradas analgicas del Arduino para controlar la velocidad a la que el LED insertado en placa del pin 13 parpadea.

Hardware necesario
Placa Arduino Potencimetro LED sobre pin 13 (insertado en placa)

Conexiones sobre placa Arduino

Conecte los tres cables a la placa Arduino. El primero va a tierra (GND) desde una de las patas exteriores del potencimetro. El segundo va a 5 voltios a la otra patilla exterior del potencimetro. La tercera patilla va a la entrada 0 analgica A0 desde el pin central del potencimetro. Para este ejemplo, es posible utilizar el LED que est integrado a la placa Arduino y al pin 13. Para usar un LED adicional, insertar su patilla ms larga (terminal positivo o nodo), al pin digital 13, y la ms corta (terminal negativo, o ctodo) a la tierra (GND) prxima al pin 13. Debido a la pequea cantidad de corriente que sale del pin digital 13, no es necesario el uso de una resistencia limitadora de corriente para este caso particular.

Esquema del circuito

Pgina 1 / 4

2013

Ejemplos de Entradas/salidas analgicas


Traducido por: Jos Luis Lombardero, profesor de Tecnologa

Cdigo
Al principio de este programa, la variable sensorPin se establece en analgico y en el pin 0, donde est conectado el potencimetro, y ledPin se establece en el pin digital 13. Tambin vamos a crear otra variable, sensorValue para almacenar los valores ledos desde el sensor. El comando analogRead() convierte el voltaje de entrada, 0 a 5 voltios, a un valor digital entre 0 y 1023. Esto lo realiza un circuito interno del Arduino llamado convertidor analgico-digital o ADC (Analogic to Digital Converter). Al girar el eje del potencimetro, cambia la cantidad de resistencia en cada lado de la patilla central del potencimetro. Esto cambia las resistencias relativas entre el pin central y los dos pines externos, y le da una tensin diferente a la entrada analgica. Cuando el eje gira todo el camino en una direccin, no hay resistencia entre el pin central y la conexin a tierra. La tensin en la patilla central entonces es de 0 voltios, y analogRead() devuelve 0. Cuando el eje gira todo el camino en la otra direccin, no hay resistencia entre el pin central y el pin conectado a +5 voltios. El voltaje en la patilla central entonces es de 5 voltios, y analogRead() devuelve 1023. En el punto medio del recorrido, analogRead() devuelve un nmero entre 0 y 1023, que es proporcional a la cantidad de voltaje que se aplica al pin central. Ese valor, almacenado en sensorValue, se utiliza para establecer un delay()(retardo) para el ciclo de parpadeo del LED. Cuanto mayor sea el valor, ms largo ser el ciclo, a ms pequeo el valor, ms corto es el ciclo. A continuacin veamos cmo queda el cdigo del sketch: Pgina 2 / 4 2013

Ejemplos de Entradas/salidas analgicas


Traducido por: Jos Luis Lombardero, profesor de Tecnologa

/* 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 amount of time the LED will be on and off depends on the value obtained by analogRead(). 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, the LED is optional. Created by David Cuartielles modified 30 Aug 2011 By Tom Igoe This example code is in the public domain. Traduced by: Jose Luis Lombardero (Technologys teacher) 24 Feb 2013 http://arduino.cc/en/Tutorial/AnalogInput */ int sensorPin = A0; // pin Analgico de entrada que viene del potenciometro int ledPin = 13; // selecciona el pin para el LED int sensorValue = 0; // variable para almacenar el valor que viene desde el sensor void setup() { // declara a ledPin como una OUTPUT, salida: pinMode(ledPin, OUTPUT); } void loop() { // lee el valor desde el sensor: sensorValue = analogRead(sensorPin); // enciende el ledPin poniendolo a nivel ALTO digitalWrite(ledPin, HIGH); // detiene el programa por <sensorValue> milisegundos: delay(sensorValue); // apaga el ledPin poniendolo a nivel BAJO: digitalWrite(ledPin, LOW); // detiene el programa por <sensorValue> milisegundos: delay(sensorValue); // Esto hace que vare el ciclo de trabajo de encendido y apagado del LED } [Get Code]

Pgina 3 / 4

2013

Ejemplos de Entradas/salidas analgicas


Traducido por: Jos Luis Lombardero, profesor de Tecnologa

Ver tambin:
pinMode() analogRead() digitalWrite() delay() AnalogReadSerial - read a potentiometer, print it's state to the serial monitor AnalogInOutSerial - read an analog input, map its values, and then use that information to dim or brighten an LED. Fade - use an analog input to fade an LED Calibration - calibrating analog sensor readings

Informacin obtenida del apartado 3. de la pgina oficial de Arduino, Tutoriales - Ejemplos: http://arduino.cc/en/Tutorial/HomePage

Pgina 4 / 4

2013

Das könnte Ihnen auch gefallen