Ok.
To časování mám zatím takto:
Kód: Vybrat vše
#include <Wire.h>
#define DS3231_I2C_ADDRESS 0x68
byte sec, minute, hour;
int LED1 = A0;
int LED2 = A1;
void setup() {
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
}
void loop() {
GetRtc();
if (hour==21 && minute==30 && sec == 0){
digitalWrite(LED1, HIGH);
}
if (hour==21 && minute==30 && sec == 20){
digitalWrite(LED2, HIGH);
delay(40000);
}
}
void GetRtc() {
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
sec = bcdToDec(Wire.read() & 0x7f);
minute = bcdToDec(Wire.read());
hour = bcdToDec(Wire.read() & 0x3f);
}
byte bcdToDec(byte val) {
return((val / 16 * 10) + (val % 16));
}
Ovšem to nemůžu vyzkoušet protože na RTC modul ještě čekám.
Teplotu bych řešil nějak takto:
Kód: Vybrat vše
int tempPin=A2;
int tempPin1=A2;
int LED3=6;
void setup()
{
Serial.begin(9600);
pinMode(LED3, OUTPUT);
pinMode(tempPin, INPUT);
pinMode(tempPin1, INPUT);
}
void loop()
{
float temp=(analogRead(tempPin)*5.0)/1024.0;
temp=100*(temp-0.5)*100;
float temp1=(analogRead(tempPin1)*5.0)/1024.0;
temp1=100*(temp-0.5)*100;
delay(1000);
if(temp <=22 && temp1 >=40) {
digitalWrite(LED3, HIGH);
}
}
A ty tlačítka zkouším stylem:
Kód: Vybrat vše
int LEDa = 2;
int LEDb = 2;
int TLAC = A4;
int TLACa = A5;
boolean svetlo = false;
boolean blik = false;
void setup()
{
pinMode(LEDa, OUTPUT);
pinMode(LEDb, OUTPUT);
pinMode(TLAC, INPUT);
pinMode(TLACa, INPUT);
}
void loop()
{
if (digitalRead(TLAC))
{
if (svetlo) svetlo = false; else svetlo = true;
digitalWrite(LEDa, svetlo);
while (digitalRead(TLAC)) delay(50);
}
if (digitalRead(TLACa))
{
if (blik)blik = false; else blik = true;
blika();
while (digitalRead(TLACa)) delay(50);
}
}
void blika()
{
digitalWrite(LEDb, HIGH);
delay(500);
digitalWrite(LEDb, LOW);
delay(500);
}
V podstatě jedno tlačítko by mělo rozsvítit/zhasnout jednu led a to druhé zase další led rozblikat/zhasnout (posléze jsem chtěl k tomu přiřadit ty předchozí funkce).
Nicméně jak říkám, jsem naprostý začátečník a jak se mi to ze začátku zdálo vcelku jednoduché (blikání led, použití jednoho tlačítka, výpis teploty..), tak teď když to chci dát nějak dohromady, tak nevím jak dál...