Facebook
From Bruno Lemes, 4 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 182
  1. #include "EmonLib.h"      // biblioteca do sensor
  2. #include <PCD8544.h>      // biblioteca do lcd
  3.  
  4. #define PIN_LCD_BL 27
  5. #define BAUD_RATE 115200
  6. #define DEFAULT_CONTRAST 65
  7.  
  8.   static PCD8544 lcd;
  9.  
  10.   EnergyMonitor SCT013;     //representa o objeto(sensor)função da biblioteca para
  11.                             //calibração
  12.   int sensorSCT = 13;    //Pino analógico da esp32 conectado o SCT-013
  13.   int offset = 0;
  14.  
  15.   int tensao = 127;   //tensão de trabalho
  16.   int potencia;       //varíavel para armazenamento
  17.  
  18.   void setup()
  19. {
  20.     SCT013.current(sensorSCT, 34);     //função da biblioteca pra calibração
  21.     Serial.begin (BAUD_RATE);
  22.      
  23.     lcd.begin(84,48);                  // inicializa a biblioteca
  24.     pinMode(PIN_LCD_BL,OUTPUT);
  25.     digitalWrite(PIN_LCD_BL,HIGH);
  26.     lcd.setContrast(DEFAULT_CONTRAST); // luminosidade da lcd
  27.    
  28. }
  29.  
  30. void loop()
  31. {
  32.     double Irms = SCT013.calcIrms(1480);   // Calcula o valor da Corrente
  33.                   // varíavel de armazenamento
  34.                   //(1480) números de amostra que o pino irá realizar                        
  35.      
  36.     potencia = Irms * tensao;          // Calcula o valor da Potencia Instantanea    
  37.  
  38.  
  39.        
  40.     lcd.setCursor(0,0);
  41.     lcd.print("Volts.= ");
  42.     lcd.print(127);
  43.     lcd.print(" V.\r");
  44.    
  45.     lcd.setCursor(0,2);
  46.     lcd.print("Amp.= ");
  47.     lcd.print(Irms);
  48.     lcd.print(" A.\r");
  49.    //Serial.print(Irms*127.0);        
  50.    //Serial.print(" ");
  51.    //Serial.println(Irms);          
  52.  
  53.     lcd.setCursor(0,4);
  54.     lcd.print("Pot.= ");
  55.     lcd.print(potencia);
  56.     lcd.print(" W.\r");
  57.  
  58.    
  59.     delay(1000);
  60. }