Binär metriska klocka; lätt Arduino projekt. (3 / 5 steg)
Steg 3: Kod & förklaring
Fullständiga koden är tillgänglig som binarymetricclock.ino. Jag fortsätter nu att förklara koden:int beslut = 0, centi = 0, milli = 0, mikro = 0;
Detta är de variabler som hålla reda på tiden. 0, 0, 0, 0 betyder midnatt. Dessa ska vara inställd när du ladda upp koden, eller slå på det för första gången.
Ogiltiga inställningar)
{
pinMode (13, OUTPUT);
pinMode (12, OUTPUT);
pinMode (11, OUTPUT);
pinMode (10, OUTPUT);
pinMode (9, OUTPUT);
pinMode (8, OUTPUT);
pinMode (7, OUTPUT);
pinMode (6, OUTPUT);
pinMode (5, OUTPUT);
pinMode (4, OUTPUT);
pinMode (3, OUTPUT);
pinMode (2, utgång);
}
Denna kod är ganska självförklarande. Jag kunde ha använt en slinga eller något, men jag har valt att inte.
void writebin (int värde, int pin1, int pin2, int pin3, int pin4)
{
Detta är en funktion funktion som tar en värde, int värde och skriver det i binär till pin1 - pin4.
om (värde == 0)
{
digitalWrite (pin1, låg);
digitalWrite (pin2, låg);
digitalWrite (pin3, låg);
digitalWrite (pin4, låg);
}
om (värde == 1)
{
digitalWrite (pin1, hög);
digitalWrite (pin2, låg);
digitalWrite (pin3, låg);
digitalWrite (pin4, låg);
}
Det är bara två av tio om uttalanden om hur man skriver varje nummer i binär. Jag kommer inte att dela resten, men de ingår i den kompletta källan.
Ogiltig loop)
{
writebin (beslut, 5, 4, 3, 2);
writebin (centi, 9, 8, 7, 6);
writebin (milli, 13, 11, 12 och 10);
Dessa skriva olika variabeln till deras respecitve stift.
Delay(86.4);
Detta är längden (i millisekunder) på en micro-dag.
Micro ++;
Indecates som en mikro-dagen har gått av.
om (micro == 1000)
{
Milli ++;
Micro = 0;
}
Denna om--uttryck lägger till en till milli om micro når 1000, visar att det är 1000 mikro-dagar i en milli-dag.
om (milli == 10)
{
centi ++;
Milli = 0;
}
Denna enkel if-sats ökar centi med ett om milli når tio. Det fastställer sedan milli tillbaka till 0.
om (centi == 10)
{
beslut ++;
centi = 0;
}
Fungerar på ett liknande sätt.
om (beslut == 10)
{
beslut = 0;
}
Återigen fungerar på ett liknande sätt.
}
Du är klar med koden! Ganska enkelt, eller hur?