MULTIMETRO
MULTÍMETRO DIGITAL CON ARDUINO
INTEGRANTES:
Neyda Mamani Choque. Ø neydamamani@hotmail.com
Paola
Aguilar Paco ØPaoguilarpa17670@gmail.com
Pamela Paola Mamani Vallejos. Ø
Pame-99446@hotmail.com
Paola Gema
Mamani Janco. Øgemajancopaola@gmail.com
Cuarto semestre paralelo 4”A”- Electrónica Básica
Universidad Pública de El Alto UPEA
RESUMEN:
El tema está
referido a un multímetro y
es la unión de distintos instrumentos como ser: el óhmetro, el voltímetro y amperímetro.
Se sabe que el multímetro es un instrumento portátil y con la ayuda de una
PC o LAPTOP podremos cargar datos al Arduino para que pueda actuar como un
instrumento múltiple y podamos observar las medidas en el LCD.
Para ello se debe unir el LCD con el ARDUINO y esto nos servirá para que
los datos se muestren correctamente.
INTRODUCCIÓN:
El multímetro es un aparato de medición eléctrica que
reagrupa las funciones de un amperímetro (medidor de corriente), de un
voltímetro (medición de voltaje), en un óhmetro (medidor del valor de una
resistencia). Este instrumento es muy útil ya que facilita a obtener las
medidas; voltaje, corriente y tensión.
OBJETIVOS:
Objetivo
general:
Poner en
práctica los conocimientos adquiridos en electrónica aplicados al desarrollo de
un multímetro digital en la placa arduino.
Objetivo
específico:


