Los hogares suelen tener conexiones eléctricas de pospago. Desde el punto de vista del consumidor, las conexiones de pospago tienen la desventaja de que los consumidores no controlan el consumo de electricidad y, a menudo, se sorprenden cuando reciben facturas elevadas. La causa de las facturas elevadas no suele ser el elevado precio de la electricidad, sino el uso excesivo e inconsciente de la electricidad. Las conexiones eléctricas prepagas a menudo se sugieren como una solución viable a este problema. En una conexión eléctrica prepago, el consumidor necesitaría recargar la cantidad de electricidad que quiera consumir. En un sistema de este tipo, los contadores de electricidad domésticos deben estar equipados con un sistema que pueda reconocerse por la cantidad recargada por el consumidor y pueda contar el consumo de electricidad desde la cantidad recargada hasta cero. Cuando el medidor llegue a cero, la alimentación principal se cortará automáticamente y sólo podrá reiniciarse después de la siguiente recarga.
Fig. 1: Prototipo de estación de carga de electricidad prepago basada en Arduino
La estación de carga también enviará un mensaje de confirmación al número de móvil registrado del consumidor después de cada recarga. La estación de carga y el medidor de energía prepago se muestran conectados entre sí mediante un módulo RF en el proyecto, de modo que el medidor de energía prepago pueda enviar una alerta de cantidad de carga agotada a la estación de carga y la estación de carga pueda enviar un SMS al consumidor para vuelva a recargar pronto. Por tanto, desde el punto de vista del hardware, este sistema eléctrico prepago consta de los siguientes dispositivos:
1) Estación de carga de electricidad: un dispositivo integrado que puede registrar información de carga en un sistema de memoria. En pocas palabras, el sistema de memoria utilizado es un chip de memoria. Una versión comercial del sistema creado aquí podría contar con tarjetas inteligentes para facilitar las recargas eléctricas. La estación de carga también utiliza un módulo GSM/GPRS para enviar un mensaje de confirmación sobre cada carga exitosa y está conectada al medidor de energía prepago a través del módulo RF para recibir una alerta sobre la cantidad de carga agotada y la estación puede enviar un SMS para recargar pronto. Una versión comercial del sistema puede tener una estación de carga y un medidor de energía prepago conectados a través de Internet. Desafortunadamente, actualmente Internet no está disponible en todas partes ni es gratuito proporcionar dicho recurso en un avatar comercial de dicho sistema.
2) Dispositivo inteligente para almacenar la cantidad de recarga: el proyecto utiliza una tarjeta de memoria para demostrar el funcionamiento de un dispositivo de recarga inteligente. Una versión comercial del sistema puede tener tarjetas inteligentes.
3) Medidor de energía prepago: un dispositivo integrado que se puede integrar en medidores domésticos comunes para leer el monto de recarga y rastrear el consumo de energía en orden descendente hasta llegar a cero. El dispositivo es capaz de cortar las fuentes principales regulando las fuentes principales a través de un circuito de relé.
En el proyecto, la estación de carga eléctrica se construye alrededor de Arduino UNO y el medidor de energía prepago se construye alrededor de Arduino Mega. La tarjeta de memoria utilizada como alternativa a la tarjeta de recarga inteligente es la AT2402. La AT2402 es una tarjeta de memoria de 2Kb que se conecta a cualquier microcontrolador en la interfaz I2C. El IDE de Arduino se utiliza para escribir los bocetos de Arduino para la estación de carga y el medidor de energía prepago y el AVR Dude se utiliza para escribir códigos de programa en las placas del microcontrolador.
Componentes necesarios –
Para construir una estación de carga, necesitará los siguientes componentes:
• Arduino UNO
• Módulo GSM
•HT12D
• Módulo RF de 433 KHz
• Teclado de 4 interruptores
•LCD
• Reguladores de voltaje 7805/7812.
• Transformador de 12-0,2 amperios
• Resistencias de 1K ohmios
• Resistencia de 47 K ohmios
• Diodo IN4007
• Condensador de 4700 uF, 25 V
• Cable eléctrico
• Enchufe de dos clavijas
La tarjeta de memoria AT2402 se utiliza como dispositivo de carga inteligente. Para construir medidores de energía prepagos, necesitará los siguientes componentes:
•Arduino Mega
•LCD
• Codificador – HT12E
• Módulo RF de 433 KHz
• Contador de energía de 3.200 imp/kwh
• Comparador LM358
• PLOMO
• Relé de 12v
• Transistor BC547
• Diodo IN4007
• Resistencias de 1k ohmios
• Resistencia de 1M ohmios
• Subir para probar
• Bloque de terminales
• Cable eléctrico
• Enchufe de dos clavijas
Diagrama de bloques
Fig. 2: Diagrama de bloques de una estación de carga de electricidad prepago basada en Arduino
Conexiones de circuito
Estación de carga
La estación de carga está integrada en el Arduino UNO. Tiene una pantalla LCD y un teclado de 4 interruptores para la interacción humana. La tarjeta de memoria que almacena la información de recarga se puede conectar a la placa Arduino mediante el protocolo I2C implementado en los pines A4 y A5 de Arduino. La tarjeta está conectada a un módulo GSM para enviar SMS de confirmación de recargas exitosas y mensajes de alerta para la próxima recarga. La placa está interconectada con el circuito receptor de RF para que pueda conectarse al medidor de energía prepago y detectar un balance de energía bajo. El circuito que funciona como estación de carga tiene diferentes componentes y módulos conectados a la placa Arduino de la siguiente manera:
Pantalla LCD de 16X2: la pantalla LCD se utiliza para proporcionar una interfaz para la interacción humana y muestra mensajes que guían al usuario para recargar el uso de electricidad. Se conecta a la placa Arduino conectando sus pines de datos a los pines 3 a 6 de la placa Arduino. Los pines RS y E de la pantalla LCD están conectados a los pines 13 y 12 del Arduino UNO respectivamente. El pin LCD RW está conectado a tierra.
Fig. 3: Tabla que enumera las conexiones del circuito entre Arduino Uno y el LCD de caracteres
En el proyecto se utiliza la biblioteca estándar de código abierto para interconectar LCD con Arduino UNO. La biblioteca funciona como se esperaba y no necesita cambios ni modificaciones.
Teclado de 4 interruptores: los interruptores táctiles se utilizan para formar el teclado. Hay cuatro interruptores en el teclado que están conectados a los siguientes pines con ciertas funciones asignadas a ellos:
Fig. 4: Tabla con los pines de Arduino y sus funciones en la Estación de Carga de Electricidad Prepago
Los interruptores están conectados entre tierra y los pines de Arduino. Los pines de Arduino de forma predeterminada están conectados a VCC y reciben lógica ALTA. Al presionar un botón táctil, el pin Arduino respectivo sufre un cortocircuito a tierra y recibe una lógica BAJA.
Módulo GSM: el módulo GSM tiene cuatro pines: Tx, Rx, Vcc y GRND. Los pines Tx y Rx están conectados a los pines número 9 y 10 del Arduino UNO respectivamente. Los pines 9 y 10 están declarados como puerto serie virtual en el boceto de Arduino para comunicar datos con el módulo. Los pines VCC y Tierra del módulo están conectados al pin 5V DC y GRND de la placa Arduino UNO. Se utiliza una fuente de alimentación externa de 18 V para alimentar el módulo GSM.
Receptor de RF: el receptor de RF se utiliza para recibir una alerta de balance de energía bajo de medidores de energía prepagos. El módulo receptor de RF tiene 8 pines y la siguiente configuración de pines:
Fig. 5: Tabla que enumera la configuración de pines del receptor de RF
La salida de datos en serie del receptor de RF está conectada al pin 16 del IC del decodificador HT12D.
IC decodificador HT12D: el receptor de RF detecta la señal que transporta la alerta de equilibrio de potencia bajo y la pasa al decodificador HT12D. Convierte datos en serie nuevamente en datos paralelos después de separar datos y direcciones. El HT12D pertenece a la serie 212 de decodificadores y se puede emparejar con la serie 212 de codificadores con la misma cantidad de direcciones y formato de datos. El HT12D es capaz de decodificar 12 bits, de los cuales 8 son bits de dirección y 4 son bits de datos. El byte de dirección del IC decodificador debe ser el mismo que el del IC codificador para que coincida con los circuitos transmisor y receptor. En el diseño, el byte de dirección de los módulos receptor y transmisor está ajustado a 0x00. Se conecta una resistencia de 47 KΩ entre los pines 14 y 15 del decodificador IC para igualar la frecuencia de RF. El pin 17 se llama transmisión válida y tiene un LED conectado a través de una resistencia de 1 KΩ para indicar si el transmisor RF del medidor de energía prepago está emparejado con el receptor o no. Sólo se rastrea el bit de datos D0 del decodificador para detectar la señal de advertencia. El bit D0 del IC decodificador está conectado al pin 7 del Arduino UNO.
EEPROM externa: AT24C02 es la EEPROM externa que se utiliza como dispositivo de carga inteligente. El IC de 8 pines tiene la siguiente configuración de pines:
Fig. 6: Tabla que enumera la configuración de pines de la EEPROM externa AT24C02
Los pines 5 y 6 de la EEPROM del IC se conectan a los pines A4 y A5 del Arduino, donde A4 está configurado para SDA y A5 está configurado para SCL. Los pines 1, 2 y 3 de la EEPROM IC están conectados a tierra, ya que en un momento dado la estación de carga solo tendrá una única EEPROM conectada. Los pines se utilizan para direccionar EEPROM individuales cuando varias EEPROM se conectan a un solo microcontrolador al mismo tiempo.
Fuente de alimentación: se utiliza un transformador reductor para convertir 230 VCA a 18 VCA y, utilizando un puente rectificador completo y un condensador, se convierte a 18 VCC. Estos 18 VCC se convierten a 12 VCC mediante un regulador de voltaje 7812 y se suministra al pin Vin de la placa Arduino UNO. Los 18 V CC se suministran al módulo GSM. Todos los demás circuitos integrados y módulos funcionan con 5 V CC de la placa Arduino.
Dispositivo de carga inteligente
El IC EEPROM AT24C02 sirve como dispositivo de carga inteligente en el proyecto. En pocas palabras, se utiliza como alternativa a las tarjetas inteligentes. La EEPROM IC almacena la información de carga y se puede conectar a la estación de carga y al medidor de energía prepago.
Medidor de energía prepago
El circuito desarrollado debe conectarse entre las cargas y la salida del neutro de un medidor de energía eléctrica común. Cuando una carga se enciende y comienza a consumir electricidad, la corriente también pasará por el medidor de energía prepago. El dispositivo tendrá un circuito LDR configurado para detectar el consumo de electricidad al detectar el parpadeo del LED Imp/kWh en el panel frontal del medidor electrónico de energía y activará un circuito de relé para cortar el suministro al extremo del cable neutro cuando el equilibrio del uso de energía de recarga está agotado. El dispositivo tendrá una ranura para conectar EEPROM para leer y disminuir el saldo de recarga y tendrá una pantalla LCD para mostrar el equilibrio de uso de energía actual que disminuye con el consumo de energía. El dispositivo tiene un circuito transmisor de RF para conectarse a la estación de carga y enviar una alerta de saldo de uso restante bajo. El circuito está construido en Arduino Mega y tiene diferentes componentes y módulos conectados a la placa de la siguiente manera:
Pantalla LCD 16X2: la pantalla LCD se utiliza para mostrar el saldo restante del uso de energía. Se conecta a la placa Arduino conectando sus pines de datos a los pines 3 a 6 de la placa Arduino. Los pines RS y E de la pantalla LCD están conectados a los pines 13 y 12 del Arduino UNO respectivamente. El pin LCD RW está conectado a tierra.
Fig. 7: Tabla que enumera las conexiones del circuito entre Arduino Uno y el LCD de caracteres
En el proyecto se utiliza la biblioteca estándar de código abierto para interconectar LCD con Arduino MEGA. La biblioteca funciona como se esperaba y no necesita cambios ni modificaciones.
EEPROM externa: la EEPROM externa se conectará al dispositivo y al Arduino MEGA en la interfaz de dos cables. Los pines 5 y 6 de la EEPROM del IC se conectan a los pines 20 y 21 del Arduino Mega respectivamente, donde el pin 20 de la placa está configurado para SDA y el pin 21 está configurado para SCL.
Circuito de relé: se utilizará un relé de 12 V 2 A para controlar las fuentes principales. Las cargas se conectarán entre el cable de fase y el pin NO del relé. El cable neutro se conectará nuevamente a un medidor de electricidad normal a través del punto COM. Cuando se agota el equilibrio del uso de energía, el microcontrolador enviará una lógica ALTA al circuito del transistor de conmutación BC547. El circuito del transistor cortocircuitará un extremo de la bobina a tierra, mientras que el otro extremo de la bobina recibe un suministro de 12 V, disparando el relé al punto NC.
Sensor LDR: el sensor LDR se colocará junto antes del LED Imp/kWh en el panel frontal del EEM normal. Un sensor LDR cambia su resistencia según la intensidad de la luz. Cuando la luz incide sobre el LDR, su resistencia permanece baja, mientras que cuando no hay luz, su resistencia es alta. El sensor LDR está conectado al pin 2 no inversor del comparador de voltaje LM358, mientras que el voltaje en el pin 3 inversor del LM358 pasa a través de una resistencia variable. El LED Imp/KWH en el panel frontal del EEM parpadea una cierta cantidad de veces según la clasificación de Impulso/KWH cuando el consumo de electricidad leído por el medidor excede 1KWH a la vez. De forma predeterminada, el LDR tiene baja resistencia y cuando el LED Imp/kWh en el panel frontal del EEM parpadea, su resistencia aumenta. La diferencia entre el voltaje inversor y no inversor se pasa desde el pin de salida 1 del comparador al pin analógico A0 del Arduino.
Transmisor de RF: el transmisor de RF se utilizará para transmitir un mensaje de advertencia de bajo equilibrio de potencia al circuito receptor. El módulo transmisor de RF es un pequeño subconjunto de PCB. La configuración de pines del módulo transmisor es la siguiente:
Fig. 8: Tabla que enumera la configuración de pines del transmisor de RF
Los datos serializados del codificador se reciben en el pin 2 del módulo y se pasan a la antena desde el pin 4 del módulo.
HT12E IC: el HT12E IC convierte los datos paralelos en datos en serie para pasarlos al transmisor de RF. El codificador IC HT12E pertenece a la serie 212 de codificadores. Se combina con decodificadores de la serie 212 con la misma cantidad de direcciones y formato de datos. El HT12E es capaz de codificar 12 bits, de los cuales 8 son bits de dirección y 4 son bits de datos. Por lo tanto, la señal codificada son datos paralelos serializados de 12 bits compuestos por datos de 4 bits que se transferirán adjuntos al byte de dirección. Para configurar la frecuencia del oscilador, se conecta una resistencia de 1 MΩ entre los pines 15 y 16 del codificador IC HT12E. Solo es necesario utilizar el bit de datos D0 del codificador para enviar una alerta de equilibrio de energía bajo a la estación de carga. Entonces el bit D0 del codificador IC está conectado al pin 7 de Arduino MEGA.
Fuente de alimentación: se utiliza un transformador reductor para convertir 230 VCA a 18 VCA y, utilizando un puente rectificador completo y un condensador, se convierte a 18 VCC. Estos 18 VCC se convierten a 12 VCC mediante un regulador de voltaje 7812 y se suministran al pin Vin de la placa Arduino UNO y al relé. Los 18V DC se convierten a 5V DC usando el regulador de voltaje 7805 que se suministra al resto de componentes.
Cómo funciona el proyecto
Un consumidor primero necesita recargar energía. Tiene EEPROM IC como dispositivo de recarga de energía inteligente. Para recargar, debe conectar la tarjeta de memoria a la estación de carga y presionar el botón conectado al pin A2 del Arduino UNO. Al presionar el botón, se le pedirá al consumidor que seleccione un monto de recarga mediante mensajes parpadeantes en la pantalla LCD. Habrá siete paquetes de recarga disponibles por valor de 2, 5, 7, 9, 12, 15 y 17 rupias. El consumidor puede navegar al orden ascendente de los paquetes de recarga presionando el botón conectado al pin A1 del Arduino UNO, mientras que puede navegar al orden descendente de los paquetes de recarga presionando el botón conectado al pin A0 del Arduino UNO . Al navegar al paquete de recarga deseado, el consumidor puede confirmar la recarga presionando el botón conectado al pin A3 del Arduino UNO. A medida que el usuario presiona el botón conectado al pin A3 del Arduino UNO, el valor de recarga se guarda en la ubicación 1 de la dirección B01010000 en la EEPROM y las unidades de energía eléctrica se recargan en términos del número de parpadeos del LED Imp/kWh encendido. el panel frontal de EEM se guardan. Se envía un mensaje al consumidor confirmando la información de recarga a través del módulo GSM.
El consumidor debe retirar la tarjeta de memoria y cargarla para conectar el medidor de energía prepago. Una vez que la tarjeta de memoria está conectada al medidor de energía prepago, el circuito del medidor de control Arduino MEGA lee la cantidad de recarga de la EEPROM y continúa suministrando energía cambiando el relé. El saldo de la recarga se muestra en el panel LCD del contador de energía prepago. El consumo de energía eléctrica disponible se calcula mediante el número de parpadeos del LED Imp/KWH en el EEM. El Arduino Mega espera a que el LED Imp/kWh del panel frontal del EEM parpadee y con cada parpadeo compara el voltaje analógico detectado en su pin A0, el cual se convierte a una medida digital con un valor calibrado. El valor calibrado para comparar con el valor ADC se estableció en 300 durante las pruebas de diseño. Siempre que el LED Imp/kWh en el panel frontal del EEM parpadea, la resistencia LDR aumenta en el circuito divisor de potencial al aumentar el voltaje no inversor y se detecta un voltaje más alto en el pin 1 del IC comparador LM358. Así, como la tensión detectada y digitalizada del A0 del Arduino MEGA supera el valor de referencia 300, se registra un único parpadeo del LED Imp/kWh en el panel frontal del EEM y se registra una variable en el código del programa que contiene el número de unidades recargadas. en el formulario El número de parpadeos o pulsos se reduce en uno.
Los EEM vienen con una clasificación de Impulso/KWH. Esta clasificación significa que el LED Imp/kWh del EEM parpadeará la cantidad de veces indicada cuando se consuma 1 KWH o 1 unidad de electricidad. Como si hubiera una carga de 100 Watts, consumirá 100 Watts en una hora. En 10 horas consumirá 1 KW de electricidad. Por tanto, en 10 horas, una carga de 100 Watts consumirá 1KWH o 1 unidad de electricidad. Si se indica un EEM con una potencia de 1600 pulsos/KWH, con un consumo de 1 KWH o 1 unidad de electricidad, su LED Imp/kWh en el panel frontal parpadeará 1600 veces. El EEM normal utilizado en las pruebas de diseño tenía una potencia nominal de 3200 empuje/KWH. Esta clasificación puede variar desde 800 impulsos/KWH hasta 3600 impulsos/KWH. Sin embargo, los medidores con capacidad de 1000 pulsos/KWH están ganando popularidad hoy en día.
La clasificación del medidor debe ser confirmada y conocida para escribir el código Arduino para calcular el consumo de energía y deducir el saldo. Para probar la clasificación real de impulso/KWH del medidor, se debe conectar una carga de potencia fija al medidor y suministrarle energía durante un minuto. Se debe calcular el número de destellos en un minuto durante el suministro a la carga.
La potencia de carga está relacionada con la clasificación del medidor mediante la siguiente fórmula:
Potencia de carga en KW = 3600/(Clasificación del medidor en impulso/KWH * Segundos por destello)
Los segundos por destello se relacionan con los parpadeos por minuto de la siguiente manera:
segundos por destello = 60/parpadeos por minuto
Entonces,
Potencia de carga en KW = (3600 * destellos por minuto)/ (Clasificación del medidor en impulso/KWH * 60)
Potencia de carga en KW = (60* destellos por minuto)/Clasificación del medidor en impulso/KWH
Si la potencia de la carga se conoce en Watts, entonces,
Potencia de carga en vatios = (60* destellos por minuto*1000)/Clasificación del medidor en impulso/KWH
A partir de la ecuación anterior, la clasificación del medidor se puede confirmar mediante las fórmulas:
Clasificación del medidor en impulso/KWH = (60* destellos por minuto*1000)/ Potencia de carga en vatios
El EEM utilizado durante las pruebas de diseño tenía una potencia nominal de 3200 pulsos/KWH mencionada en él. Al encender una lámpara de 100 vatios durante intervalos de 1 minuto, se recibió un promedio de 5.333 parpadeos. Poniendo los valores en la ecuación de arriba –
Clasificación del medidor en impulso/KWH = (60 * 5,333 * 1000)/100
= 3199,8
Por lo tanto, se confirmó que la potencia del medidor era de 3200 pulsos/KWH. El mismo número de parpadeos equivaldrá a 1 KWH o 1 unidad de consumo eléctrico.
El boceto Arduino del medidor de energía prepago detecta los parpadeos y ejecuta un contador en orden descendente, midiendo el consumo de cada 1 kWh o unidad de electricidad en 3.200 parpadeos o pulsos. Cuando el consumo de electricidad disponible se deja en el 30 por ciento, Arduino Mega aumenta el bit D0 del decodificador de RF, enviando una confirmación de equilibrio de energía baja a la estación de carga. Al detectar el bit D0 alto en el codificador de RF, el Arduino UNO en la estación de carga se encuadra y envía un mensaje de alerta al consumidor utilizando el módulo GSM/GPRS. El consumidor necesita recargar antes de que se agote el saldo de energía disponible. Si se agota el equilibrio de energía disponible, Arduino Mega acciona el contactor del relé al punto NC cortando la fuente de alimentación principal. La energía principal se reanuda a medida que el balance de energía se recarga y el medidor lee desde la EEPROM recargada.
guía de programación
Boceto Arduino de la estación de carga.
El código del programa se ejecutará en Arduino UNO. En el código del programa, primero se importan las bibliotecas de código abierto estándar de Arduino para la interfaz con la pantalla LCD, el puerto serie virtual y la comunicación serie.
#incluirCódigo fuente del proyecto
###
//Programa para #incluir#incluir #incluir LiquidCrystal lcd(13, 12, 6, 5, 4, 3);// Pines utilizados para RS,E,D4,D5,D6,D7 SoftwareSerial mySerial(9, 10); // RX, TX int b1 = A0; // Pulsador usado como * y < en el pin A0 int b2 = A1; // Pulsador usado como > en el pin A1 int b3 = A2; // Pulsador usado como SALIDA en el pin A2 int b4 = A3; // Pulsar el botón usado como # y guardar en el pin A3 intRFin=7; int bS1 = 0; intbS2 = 0; intbS3 = 0; intbS4 = 0; intbS5 = 0; int teriff(7) = { 2,5,7,9,12,15,17}; int i=0,j=0,k=0,l=0,m=0,puls=0,pos=0; bytes de rupias(8) ={ 0b00000, 0b11111, 0b00100, 0b11111, 0b00100, 0b01000, 0b00100, 0b00010 }; void eeprom_i2c_write(dirección de byte, byte de_dirección, byte de datos) { Wire.beginTransmission(dirección); Wire.write(from_addr); Cable.write(datos); Wire.endTransmission; } byte eeprom_i2c_read(int dirección, int from_addr) { Wire.beginTransmission(dirección); Wire.write(from_addr); Wire.endTransmission; Wire.requestFrom(dirección, 1); si (Cable.disponible) devolver Wire.read; demás devolver 0xFF; } configuración nula { miSerial.begin(9600); Cable.comenzar; Serie.begin(9600); pinMode(b1, ENTRADA); pinMode(b2, ENTRADA); pinMode(b3, ENTRADA); modopin(b4, ENTRADA); pinMode(RFin, ENTRADA); lcd.comenzar(16,2); lcd.setCursor(0,0); lcd.print("Garaje de ingenieros"); lcd.setCursor(0,1); lcd.print("EM PREPAGO"); retraso(3000);lcd.clear; } bucle vacío { bS1 = lectura digital(b1); bS2 = lectura digital(b2); bS3 = lectura digital(b3); bS4 = lectura digital(b4); bS5 = lectura digital(RFin); escritura digital(RFin,0); lcd.setCursor(0,0); lcd.print("**PARA RECARGAR**"); lcd.setCursor(0,1); lcd.print("PULSE SÍ* "); si(bS3==BAJO){ pos=20; lcd.claro;} si(bS1==BAJO){ lcd.claro; int r = eeprom_i2c_read(B01010000, 1); int s = eeprom_i2c_read(B01010000, 2); lcd.setCursor(0,0); lcd.print("CANTIDAD RECARGADA"); lcd.setCursor(6,1); imprimirDígitos2(r); lcd.setCursor(9,1); imprimirDígitos2(s); mientras(1){ retraso(3000);retraso(3000); lcd.claro; romper; } } si(bS5==ALTO){ lcd.setCursor(0,0); lcd.print("DETECCIÓN DE CANTIDAD BAJA"); lcd.setCursor(0,1); lcd.print("PLS RECARGA"); SMS de alerta baja; lcd.claro; } mientras(pos==20){ bS1 = lectura digital(b1); bS2 = lectura digital(b2); bS3 = lectura digital(b3); bS4 = lectura digital(b4); lcd.setCursor(0,0); lcd.print("CANTIDAD DE RECARGA"); lcd.createChar(1,rupias); lcd.setCursor(6,1); lcd.escribir(1); si(bS1==BAJO && pos==20){ si(i>0){ i--; retraso(400); } } si(bS2==BAJO && pos==20){ si(yo<6){ yo ++; retraso(400); } } lcd.setCursor(8,1); printDigits2(teriff(i)); si(bS4==BAJO && pos==20){ lcd.claro; pos=1; lcd.setCursor(3,0); lcd.print("CANTIDAD"); lcd.createChar(1,rupias); lcd.setCursor(10,0); lcd.escribir(1); lcd.setCursor(12,0); printDigits2(teriff(i)); lcd.setCursor(0,1); lcd.print(" SÍ* NO# "); retraso(500); mientras(pos==1){ bS3 = lectura digital(b3); bS4 = lectura digital(b4); si(bS3==BAJO && pos==1){ eeprom_i2c_write(B01010000, 1, teriff(i)); retraso(200); pos=30; lcd.claro; romper; } si(bS4==BAJO && pos==1){ lcd.claro; romper; } } } } mientras(pos==30){ byte r = eeprom_i2c_read(B01010000, 1); lcd.setCursor(0,0); lcd.print("RECARGAR "); lcd.createChar(1,rupias); lcd.setCursor(10,0); lcd.escribir(1); lcd.setCursor(12,0); printDigits2(teriff(i)); recargarAlertSMS; pulso=(3200*r)/6; //6 rupias por unidad de supuesto eeprom_i2c_write(B01010000, 2,puls); Serial.print(puls); para(j=0;j<16;j++){ lcd.setCursor(j,1); lcd.imprimir("*"); retraso(500); } lcd.setCursor(0,1); lcd.print(" ¡¡¡HECHO!!! "); retraso(3000);retraso(3000); lcd.claro; pos=40; romper; } } void printDigits2(int digits) //esta función void es realmente útil; agrega un "0" al comienzo del número, de modo que 5 minutos se muestren como "00:05:00", en lugar de "00:5:00". { si(dígitos < 10) { lcd.imprimir("0"); lcd.print(dígitos); } demás { lcd.print(dígitos); } } anular lowAlertSMS { retraso(100); mySerial.println("AT+CMGF=1"); //Configura el módulo GSM en modo texto retraso(1000); // Retraso de 1000 milisegundos o 1 segundo mySerial.println("AT+CMGS="+917357187588"r"); retraso(100); mySerial.println("BAJO SALDO POR FAVOR CAMBIAR");// El texto SMS que desea enviar retraso(100); mySerial.println((char)26);// código ASCII de CTRL+Z retraso(1000); bucle; } anular rechazarAlertSMS { retraso(100); mySerial.println("AT+CMGF=1"); //Configura el módulo GSM en modo texto retraso(100); // Retraso de 1000 milisegundos o 1 segundo mySerial.println("AT+CMGS="+917357187588"r"); retraso(100); mySerial.print("Rechange Done, MRP:Rs.");// El texto SMS que desea enviar retraso(100); mySerial.print(teriff(i)); retraso(100); miSerial.print("n"); retraso(100); mySerial.println("Utilice la electricidad de forma inteligente para evitar el aumento de costes."); retraso(100); mySerial.println((char)26);// código ASCII de CTRL+Z retraso(1000); } ###
Diagramas de circuito
| Diagrama de circuito-estación de carga de electricidad basada en Arduino-Medidor de energía prepago | ![]() |
