Arduino – Termometr DS18B20 z wyświetlaniem wartości na LCD Nokia 5110

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:

termometr DB18B20 LCD 5110

Kod programu:

/*
Arduino Nokia 5110 LCD termometr
www.tranzystor.pl
*/
include <OneWire.h>
#include <DallasTemperature.h>
#include <LCD5110_Graph.h>
#define ONE_WIRE_BUS 7

LCD5110 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  :

termometr DB18B20 LCD Nokia 5110 gotowy

 

Post Author: swistak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Potwierdz, że nie jesteś botem. *

This site uses Akismet to reduce spam. Learn how your comment data is processed.