Obsah:

Vytvorte elektrickú vodováhu: 15 krokov
Vytvorte elektrickú vodováhu: 15 krokov

Video: Vytvorte elektrickú vodováhu: 15 krokov

Video: Vytvorte elektrickú vodováhu: 15 krokov
Video: Замена отопления в новостройке. Подключение. Опрессовка. #17 2024, Júl
Anonim
Vytvorte elektrickú vodováhu
Vytvorte elektrickú vodováhu

Pomocou tejto vodováhy môžete rýchlo a jednoducho zobraziť náklon akéhokoľvek pripevneného predmetu!

Vytvorila Kaitlyn z inštitúcie Raffles.

Krok 1: Ciele

Naučte sa čítať náklon pomocou vstavaného akcelerometra micro: bit.

Naučte sa pracovať s LED displejom micro: bit 5x5!

Krok 2: Materiály

1 x BBC micro: bit

1 x kábel Micro USB

2 x AA batérie

1 x dvojitá batéria AA

Krok 3: Predbežné kódovanie: Pripojte svoj mikro bit

  1. Pripojte BBC micro: bit k počítaču pomocou kábla micro USB.
  2. Prístup k editoru javascript pre mikro: bit na makecode.microbit.org.

Krok 4: Krok 0: Tok kódu

Predtým, ako začneme písať kód, musíme sa rozhodnúť, čo chceme programom dosiahnuť a v akom poradí by mali jednotlivé komponenty bežať.

Pokiaľ ide o elektrickú vodováhu, v kóde pre každú slučku vykonáme tieto kroky:

  • Prečítajte si údaje o naklonení z akcelerometra.
  • Premeňte namerané hodnoty naklonenia na úrovne naklonenia, ktoré sa majú zobraziť na matici LED.
  • Skontrolujte, či nedošlo k zmene hodnôt úrovne naklonenia z predchádzajúcej slučky.
  • Vytvorte rad súradníc LED pre rôzne prípady a smery náklonu.
  • Vykreslite súradnice LED na mikro: bitovú maticu LED.

Niekoľko ďalších funkcií, ktoré musíme zahrnúť, sú:

  • Kalibrácia pre počiatočnú polohu naklonenia.
  • Návrat k predvolenej kalibrácii náklonu.

Krok 5: Krok 1: Definovanie premenných

Začneme definovaním potrebných premenných, ako je znázornené. Rozdelenie niekoľkých premenných je tieto:

  • tiltList: Pole, ktoré ukladá rozsah naklonenia od hodnôt 0-4 v poradí [doľava, doprava, dopredu, dozadu]
  • tiltBoundary: Hranica prvej úrovne naklonenia medzi 0 (bez naklonenia) a 1 (mierne naklonenie)
  • prevState: Pole, ktoré ukladá hodnoty naklonenia mikro: bitu z predchádzajúcej slučky v rovnakom formáte ako tiltList, slúži na kontrolu zmeny náklonu medzi iteráciami
  • ledPlotList: Vykreslite súradnicové polia v tvare (x, y). Na definovanie poľa používame typové číslo na označenie vnoreného poľa premenných typu: číslo.

Krok 6: Krok 2: Premeňte hodnoty náklonu na úrovne

Pretože matica LED 5x5 môže zobrazovať iba toľko informácií, skutočné hodnoty náklonu nebudú pre zobrazenie užitočné.

Funkcia tiltExtent () namiesto toho preberá parameter num, ktorý odkazuje na hodnotu náklonu z akcelerometra, a prevádza tieto hodnoty náklonu (num) na úrovne naklonenia od 0 do 4.

0 znamená žiadne naklonenie v danom smere a 4 označuje veľmi veľké naklonenie, pričom -1 sa vráti, ak dôjde k chybe.

Tu sa ako hraničné hodnoty medzi úrovňami naklonenia používajú tiltBoundary a tiltSensitivity.

Krok 7: Krok 3: Zostavte úrovne naklonenia

Dve funkcie checkRoll () a checkPitch () zapisujú úrovne naklonenia získané z tiltExtent () do tiltList pre os roll (vľavo-vpravo) a pitch (dopredu-dozadu).

Pred použitím hodnôt náklonu ich kalibrujeme pomocou nulovanej hodnoty pre rozteč (zeroPitch) aj roll (zeroRoll) získané z neskôr kalibračnej funkcie.

Pretože sú údaje akcelerometra negatívne pre naklonenie doľava aj dopredu, musíme použiť funkciu Math.abs () na získanie modulu zápornej hodnoty, ktorý má byť zadaný funkcii tiltExtent () ako parametra pre tieto dva smery.

