Csinálj egy fény-homokórát!
Ebben a homokórában a fény a homok: a fény nagysága mutatja, hogy mennyi homok van az üvegben. Ehhez nem kell más, mint két led: a fentinek csökken a fényereje, míg a lentinek nő a fényereje, mutatva az idő múlását.
Vegyél elő két ledet, és kösd őket az 5-ös és a 6-os portokra.
Egy rendes homokórát meg lehet fordítani, és akkor ismét felülről fog potyogni a homok. Ezt úgy tudjuk megoldani, hogy előveszünk egy egyszerű dőlésérzékelőt.
Ez egy nagyon egyszerű cucc: van benne egy pici golyó, ami - mint egy kapcsoló - összeérinti a két lábát, ha a golyó a lábak közelében van. A golyót pedig a gravitáció mozgatja, tehát ha az érzékelő úgy áll, hogy a lábai a padló felé néznek, akkor bekapcsol, más esetben meg kikapcsol.
A dőlésérzékelő tehát olyan, mint egy kapcsoló. Csak rá kell kötni az egyik oldalát mondjuk az A-star 0-ás portjára, és az érzékelő másik oldalát a GND-re.
Kezdenek sokasodni a drótok? Lehetséges! Csak a kezemet figyeld, mert csalok! Aszonnnyahogy: 6-os kimenet megy a bal oldali ledre. 5-ös kimenet megy a jobb oldali ledre. Ezek eddig zöld drótok voltak. A 0-ás port most bemenet, ide jön a dőlésérzékelő a sárga madzagon. A ledeknek és az érzékelőnek a másik vége pedig GND-re megy - ezek a fekete drótok.
Most pici lépésekben fogjuk megszelidíteni ezt a kütyüt. Először is, rittyentsünk egy felváltva villogó cuccost. Ehhez elővettem a sima villogó ledes programot, és picit kibővítettem:
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(0, INPUT_PULLUP);
}
void loop() {
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(500);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
delay(500);
}
Csak két változás van: először is a setup részben mindhárom portot beállítom, mégpedig az 5 és a 6 kimenetek lesznek (itt vannak a ledek), a 0 pedig egy okosított bemenet. Az INPUT_PULLUP olyan bemenetet jelent, amire kapcsoló-szerű dolgot teszünk, aminek a másik oldala GND-re van kötve. A dőlésérzékelővel pont ezt tettük :)
A másik változás pedig, hogy a digitalWrite-okkal a 5-ös és a 6-os portot is kapcsolgatom, mégpedig pont ellenkezően. Emiatt felváltva villog a két led.