Funcionamiento
de un voltímetro digital con la placa Arduino Uno
La placa Arduino UNO contiene
6 canales convertidores análogos a
digital con una resolución máxima de 10 bits. Esto
significa que si el voltaje de entrada se encuentra entre 0 y 5 voltios, la
respectiva conversión a digital equivaldrá a un número entero entre 0 y 1023. Esto produce una resolución de las
lecturas de 5 voltios / 1024 = 0 .0049 voltios (4,9 mV) por unidad. El rango de entrada y la resolución se
puede cambiar con la función analogReference ().
Se tarda
aproximadamente 100 microsegundos (0,0001 s) para leer una entrada analógica,
por lo que la velocidad de lectura máxima es aproximadamente 10.000 veces por
segundo.
Figura
1. Medición del voltaje en un potenciómetro
Cuando una resistencia
variable se conecta como en la figura 1 (una terminal fija a +Vcc,
la otra terminal fija a tierra y la terminal central libre), al variar la
posición (y por ende, de la resistencia) en la terminal central, estaremos
variando el voltaje de salida en la terminal central de la resistencia variable
en un rango entre 0 y +Vcc. Cuando nosotros conectamos la terminal
central de un potenciómetro como el de la figura 1, a un microcontrolador con
capacidad de convertir sus valores de entrada de un formato análogo a digital,
estaremos procesando la data de un formato a otro (de análogo a binario).
Por medio de nuestro
programa en C, logramos que Arduino UNO pueda presentar el valor en voltios de
entrada transformado a digital en un display LCD y/o en la pantalla de una pc
por medio de una aplicación llamada Monitor. En la figura 2, se muestra un
diagrama esquemático del voltímetro digital con pantalla display lcd
.
.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXYxGcXtK8lMl37AL9EWDBWziWT1KAPNJGD5TX5uaIncl8XS3xg64WzrX60JVPV7mQqrftTICAaMVuKoxNDNIVwuv6LLQsGOMec8XgVD-fqzzLYf1sEKgGbmLc2bO7c7YdBAJAC6U5klU/s1600/digrama.png)
Figura
2. Esquemático del voltímetro digital
El display LCD empleado
es de 2 filas por 16 columnas. En la figura 2 se muestra el diagrama de sus
pines y de sus funciones (entradas de alimentación, tierra, datos,
lectura/escritura, habilitación, etc).
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB7pPOa24ZO1v9vOH4NlUKOwRXakDCyRm2ukLcuRVQVS6wlYeYe_gDPW0BmYgQoC6RaamNWLCUXjM9bvvH4amGux-OMP0Ts0OJvaiP_srD2f5KtTTaQPVzEjTdZEkqYBbFy1kQHF48j64/s1600/A.png)
Figura
3. Diagrama funcional del display led de 2 filas por 16 columnas
Vídeo de Implementación Del Proyecto Final : Johanna’s trip to Ciudad de Panamá (near Panama City) was created with TripAdvisor TripWow!
Programa para la aplicación de
medición de voltaje
A continuación se presenta el código en C que realiza
la medición del voltaje de entrada, lo presenta en un display LCD y en el
monitor serial de una PC para su visualización.
/*
Este programa lee un voltaje de
entrada entre 0 y 5V por medio de
un convertidor análogo a digital
que tiene una resolución de 10 bits
y presenta la lectura en un
display LCD y en el monitor serial de Arduino
*/
void setup() {
Serial.begin(9600); // se
abre un puerto serial con una velocidad de 9600bps:
}
void loop() {
// se lee el canal análogo 0 en el Arduino Uno:
int sensorValue = analogRead(A0);
// Se convierte la lectura de entrada de voltaje (que se encuentra en un
rango de 0 - 1023)
// a voltaje (en un rango de 0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// Se imprimen los valores de voltaje en formatos decimal y binario:
// se imprimen las etiquetas correspondientes
Serial.print("Mediciones de Voltaje de Entrada");
Serial.println("");
// se imprime un "retorno del carro"
Serial.print("DECIMAL");
Serial.print("\t");
Serial.print("\t");
Serial.print("\t");
Serial.print("BINARIO");
Serial.print("\t");
Serial.println("");
// se imprime un "retorno del carro"
Serial.print(voltage, DEC); //
se imprime el resultado en formato decimal
Serial.print("\t");
// se imprime un tabulador para separar las columnas
Serial.print("\t");
Serial.print(sensorValue, BIN);
// se imprime el resultado en formato binario en formato de 10 bits
delay(900); //
se adiciona un retarno de 0.9 segundos para visualizar los datos
Serial.println("");
// se imprime un "retorno del carro" para imprimier nuevos
valores
Serial.println("");
// se imprime un "retorno del carro" para imprimier nuevos
valores
}
Figura 4. Presentación de las mediciones de
voltaje en el monitor serial del Arduino UNO
Listado
de piezas
Ítem
|
Descripción
|
Cantidad
|
Precio
Unitario
|
Subtotal
|
1
|
Tarjeta
Arduino UNO SMD
|
1
|
B/. 30.00
|
B/. 30.00
|
2
|
Joystick
(potenciómetro)
|
1
|
B/. 3.50
|
B/. 3.50
|
3
|
Display
LCD
|
1
|
B/. 10.50
|
B/10.50
|
4
|
Placa
de prueba Arduino
|
1
|
B/. 18.00
|
B/. 18.00
|
5
|
Cables
de Conexión
|
13
|
B/. 0.50
|
B/. 6.50
|
Subtotal
|
B/. 68.50
|
|||
ITBM
|
B/. 4.80
|
|||
Total
|
B/. 73.30
|
hola, me interesa el sistema que has creado, me podrías mandar los plano del voltímetro??
ResponderEliminar