Ejemplos de Entradas/salidas analógicas Analog Input (Entrada

Anuncio
Ejemplos de Entradas/salidas analógicas
Traducido por: José Luis Lombardero, profesor de Tecnología
Analog Input (Entrada analógica)
Un potenciómetro es un componente simple que proporciona una resistencia variable, que se puede
leer en la placa Arduino como un valor analógico de voltaje variable. En este ejemplo, podrás
conectar un potenciómetro a una de las entradas analógicas del Arduino para controlar la velocidad
a la que el LED insertado en placa del pin 13 parpadea.
Hardware necesario
• Placa Arduino
• Potenciómetro
• 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 potenciómetro. El segundo va a 5 voltios a la otra patilla exterior del potenciómetro.
La tercera patilla va a la entrada 0 analógica A0 desde el pin central del potenciómetro.
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 más larga (terminal positivo o ánodo), al pin digital 13, y
la más corta (terminal negativo, o cátodo) a la tierra (GND) próxima al pin 13. Debido a la pequeña
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
Página 1 / 4
2013
Ejemplos de Entradas/salidas analógicas
Traducido por: José Luis Lombardero, profesor de Tecnología
Código
Al principio de este programa, la variable sensorPin se establece en analógico y en el pin 0,
donde está conectado el potenciómetro, y ledPin se establece en el pin digital 13. También vamos
a crear otra variable, sensorValue para almacenar los valores leídos 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 analógico-digital o
ADC (Analogic to Digital Converter).
Al girar el eje del potenciómetro, cambia la cantidad de resistencia en cada lado de la patilla central
del potenciómetro. Esto cambia las resistencias relativas entre el pin central y los dos pines
externos, y le da una tensión diferente a la entrada analógica. Cuando el eje gira todo el camino en
una dirección, no hay resistencia entre el pin central y la conexión a tierra. La tensión en la patilla
central entonces es de 0 voltios, y analogRead() devuelve 0.
Cuando el eje gira todo el camino en la otra dirección, 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 número 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, más largo será el ciclo, a más pequeño el
valor, más corto es el ciclo.
A continuación veamos cómo queda el código del sketch:
Página 2 / 4
2013
Ejemplos de Entradas/salidas analógicas
Traducido por: José Luis Lombardero, profesor de Tecnología
/*
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 (Technology´s teacher) 24 Feb 2013
http://arduino.cc/en/Tutorial/AnalogInput
*/
int sensorPin = A0; // pin Analógico 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 varíe el ciclo de trabajo de encendido y apagado del LED
}
[Get Code]
Página 3 / 4
2013
Ejemplos de Entradas/salidas analógicas
Traducido por: José Luis Lombardero, profesor de Tecnología
Ver también:
•
•
•
•
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
Información obtenida del apartado 3. de la página oficial de Arduino, Tutoriales - Ejemplos:
http://arduino.cc/en/Tutorial/HomePage
Página 4 / 4
2013
Descargar