
En la actualidad los sistemas analógicos están siendo reemplazados rápidamente por los sistemas digitales, sin embargo, esta transición no es del todo correcta, puesto que, existen ciertos componentes con señales analógicas que no pueden ser reemplazados por un sistema digital de 1 y 0, es por eso que te mostraremos cómo realizar la lectura de una señal analógica.
Título del proyecto: Lectura de una señal Analógica con potenciometro y Arduino.
Objetivo: Leer y comprobar la señal analógica proveniente de un potenciometro con la ayuda de un Led y una placa Arduino.
Explicación del proyecto: La placa Arduino leerá el valor analógico del potenciómetro en base a la regulación de voltaje entre 0 y 5 Volts, el led parpadeara dependiendo de el valor obtenido por la instrucción analogRead().
Nota 2: El proyecto puede ser replicado en cualquier modelo de placa Arduino, incluyendo las versiones genéricas.
Materiales necesarios (puedes comprarlos en nuestra tienda dando clic en los materiales de abajo):
- Un Arduino, se recomienda la placa Arduino Uno R3.
- 1 LED de 2 pines, el color puede ser al gusto del usuario.
- 1 resistencia de 10 K ohms
- Protoboar (Solo en caso de que quieras conectar el led a un protoboard para evitar conectarlo directamente en el Arduino).
- Cables (solo aplica si se utiliza un protoboard).
Desarrollo de la programación:
A continuación podrás observar la programación utilizada para desarrollar este proyecto, cada linea de programación posee un texto que especifica la que función cumple.
int LED = 13; int Boton = 7; int valor = 0; int contador = 0; int estadoanteriorboton = 0; void setup() { Serial.begin(9600); // Configura velocidad de transmisión a 9600 pinMode(LED, OUTPUT); // inicializa como salida digital el pin 13 pinMode(Boton, INPUT); // inicializa como entrada digital el 7 } void loop() { valor = digitalRead(Boton); // lee el valor de la entrad digital pin 7 digitalWrite(LED, valor); if(valor != estadoanteriorboton){ if(valor == 1){ contador++; Serial.print(contador); Serial.write(10); Serial.write(13); if (contador == 10) { contador = 0; } } } estadoanteriorboton = valor; }
Nota importante: Debido a que el Led se encuentra conectado al Pin 13 de nuestra placa Arduino, este no requiere ninguna resistencia extra, en caso de que se conecte en otro pin, se debe cambiar la programación y agregar una resistencia.
Circuito eléctrico de la practica:
A continuación puedes ver el circuito eléctrico de la practica, además de un pequeño esquema para que puedas analizar cual es la lógica que esta siguiendo tu placa Arduino en base a la programación establecida y el valor analógico del potenciómetro.
Se conectan tres cables a la tarjeta Arduino. El primero va a tierra desde el terminal 1 del potenciómetro. El terminal 3 va a la salida de 5 voltios. El terminal 2 va desde la entrada analógica #2 hasta el terminal interno del potenciómetro.
Girando el dial o ajustando el potenciómetro, cambiamos el valor de la resistencia variable. Esto produce oscilaciones dentro del rango de 5 y 0 voltios, que son capturados por la entrada analógica.
Conclusión y observaciones finales:
En esta practica pudimos observar muy por encima como se comporta un valor analógico, con respecto a una placa Arduino, ademas volvimos a utilizar la función delay pero ahora con el valor de una variable.
Poco a poco seguimos avanzando para realizar practicas más complejas, pronto les traeremos más proyectos.
Nombre del autor: Luis Antonio De La Cruz Reyes.
Rango en el Staff: Administrador y fundador
Descripción: Mi nombre es Luis, un egresado de la carrera de Ingeniería Electrónica, el motivo por el cual funde y cree esta página, fue para formar un sitio que recopilara todo lo que se va a prendiendo durante la carrera, con el fin de que este conocimiento no se perdiera y sea de utilidad para las futuras generaciones.
Hola, tenía la consulta de que la programación no sube al arduino por qué dice no declarado beninSerial, printInterger y serialWhite por qué pasa eso?
Hola y buenas tardes, el problema es de la programación, lo que sucede es que compilamos en un software antiguo de Arduino y el software actual ya no es compatible con algunas sentencias, acabo de actualizar el código con la versión más reciente del software Arduino y ya compila bien, le pido que lo pruebe y me avise si le ha funcionado (para ver los cambios puede compararlos con la programación que le da error).
estadoanteriorboton = valor; NO ME FUNCIONA Y ME DA ERROR