Układ prostego termometru w oparciu o czujnik DS18B20 z prezentacją wynik na wyświetlaczu LCD Nokia 5110.
W moim przypadku do wykonania układu wykorzystałem Arduino UNO.
Potrzebne elementy:
– Arduino UNO (lub odpowiednik)
– czujnik DS18B20 (czujnik temperatury)
– wyświetlacz LCD Nokia 5110
– płytka stykowa, przewody
Schemat połączeniowy:
Kod programu:
/*
Arduino Nokia 5110 LCD termometr
www.tranzystor.pl
*/
include <OneWire.h>
#include <DallasTemperature.h>
#include <LCD5110_Graph.h>
#define ONE_WIRE_BUS 7LCD5110 lcd(8,9,10,12,11);
extern unsigned char SmallFont[];
extern unsigned char BigNumbers[];
extern uint8_t borderRoundedIcon[];char TempCelciusFahrenheit[6];
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC = 0;
//float tempF = 0;void setup(void)
{
lcd.InitLCD();
sensors.begin();
}void loop(void)
{
lcd.clrScr();
lcd.drawBitmap(0, 0, borderRoundedIcon, 84, 48);
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
// tempF = sensors.toFahrenheit(tempC);
// convertToString(tempF); //stopnie Fahrenheita
convertToString(tempC); //stopnie Celsjusza
lcd.setFont(BigNumbers);
lcd.print(TempCelciusFahrenheit,22,14); // ustawienie pozycji tekstu
lcd.setFont(SmallFont);
lcd.print(„Temp.Celc.”,17,5); //zakomenduj przy używaniu Fahrenheit
// lcd.print(„Temp.Fahr.”,17,5); //zakomenduj przy używaniu Celsjusza
lcd.update();
delay(1000);
}
void convertToString(float number)
{
dtostrf(number, 3, 1, TempCelciusFahrenheit);
}
Gotowy układ :