Krok 8: Krok 4: Napíšte funkcie LEDPlotList

Po získaní úrovní naklonenia v tiltList teraz môžeme napísať funkcie vykresľovania LED pre rôzne prípady, ktoré môžu nastať, konkrétne

  • plotSingle (): Naklonenie iba v jednom smere, pričom parametrom je rozsah naklonenia v danom smere.
  • plotDiagonal (): Naklonenie v dvoch smeroch rovnakej veľkosti, pričom parametrom je rozsah naklonenia v oboch smeroch.
  • plotUnequal (): Naklonenie v dvoch smeroch rôznych veľkostí, pričom parametrom je rozsah naklonenia v každom smere. Najprv použije plotDiagonal () a potom pridá do poľa ledPlotList.

Tieto vykresľovacie funkcie zapisujú pole vedených súradníc do súboru ledPlotList, ktorý sa má vykresliť neskôr.

Krok 9: Krok 5: Vykreslite maticu LED pre každý prípad

Pomocou funkcií vykresľovania z troch prípadov v kroku 4 teraz môžeme vykresliť skutočnú maticu LED pre rôzne možné kombinácie úrovní naklonenia. Pretože tri funkcie v kroku 4 nediskriminujú smer, musíme upraviť hodnoty súradníc odovzdané do matice LED, aby sme diódy LED vykreslili v správnych smeroch.

PlotResult () obsahuje viacnásobné podmienky, ktoré kontrolujú druh náklonu a podľa toho vykreslia maticu LED pomocou LED.plot (x, y). Možné kombinácie naklonenia sú:

Jeden smer: iba vľavo alebo iba vpravo

Jeden smer: iba dopredu alebo iba dozadu

Dva smery: vpred-vľavo alebo vzad-vľavo

Dva smery: vpred-vpravo alebo vzad-vpravo

Poznámka: Pri naklonení v dvoch smeroch môže mať každá kombinácia rovnakú alebo rôznu veľkosť (kontrolované porovnaním maxX a maxY), a preto je vykreslená pomocou plotDiagonal () alebo plotUnequal ().

Krok 10: Krok 6: Napíšte funkcie kalibrácie

Po dokončení prevažnej časti kódu teraz pridáme funkcie calibTilt () a resetTilt ().

calibTilt () umožňuje užívateľom tarovať náklon na nulu v aktuálnej polohe mikro: bitu

resetTilt () resetuje kalibráciu dosky do pôvodného stavu.

Krok 11: Krok 7: Funkcia stavu zápisu

Pridáme jednoduchú funkciu checkState (), aby sme skontrolovali, či sa úrovne naklonenia zmenili z predchádzajúcej iterácie.

Ak nedôjde k žiadnej zmene úrovní naklonenia z predchádzajúcej iterácie, tj. StateChange == 0, môžeme priamo prejsť na ďalšiu iteráciu a preskočiť vykresľovanie matice LED, čím sa zníži výpočet.

Krok 12: Krok 8: Spojenie všetkého, časť 1

Teraz môžeme konečne umiestniť všetky potrebné funkcie do nekonečnej slučky mikro: bitu, aby sme ju mohli opakovane spúšťať.

Najprv pomocou tlačidiel input.onButtonPressed () nastavíme tlačidlá A a B na mikro: bite na funkcie calibTilt () a resetTilt (), a po dokončení kalibrácie vykreslíme začiarknutie na matici LED.

Krok 13: Krok 9: Spojenie všetkého, časť 2

Ďalej spustite potrebné funkcie podľa nášho toku kódu v kroku 0 a skontrolujte zmenu stavu (to znamená, že od poslednej iterácie došlo k zmene sklonu mikro: bitu).

Ak dôjde k zmene úrovní náklonu, tj. StateChange == 1, kód aktualizuje predchádzajúci stav na nové úrovne naklonenia a nastaví stateChange späť na 0 pre ďalšiu iteráciu a aktualizované úrovne naklonenia vykreslí na matici LED pomocou PlotResult ().

Krok 14: Krok 10: Zostavenie

Dokončený kód zahoďte na svoj mikro: bit.

Pripojte svoj micro: bit a batériu bezpečne k akémukoľvek predmetu a je pripravený na použitie!

Úžasné

Bavte sa s elektrickou vodováhou! A keď už ste pri tom, prečo neskúsiť rozšíriť možnosti senzora náklonu alebo ho dokonca zmeniť na hru?

Tento článok je z TINKERCADEMY.

Krok 15: Zdroj

Tento článok pochádza z:

Ak máte akékoľvek otázky, môžete kontaktovať : [email protected].

Odporúča: