ler tensão na bateria.txt

Upload: arlan-picanco

Post on 10-Oct-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

int SHT_clockPin = 3; // pin used for clockint SHT_dataPin = 2; // pin used for data#include #include // Conectar pino Vcc do BMP085 ao pino 3.3v do Arduino (NAO UTILIZAR 5.0V !)// Conectar pino GND do mdulo ao GND do Arduino// Conectar o pino SCL do mdulo ao pino analgico 5 do Arduino// Conectar o pino SDA do mdulo ao pino analgico 4 do Arduino// Pino EOC (End of conversion) no utilizado// Pino XCLR um pino de reset, tambm no utilizadoAdafruit_BMP085 bmp; void setup() { Serial.begin(9600); Serial.println(""); Serial.println(" NoWiring - Environmental Monitoring | by Giorgio Picanco | [email protected] | ");Serial.println(" 'It has been said that something as small as the flutter of a butterfly's "); Serial.println("wings can ultimately cause a typhoon halfway around the world' - (Chaos Theory)");Serial.println(""); delay(2000);Serial.println(" Temp(SHT15 *C) | Temp(BMP085 *C) | Humidity (Relative) | Press(Pa) | Alt(m) | RealAlt(m) | Tensao na bateria (mV):"); Serial.println(""); if (!bmp.begin()) { Serial.println("Sensores no encontrados, verifique as conexes !"); while (1) {} }} void loop() {float temperature = getTemperature();float humidity = getHumidity(); Serial.print(bmp.readTemperature());Serial.print(" ");Serial.print(temperature);Serial.print(" ");Serial.print(humidity);Serial.print(" ");Serial.print(bmp.readPressure());Serial.print(" ");Serial.print(bmp.readAltitude());Serial.print(" ");Serial.print(bmp.readAltitude(101500));Serial.print(" ");Serial.print(readVcc()); Serial.println(); }long readVcc(){// Ler referncia interna 1.1V// Ajusta a referncia ao Vcc e a medio de referncia interna para 1.1V#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);#elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)ADMUX = _BV(MUX5) | _BV(MUX0);#elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)ADMUX = _BV(MUX3) | _BV(MUX2);#elseADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);#endifdelay(2); // AguardeADCSRA |= _BV(ADSC); // Inicia a conversowhile (bit_is_set(ADCSRA,ADSC)); // Medindouint8_t low = ADCL; // Vai ler ADCL primeiro - Ento trava ADCHuint8_t high = ADCH; // Desbloqueialong result = (high