/******************************************************************************* * * Projeto 43 - Biblioteca para sensor de temperatura LM35 * http://squids.com.br/arduino * *******************************************************************************/ #include #include //Objeto lmt da biblioteca lm35.h lmt sensor(A0); //LM35 conectado na porta A0 do Arduino LiquidCrystal lcd(12, 11, 5, 4, 3, 2); const int buttonPin = 8; int seletor = 2; uint32_t timer = 0; float temperature[] = {1,2,3}; int x = 1; String t = "C"; void setup() { pinMode(buttonPin, INPUT_PULLUP); Serial.begin(9600); lcd.begin(16, 2); //primeira leitura temperature[x] = sensor.tCelsius(); // leitura em ºC temperature[2] = sensor.tFahrenheit(); // leitura em ºF temperature[3] = sensor.tKelvin();// leitura em ºK } void loop() { //mostra temperaturas a cada segundo if(millis() - timer>= 1000) { temperature[1] = sensor.tCelsius(); // leitura em ºC temperature[2] = sensor.tFahrenheit(); // leitura em ºF temperature[3] = sensor.tKelvin();// leitura em ºK timer = millis(); // Atualiza a referência } imprimir(); //verifica se o botão foi acionado if (!digitalRead(buttonPin)) { // Espera soltar o botão seletor while (!digitalRead(buttonPin)) { } delay(10); // switch (seletor) { case 1: x=1, t="C"; seletor++; break; case 2: x=2, t="F"; seletor++; break; case 3: x=3, t="K"; seletor=1; break; } } } void imprimir() { //Imprimindo no monitor serial Serial.print("T. Celsius: "); Serial.print(temperature[1]); Serial.print("°C | "); Serial.print("T. Fahrenheit: "); Serial.print(temperature[2]); Serial.print("°F | "); Serial.print("T. Kelvin: "); Serial.print(temperature[3]); Serial.println("°K"); //imprimindo no display LCD lcd.clear(); lcd.setCursor(0,0); // Define o cursor na posição de início if (x==1) {lcd.print("C = ");} else if (x==2) {lcd.print("F = ");} else {lcd.print("K = ");} lcd.print(temperature[x]); lcd.write(B11011111); // Imprime o símbolo de grau //lcd.print((char)223); Também imprime o símbolo de grau lcd.print(t); lcd.setCursor(1,1); // Define o cursor na posição de início lcd.print("Squids Arduino"); }