Få 3 LED'ere til at blinke ved temperaturmåling

Tags:    genuino

Hej I kloge hoveder,

Jeg er lige i gang med at skrive en kode, hvor en temperatur sensor skal tænde for 3 lys:
- Øges temperaturen med 2 grader, tændes 1 LED.
- Øges temperaturen med 4 grader, tændes 2 LED.
- Øges temperaturen med 6 grader, tændes 3 LED.
Dette har jeg gjort!

Men jeg vil gerne tage den et lille skridt videre, og gøre således, at så længe temperaturen er øges med mindst 8 grader, så skal alle 3 LED'ere blive ved med at blinke. Hvordan får jeg det ind i koden?

Fold kodeboks ind/udC kode 




Indlæg senest redigeret d. 12.06.2016 01:14 af Bruger #20986
2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Jeg kender ikke ret meget til C så kan ikke hjælpe med dit spørgsmål, men jeg ville nok skrive koden sådan her, for at gøre det lidt mindre.

Fold kodeboks ind/udC kode 




Men du kan evt. kigge på : http://www.informit.com/articles/article.aspx?p=23618&seqNum=14

Der er en timer, som du så kan bruge til at skifte styrken fra slukket til tændt



Indlæg senest redigeret d. 15.06.2016 12:38 af Bruger #17081
kunne du ikke lave en static variabel du tæller på, er den lige er alle lamper tændt, og ulige alle lamper slukket, så har du din blink function.

i forholdt til Dan's omskrivning af coden har jeg i loop tilføjet:
static int number=0;
number=0;


if(temperature >= baselineTemp+8){
if(number %2 == 0){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
else{
// ville jo blive tændt af ovenliggende if'er ( > 2,4,6)
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
number++;
}


(utested)
Fold kodeboks ind/udKode 





t