Enkla binära nedräkning till jul (3 / 6 steg)
Steg 3: kod!
Så nu måste vi koden, Happly låter er använda min kod och Varsågod att redigera det och göra det bättre (det kan bli bättre).På toppen av koden kan du se 3 variabler: dag, timme och minut, dessa du fyller i precis innan du laddar upp din kod och det kommer att starta härifrån.
[Start]
int dag = [dagen];
int timme = [aktuell timme i 24 TIMMARSFORMAT];
int minut = [nuvarande minut i tid];
int DaysLeft = 25-dag;
int tensPlDL = DaysLeft/10.
int onesPlDL = DaysLeft-tensPlDL * 10;
void setup() {
pinMode (A5, OUTPUT);
pinMode (A4, OUTPUT);
pinMode (A3, OUTPUT);
pinMode (A2, OUTPUT);
pinMode (2, utgång);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
digitalWrite (A5, låg);
digitalWrite (A3, låg);
digitalWrite (2, låg).
digitalWrite (4, låg).
digitalWrite (6, låg).
digitalWrite 8, låg.
Serial.BEGIN(9600);
}
void loop() {
IF(canTwo(tensPlDL)) {
digitalWrite (A2, hög);
tensPlDL = tensPlDL-2;
} annat {
digitalWrite (A2, låg);}
IF(canOne(tensPlDL)) {
digitalWrite (A4, hög);
} annat {
digitalWrite (A4, låg);}
IF(canEight(onesPlDL)) {
onesPlDL = onesPlDL-8.
digitalWrite (9, hög).
} annat {
digitalWrite (9, låg).
}
IF(canFour(onesPlDL)) {
onesPlDL = onesPlDL-4;
digitalWrite (7, hög).
} annat {
digitalWrite (7, låg).
}
IF(canTwo(onesPlDL)) {
onesPlDL = onesPlDL-2;
digitalWrite 5, hög,
} annat {
digitalWrite (5, låg).
}
IF(canOne(onesPlDL)) {
digitalWrite (3, hög).
} annat {
digitalWrite (3, låg).
}
Delay(60000);
Minut ++;
IF(Minute==60) {
Timme ++;
Minut = 0;
}
IF(Hour==24) {
Dagen ++;
Timme = 0;
}
DaysLeft = 25-dag;
tensPlDL = DaysLeft/10.
onesPlDL = DaysLeft-tensPlDL * 10;
/*
Serial.Print(tensPlDL);
Serial.Print("\t");
Serial.Print(onesPlDL);
Serial.Print("\t");
Serial.println(DaysLeft);
*/
IF(DaysLeft==0) {
While(true) {
digitalWrite (A2, hög);
digitalWrite (A4, hög);
digitalWrite (9, hög).
digitalWrite (7, hög).
digitalWrite 5, hög,
digitalWrite (3, hög).
Delay(500);
digitalWrite (A2, låg);
digitalWrite (A4, låg);
digitalWrite (9, låg).
digitalWrite (7, låg).
digitalWrite (5, låg).
digitalWrite (3, låg).
Delay(500);
}
}
}
booleska canEight (int antal) {
om (nummer-8 > = 0) {
Return(true);
} annat {
Return(false);
}
}
booleska canFour (int antal) {
om (nummer-4 > = 0) {
Return(true);
} annat {
Return(false);
}
}
booleska canTwo (int antal) {
om (nummer-2 > = 0) {
Return(true);
} annat {
Return(false);
}
}
booleska canOne (int antal) {
om (antal-1 > = 0) {
Return(true);
} annat {
Return(false);
}
}
[End]