Monitor Bateria OLED
Dependencies: mbed ssd1306_library
main.cpp
- Committer:
- henriquer
- Date:
- 24 months ago
- Revision:
- 1:7f60e5e44a1b
- Parent:
- 0:b418a81d46b0
File content as of revision 1:7f60e5e44a1b:
// Monitoramento de Carga e Descarga de uma bateria selada #include "mbed.h" #include "ssd1306.h" AnalogIn tensao(A0); AnalogIn corrente (A1); DigitalOut led(D2); //Serial pc(USBTX, US BRX); float v_lido ; // Variável que recebe o valor de tensão float a_lido ; // Variável que recebe o valor de corrent SSD1306 lcd (D14, D15); // assumes default I2C address of 0x78 int main() { //***********************Iniciaçização Display********************************// lcd.speed (SSD1306::Medium); // set working frequency lcd.init(); lcd.set_contrast(200); lcd.cls(); // clear frame buffer lcd.locate (1,0); // set text cursor to line 3, column 1 lcd.printf (" MONITOR BATERIA"); // print to frame buffer //*********************Calculo Divisor AD8210*********************************// while(1) { v_lido= tensao; a_lido = corrente; 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 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) //****************************************************************************** lcd.locate (3,0); lcd.printf ("VOLTS: %1.2f",v_lido); // print to frame buffer lcd.locate (5,0); lcd.printf ("Corrente: %1.2f",a_lido); // print to frame buffer wait(0.5); lcd.redraw(); } }