Obsah:
- Krok 1: Cíle
- Krok 2: Materiály
- Krok 3: Před kódováním: Připojte svůj Micro: Bit
- Krok 4: Krok 0: Tok kódu
- Krok 5: Krok 1: Definování proměnných
- Krok 6: Krok 2: Převod hodnot náklonu na úrovně
- Krok 7: Krok 3: Kompilace úrovní náklonu
- Krok 8: Krok 4: Napište funkce LEDPlotList
- Krok 9: Krok 5: Vykreslení matice LED pro každý případ
- Krok 10: Krok 6: Napište kalibrační funkce
- Krok 11: Krok 7: Funkce zápisu stavu
- Krok 12: Krok 8: Dát to dohromady Část 1
- Krok 13: Krok 9: Dát vše dohromady Část 2
- Krok 14: Krok 10: Sestavení
- Krok 15: Zdroj
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Pomocí této vodováhy můžete rychle a snadno zobrazit náklon jakéhokoli připojeného předmětu!
Vytvořila Kaitlyn z instituce Raffles.
Krok 1: Cíle
Naučte se číst náklon pomocí vestavěného akcelerometru micro: bit.
Naučte se pracovat s LED displejem micro: bit 5x5!
Krok 2: Materiály
1 x BBC micro: bit
1 x kabel Micro USB
2 x baterie AA
1 x dvojitá baterie AA
Krok 3: Před kódováním: Připojte svůj Micro: Bit
- Připojte micro: bit BBC k počítači pomocí kabelu micro USB.
- Otevřete editor javascriptu pro micro: bit na makecode.microbit.org.
Krok 4: Krok 0: Tok kódu
Než začneme psát kód, musíme se rozhodnout, čeho chceme programem dosáhnout a v jakém pořadí by měly jednotlivé komponenty běžet.
Pro elektrickou vodováhu jsou kroky, které provedeme v kódu pro každou smyčku, následující:
- Odečtěte hodnoty náklonu z akcelerometru.
- Převeďte hodnoty náklonu na úrovně náklonu, které se zobrazí na matici LED.
- Zkontrolujte, zda nedošlo ke změně hodnot úrovně náklonu z předchozí smyčky.
- Vytvořte řadu LED souřadnic pro různé případy a směry náklonu.
- Vykreslete souřadnice LED na mikro: bitovou LED matici.
Mezi další funkce, které musíme zahrnout, patří:
- Kalibrace pro počáteční polohu náklonu.
- Návrat k výchozí kalibraci náklonu.
Krok 5: Krok 1: Definování proměnných
Začneme definováním potřebných proměnných, jak je ukázáno. Rozdělení několika proměnných je následující:
- tiltList: Pole, které ukládá rozsah náklonu od hodnot 0-4 v pořadí [doleva, doprava, dopředu, dozadu]
- tiltBoundary: Hranice první úrovně náklonu mezi 0 (bez náklonu) a 1 (mírné naklonění)
- prevState: Pole, které ukládá hodnoty náklonu mikro: bitu z předchozí smyčky ve stejném formátu jako tiltList, slouží ke kontrole změny náklonu mezi iteracemi
- ledPlotList: Vykreslení souřadnicových polí vedených ve tvaru (x, y). K definování pole používáme číslo typu k označení vnořeného pole proměnných typu: číslo.
Krok 6: Krok 2: Převod hodnot náklonu na úrovně
Protože matice LED 5x5 dokáže zobrazit pouze tolik informací, skutečné hodnoty náklonu nebudou pro zobrazení užitečné.
Místo toho funkce tiltExtent () převezme parametr num, který odkazuje na hodnotu náklonu z akcelerometru, a převede tyto hodnoty náklonu (num) na úrovně náklonu od 0 do 4.
0 znamená žádný náklon v daném směru a 4 značí velmi velký náklon, zatímco -1 je vráceno v případě chyby.
Zde se jako hraniční hodnoty mezi úrovněmi náklonu používají tiltBoundary a tiltSensitivity.
Krok 7: Krok 3: Kompilace úrovní náklonu
Dvě funkce checkRoll () a checkPitch () zapisují úrovně náklonu získané z tiltExtent () do tiltList pro osy roll (vlevo-vpravo) a pitch (dopředu-dozadu).
Před použitím hodnot naklonění je zkalibrujeme pomocí nulové hodnoty pro stoupání (zeroPitch) i roll (zeroRoll) získané z kalibrační funkce zapsané později.
Jelikož jsou hodnoty akcelerometru negativní pro levý i přední náklon, musíme použít funkci Math.abs () k získání modulu záporné hodnoty, který má být zadán funkci tiltExtent () jako parametr pro tyto dva směry.
Krok 8: Krok 4: Napište funkce LEDPlotList
Po získání úrovní náklonu v tiltList nyní můžeme zapsat funkce vykreslování LED pro různé případy, které mohou nastat, tj.
- plotSingle (): Naklonění pouze v jednom směru, přičemž parametr naklonění v daném směru.
- plotDiagonal (): Naklonění ve dvou směrech stejné velikosti, přičemž parametrem je rozsah naklonění v obou směrech.
- plotUnequal (): Naklonění ve dvou směrech různých velikostí, přičemž parametrem je rozsah naklonění v každém směru. Nejprve použije plotDiagonal () a poté přidá do pole ledPlotList.
Tyto vykreslovací funkce zapisují do ledPlotList řadu vedených souřadnic, které budou později vykresleny.
Krok 9: Krok 5: Vykreslení matice LED pro každý případ
Pomocí funkcí vykreslování ze tří případů v kroku 4 můžeme nyní vykreslit skutečnou matici LED pro různé možné kombinace úrovní náklonu. Jelikož tři funkce v kroku 4 nediskriminují směr, musíme upravit hodnoty souřadnic předané matici LED, abychom vykreslili LED diody správnými směry.
PlotResult () obsahuje vícenásobné podmínky, které kontrolují druh naklonění a podle toho vykreslí matici LED pomocí led.plot (x, y). Možné kombinace náklonu jsou:
Jeden směr: Pouze vlevo nebo Pouze vpravo
Jeden směr: Pouze vpřed nebo Pouze zpět
Dva směry: dopředu-doleva nebo dozadu-doleva
Dva směry: vpřed-vpravo nebo vzad-vpravo
Poznámka: Pro náklon ve dvou směrech může mít každá kombinace stejnou nebo odlišnou velikost (kontrolováno porovnáním maxX a maxY), a proto je vykreslena pomocí plotDiagonal () nebo plotUnequal ().
Krok 10: Krok 6: Napište kalibrační funkce
Po dokončení převážné části kódu nyní přidáme funkce calibTilt () a resetTilt ().
calibTilt () umožňuje uživatelům tarovat náklon na nulu v aktuální poloze micro: bit
resetTilt () resetuje kalibraci desky do původního stavu.
Krok 11: Krok 7: Funkce zápisu stavu
Přidáme jednoduchou funkci checkState (), abychom zkontrolovali, zda se úrovně náklonu změnily z předchozí iterace.
Pokud nedojde ke změně úrovní náklonu z předchozí iterace, tj. StateChange == 0, můžeme přímo přejít na další iteraci a přeskočit vykreslování matice LED, což redukuje výpočet.
Krok 12: Krok 8: Dát to dohromady Část 1
Nyní můžeme konečně umístit všechny potřebné funkce do nekonečné smyčky micro: bit, abychom ji mohli spouštět opakovaně.
Nejprve pomocí tlačítek input.onButtonPressed () nastavíme tlačítka A a B na mikro: bitu na funkce calibTilt () a resetTilt () a po dokončení kalibrace zakreslíme na matici LED.
Krok 13: Krok 9: Dát vše dohromady Část 2
Dále spusťte potřebné funkce podle našeho toku kódu v kroku 0 a zkontrolujte změnu stavu (což znamená, že od poslední iterace došlo ke změně náklonu micro: bit).
Pokud dojde ke změně úrovní náklonu, tj. StateChange == 1, kód aktualizuje prevState na nové úrovně náklonu a nastaví stateChange zpět na 0 pro další iteraci a vykreslí aktualizované úrovně náklonu na matici LED pomocí PlotResult ().
Krok 14: Krok 10: Sestavení
Vyplněný kód si flashujte na svůj micro: bit.
Připojte micro: bit a bateriový modul bezpečně k jakémukoli předmětu a je připraven k použití!
Skvělý
Bavte se s elektrickou vodováhou! A když už jste u toho, proč nezkusit rozšířit možnosti snímače náklonu nebo z něj dokonce udělat hru?
Tento článek pochází z TINKERCADEMY.
Krok 15: Zdroj
Tento článek pochází z:
Pokud máte nějaké dotazy, můžete kontaktovat : [email protected].