Zkusil jsem si udělat v arduinu program, aby mi vypisoval teplotu po sériové lince, pak jsem k tomu přidal LCD display(20,4) a funguje to. Ale ještě bych chtěl, aby když teplota bude pod limitem třeba 20°C, tak aby se rozsvítila led dioda a když teplota přesáhne třeba 26°C, tak aby se rozsvítila druhá led dioda.
Předem děkuji za vaše rady.
Kód: Vybrat vše
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#include <OneWire.h>
#include <DallasTemperature.h>
const int cidlo = 7;
OneWire oneWireDS(cidlo);
DallasTemperature senzoryDS(&oneWireDS);
int led1 = 6;
int led2 = 8;
void setup(void) {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
lcd.begin(20,4);
//Serial.begin(9600);
senzoryDS.begin();
lcd.setCursor(4,1);
lcd.print("Thermometer");
delay(5000);
lcd.clear();
}
void loop(void) {
senzoryDS.requestTemperatures();
lcd.setCursor(0,0);
lcd.print("Teplota: ");
lcd.setCursor(1,1);
lcd.print(senzoryDS.getTempCByIndex(0));
lcd.setCursor(6,1);
lcd.print(" stupnu Celsia");
delay(1000);
if (20 <= senzoryDS.requestTemperatures()) {digitalWrite(led1 = HIGH);}
if (senzoryDS.requestTemperatures() >= 26) {digitalWrite(led2 = HIGH);}
}