Monitor Bateria OLED

Dependencies:   mbed ssd1306_library

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // Monitoramento de Carga e Descarga de uma bateria selada
00002 
00003 #include "mbed.h"
00004 #include "ssd1306.h"
00005 
00006 
00007 AnalogIn tensao(A0);
00008 AnalogIn corrente (A1);
00009 DigitalOut led(D2);
00010 //Serial pc(USBTX, US BRX);
00011 float v_lido ; // Variável que recebe o valor de tensão
00012 float a_lido ; // Variável que recebe o valor de corrent
00013 
00014 
00015 
00016 
00017 
00018 
00019 SSD1306 lcd (D14, D15); // assumes default I2C address of 0x78
00020 
00021 
00022 
00023 int main()
00024 {
00025 
00026 
00027 //***********************Iniciaçização Display********************************//
00028 
00029     lcd.speed (SSD1306::Medium);  // set working frequency
00030     lcd.init();
00031     lcd.set_contrast(200);
00032     lcd.cls();                    // clear frame buffer
00033     lcd.locate (1,0);                 // set text cursor to line 3, column 1
00034     lcd.printf (" MONITOR BATERIA"); // print to frame buffer
00035     
00036 //*********************Calculo Divisor AD8210*********************************//
00037     while(1) {
00038         v_lido= tensao;
00039         a_lido = corrente;
00040         v_lido = (v_lido*4.0)*3.3; // O valor 4.0 é realação entre a tensão de entrada (12V) com a tensão que foi calculada no divisor de tensão que é 3V
00041         a_lido =(a_lido*3.3)/1.375; // O valor de 1.375 é a razão(resistência) entre a tensão Vshunt (3.6 V) com a corrente do circuito (2.4 A)
00042         
00043 //******************************************************************************
00044 
00045 
00046 
00047 
00048         lcd.locate (3,0);
00049         lcd.printf ("VOLTS: %1.2f",v_lido); // print to frame buffer
00050         
00051         lcd.locate (5,0);
00052         lcd.printf ("Corrente: %1.2f",a_lido); // print to frame buffer
00053         
00054         wait(0.5);
00055         
00056         lcd.redraw();
00057         }
00058        
00059 }
00060 
00061