Describir el proceso de desarrollo del
multímetro digital.
VOLTIMETRO:
Un voltímetro es
un instrumento de medición que se utiliza para medir la diferencia de
potencial eléctrico, también conocido como voltaje, entre dos
puntos en una corriente eléctrica. El voltaje se conoce como
la energía potencial eléctrica por unidad de carga, es responsable de la
conducción de una corriente de un electrón a otro electrón, por lo cual el voltímetro
necesita unos ciertos componente que tiene que conocer por lo cual un
voltímetro es aquel donde mide el voltaje de una pila ya que el arduino tiene
una capacidad de soportar unos 15 [v] como máximo ya que sería riesgoso
introducir más voltaje.
AMPERIMETRO:
El amperímetro es un aparato
de medida utilizado para medir la intensidad o corriente eléctrica. Para realizar el amperímetro
usaremos el mismo procedimiento que veremos en el voltímetro, ya que cumple la
misma función porque solo usaremos un mismo teorema que es sobre divisores de tensión.
De esta
manera usaremos los mismos materiales que el voltímetro solo con dos
resistencias y el código será prácticamente similar ya que de esta manera pueda
medir no solo voltímetro sino amperímetro al mismo tiempo.
OHMETRO:
El ohmímetro u óhmetro es un
dispositivo que sirve para medir resistencias. Como bien mencionamos el
multímetro se compone de los tres
instrumentos, por tanto construimos
estos instrumentos con la placa del arduino, con el fin de aplicar los
conocimientos adquiridos.
Para la última
parte del proyecto utilizaremos una resistencia de 220 ohm y utilizaremos un
divisor de tensión en la cual nuestra tensión de entrada será la tensión del
arduino que es 5v y la salida que será de 5V y teniendo esos valores podemos
despejar la ecuación para encontrar el valor de la segunda resistencia R2.
MATERIALES DE USO:
Los materiales
necesarios para desarrollar el multímetro digital consta de los siguientes
componentes electrónicos.
1. Arduino
mega.
2.
Pantalla de
LCD 16 x 2.
3.
Jumper cables.
4.
Un
potenciómetro
5.
Tester.
6.
Protoboard.
7.
Sensor de
temperatura y humedad (dht11)
8.
Resistencias.
9. Dipswitch.
Multímetro:
El
multímetro nos ayuda a medir continuidad, amperaje y voltaje que se lo puede
utilizar en muchas funciones para la medición de electricidad o no tenga
electricidad, ya que este aparato es de suma importancia en la electricidad
general.
CALCULOS REALIZADOS PARA LA
CONSTRUCCION DEL MULTIMETRO:
Para la realización del presente
proyecto se realizaron los siguientes cálculos de acuerdo a los rangos que se
proponen.
R1: 0 – 10V
R2: 0 – 30V
R3:
0 – 50V
Tomando
estos datos en cuenta, se procedió a realizar los siguientes cálculos:
R1: 0 – 10V
Datos:
V2 = voltaje
que va a recibir la entrada al arduino (máximo de 5v)
V2 = se utilizó
una resistencia de 220 ohmios.
R2: 0 – 30V
Datos:
V2 = Voltaje
que va a recibir la entrada de arduino (máximo de 5v).
V2 = Se utilizó
una resistencia de 220 ohmios.
VT = Voltaje
máximo del rango (30V.)
R1 = 0 – 50V
Datos:
V2 = Voltaje
que va a recibir la entrada de arduino (máximo de 5v)
V2 = Se utilizó
una resistencia de 22º ohmios.
VT = Voltaje
máximo del rango (50v.)
En el caso
de este rango, se debería aumentar un poco el valor de la resistencia, por que
de acuerdo al rango de tolerancia su valor pueden variar en más o menos; en el
caso de las resistencias la mayoría de veces es menor el valor de su capacidad
resistiva así que se le aumenta más o menos un 10% para que sea factible utilizar
en el máximo valor del rango de medición.
PROCEDIMIENTO:
En primera parte: desarrollaremos el armado de la pantalla LCD
con el arduino y con el protoboard.
* LCD RS a pin digital pin 12
* LCD Enable pin a pin digital 11
* D4 LCD pin a pin digital 5
* D5 LCD pin a pin digital 4
* LCD D6 pin al pin digital 3
* LCD D7 pin al pin digital 2
* LCD R/W pin a tierra
* Pin de VSS LCD a tierra.
* Pin de VCC LCD a 5V.
PROGRAMACION:
Es una placa de sencilla
contiene entradas y salidas simples y un entorno de desarrollo que implementa
el lenguaje de programación.
*programación *
#include<LiquidCrystal.h>
#include<DHT11.h>//LIBRERIA
PARA EL CENSOR DHT11
DHT11 dht11(10);//ESTO
ES PARA CENSOR DHT11
int Vin = 5; //ESTO ES
PARA OHM
float Vout = 0; //ESTO
ES PARA OHM
float R1 = 1000; //ESTO
ES PARA OHM
float R2 = 0; //ESTO ES
PARA OHM
float buffer = 0;
//ESTO ES PARA OHM
LiquidCrystal lcd(2, 3, 4, 5, 6,
7);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("****NEYDA****");
lcd.setCursor(0, 1);
lcd.print("* Y LAS PAOLAS *");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("ING. DE SISTEMAS");
lcd.setCursor(0, 1);
lcd.print("CUARTO SEMESTRE");
lcd.setCursor(0,0);
lcd.print("L<<<<<<<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>>>>>>>MU");
lcd.setCursor(0, 1);
lcd.print("AL<<<<<<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>>>>>>MUL");
lcd.setCursor(0, 1);
lcd.print("TAL<<<<<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>>>>>>MULT");
lcd.setCursor(0, 1);
lcd.print("ITAL<<<<<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>>>>>MULTI");
lcd.setCursor(0, 1);
lcd.print("GITAL<<<<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>>>MULTIM");
lcd.setCursor(0, 1);
lcd.print("IGITAL<<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>>MULTIME");
lcd.setCursor(0, 1);
lcd.print("DIGITAL<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>>MULTIMET");
lcd.setCursor(0, 1);
lcd.print("DIGITAL<<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>>MULTIMETR");
lcd.setCursor(0, 1);
lcd.print(">DIGITAL<<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>>>MULTIMETRO");
lcd.setCursor(0, 1);
lcd.print(">>DIGITAL<<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>>MULTIMETRO<<");
lcd.setCursor(0, 1);
lcd.print(">>>DIGITAL<<<<<<");
delay(100);
lcd.setCursor(0, 0);
lcd.print(">>>MULTIMETRO<<<");
lcd.setCursor(0, 1);
lcd.print(">>>>DIGITAL<<<<<");
delay(2000);
lcd.clear();
}
void loop() {
digitalWrite(22, HIGH);
digitalWrite(24, HIGH);
digitalWrite(26, HIGH);
digitalWrite(28, HIGH);
digitalWrite(30, HIGH);
int estado = 0;
int conexionA = 0;
int conexionB = 0;
int conexionC = 0;
int conexionD = 0;
int conexionE = 0;
if (digitalRead(22) ==
LOW) {
estado = 1;
conexionA = 1;
}
if (digitalRead(24) == LOW) {
estado = 2;
conexionB = 1;
}
if (digitalRead(26) == LOW) {
estado = 3;
conexionC = 1;
}
if
(digitalRead(28) == LOW) {
estado = 4;
conexionD = 1;
}
if (digitalRead(30) == LOW) {
estado = 5;
conexionE = 1;
}
int conexiontotal = conexionA + conexionB +
conexionC + conexionD + conexionE;
if (conexiontotal > 1)
{
estado = 6;
}
if (conexiontotal == 0)
{
estado = 7;
}
switch (estado) {
case (1): {
lcd.setCursor(0, 0);
lcd.print("***VOLTIMETRO***");
double sensorValue = analogRead(A0);
double voltaje = sensorValue / 29.86807388;
lcd.setCursor(2, 1);
if (voltaje >= 1000)
{
lcd.print(voltaje /
1000, 2);
lcd.setCursor(10, 1);
lcd.print("[KVol]");
}
else {
if (voltaje >= 1) {
lcd.print(voltaje, 2);
lcd.setCursor(10, 1);
lcd.print("[Vol]");
}
else {
if (voltaje <= 1) {
lcd.print(voltaje *
1000, 2);
lcd.setCursor(10, 1);
lcd.print("[mVol]");
}
}
}
delay(500);
lcd.clear();
break;
}
case (2): {
double corriente = (analogRead(0) * (0.00490f)) / (0.00001f); ///(0.01f)
lcd.setCursor(0, 0);
lcd.print("**
AMPERIMETRO**");
lcd.setCursor(2, 1);
if (corriente < 1000)
{
lcd.print(corriente, 2);
lcd.setCursor(10, 1);
lcd.print("[mAmp]");
}
else {
if (corriente <
1000000) {
lcd.print(corriente / 1000, 2);
lcd.setCursor(10, 1);
lcd.print("[Amp]");
}
else {
if (corriente <
1000000000) {
lcd.print(corriente / 1000000, 2);
lcd.setCursor(10, 1);
lcd.print("[kAmp]");
}
}
}
delay(300);
lcd.clear();
break;
}
case (3): {
double raw =
analogRead(A1);
buffer = raw * Vin;
Vout = (buffer) / 1024.0;
buffer = (Vin / Vout) - 1;
R2 = ((R1 * buffer) /
1.02520602) * 10;
lcd.setCursor(0, 0);
lcd.print("<-> OHMETRO
<->");
if (R2 < 1000) {
lcd.setCursor(2, 1);
lcd.print(R2, 2);
lcd.setCursor(10, 1);
lcd.print("ohm");
}
if (R2 < 1000000
&& R2 > 999) {
lcd.setCursor(2, 1);
lcd.print(R2 / 1000, 2);
lcd.setCursor(10, 1);
lcd.print("k ohm");
}
if (R2 < 1000000000 && R2 > 999999) {
lcd.setCursor(2, 1);
lcd.print(R2 / 1000000,
2);
lcd.setCursor(10, 1);
lcd.print("M
ohm");
}
delay(1000);
lcd.clear();
break;
}
case (4): {
int err;
float temp, hum;
if ((err = dht11.read(hum,
temp)) == 0)
{
lcd.setCursor(0, 0);
lcd.print("temp:");
lcd.setCursor(9, 0);
lcd.print(temp / 3);
lcd.setCursor(14, 0);
lcd.print("oC");
lcd.setCursor(0, 1);
lcd.print("humedad: ");
lcd.setCursor(9, 1);
lcd.print(hum / 3);
lcd.setCursor(14, 1);
lcd.print(" %");
}
else {
lcd.setCursor(5, 0);
lcd.print(err);
}
delay(1000);
lcd.clear();
break;
}
case (6): {
lcd.setCursor(0, 0);
lcd.print("DOS O MAS
SWITCH");
lcd.setCursor(0, 1);
lcd.print("HABILITADOS!!!!");
delay(500);
lcd.clear();
break;
}
default : {
lcd.setCursor(0, 0);
lcd.print("sin conexion");
char mensaje[26] = "HABILITA UN
SWITCH AHORA";
for (int i = 0; i < 25; i++) {
lcd.setCursor(0, 1);
for (int x = i; x < i
+ 16; x++) {
if ((int)x >= 25)
{
lcd.print(mensaje[x
- 25]);
}
else {
lcd.print(mensaje[x]);
}
}
delay(300);
}
lcd.clear();
break;
}
}
}
void parpadeo(int pin, int ms)
{
digitalWrite(pin, HIGH);
lcd.setCursor(0, 1);
delay(ms);
digitalWrite(pin, LOW);
}
CONCLUSIÓN:
La construcción del
multímetro en la placa arduino
sin duda, ha ayudado a poner en práctica los conocimientos adquiridos en
electrónica básica, como también los
conocimientos desarrollados en programación con arduino.
Por tanto, el desarrollo del proyecto muestra la funcionalidad de tres instrumentos de medida como es el
óhmetro, voltímetro y amperímetro.
REFERENCIAS:
http//lasonrizadelbien.blogspot.com/p/blog-page_8.html?m=1
VIDEO:
seguir el siguiente enlace: https://www.youtube.com/watch?v=gmJxn-rpQEo&feature=youtu.be
seguir el siguiente enlace: https://www.youtube.com/watch?v=gmJxn-rpQEo&feature=youtu.be
Comentarios
Publicar un comentario