Kazalo:

Ustvarite električno vodno tehtnico: 15 korakov
Ustvarite električno vodno tehtnico: 15 korakov

Video: Ustvarite električno vodno tehtnico: 15 korakov

Video: Ustvarite električno vodno tehtnico: 15 korakov
Video: 90.10.® @ Awareness Ascending Convention 2021 2024, November
Anonim
Ustvarite električno libelo
Ustvarite električno libelo

Uporabite to vodno tehtnico za hiter in enostaven prikaz nagiba katerega koli pritrjenega predmeta!

Ustvaril Kaitlyn iz Raffles Institution.

1. korak: Cilji

Naučite se brati nagib z vgrajenim merilnikom pospeška micro: bit.

Naučite se delati z Micro: bit 5x5 LED zaslonom!

2. korak: Materiali

1 x BBC mikro: bit

1 x mikro USB kabel

2 x AA baterije

1 x dvojna baterija AA

3. korak: Pred kodiranje: Povežite svoj Micro: Bit

  1. BBC micro: bit povežite z računalnikom s kablom mikro USB.
  2. Dostopajte do urejevalnika javascript za micro: bit na spletnem mestu makecode.microbit.org.

Korak 4: Korak 0: Tok kode

Preden začnemo pisati kodo, se moramo odločiti, kaj želimo s programom doseči in v kakšnem vrstnem redu naj se izvaja vsaka komponenta.

Za električno libelo so koraki, ki jih bomo naredili v kodi za vsako zanko, naslednji:

  • Preberite odčitke nagiba iz merilnika pospeška.
  • Pretvorite odčitke nagiba v ravni nagiba, ki bodo prikazani na matriki LED.
  • Preverite, ali so se odčitki ravni nagiba spremenili iz prejšnje zanke.
  • Ustvarite niz koordinat LED za različne nagibne primere in smeri.
  • Koordinate LED nanesite na matriko micro: bit LED.

Nekaj dodatnih funkcij, ki jih moramo vključiti, so:

  • Umerjanje za začetni položaj nagiba.
  • Vrnitev na privzeto umerjanje nagiba.

5. korak: 1. korak: Določanje spremenljivk

Začnemo z opredelitvijo spremenljivk, kot je prikazano. Razčlenitev nekaj spremenljivk je:

  • tiltList: Niz, ki shrani obseg nagiba od vrednosti 0-4 v vrstnem redu [Levo, Desno, Naprej, Nazaj]
  • tiltBoundary: Meja prve stopnje nagiba med 0 (brez nagiba) in 1 (rahel nagib)
  • prevState: Niz, ki shrani vrednosti nagiba mikro: bita iz prejšnje zanke v isti obliki kot tiltList, ki se uporablja za preverjanje spremembe nagiba med ponovitvami
  • ledPlotList: Narišite koordinatne matrike v obliki (x, y). Za določitev matrike uporabljamo tip številke za označevanje ugnezdene matrike spremenljivk tipa: število.

6. korak: 2. korak: Pretvorite vrednosti nagiba v ravni

Ker LED matrika 5x5 lahko prikaže le toliko informacij, dejanske vrednosti nagiba ne bodo uporabne za prikaz.

Namesto tega funkcija tiltExtent () vzame parameter num, ki se nanaša na vrednost nagiba iz merilnika pospeška, in te vrednosti nagiba (num) pretvori v ravni nagiba od 0 do 4.

0 označuje brez nagiba v dani smeri in 4 označuje zelo velik nagib, medtem ko se -1 vrne, ko pride do napake.

Tu se kot mejne vrednosti med ravnmi nagiba uporabljajo tiltBoundary in tiltSensitivity.

7. korak: 3. korak: Zberite ravni nagiba

Dve funkciji checkRoll () in checkPitch () zapišeta ravni nagiba, pridobljene iz tiltExtent (), v tiltList za osi valja (levo-desno) in višino nagiba (naprej-nazaj).

Pred uporabo vrednosti nagiba jih umerimo z vrednostjo ničle za korak (zeroPitch) in zvitek (zeroRoll), pridobljen s pozneje napisano umeritveno funkcijo.

Ker so odčitki merilnika pospeška negativni za nagib levo in naprej, moramo s funkcijo Math.abs () pridobiti modul negativne vrednosti, ki ga je treba dati funkciji tiltExtent () kot parameter za te dve smeri.

8. korak: 4. korak: Napišite funkcije LEDPlotList

Ko smo dosegli stopnje nagiba v tiltList, lahko zdaj zapišemo led grafične funkcije za različne primere, ki se lahko pojavijo, in sicer

  • plotSingle (): Nagib samo v eno smer, pri čemer se za parameter upošteva obseg nagiba v dani smeri.
  • plotDiagonal (): Nagib v dveh smereh enake velikosti, pri čemer se kot parameter upošteva obseg nagiba v obe smeri.
  • plotUnequal (): Nagib v dveh smereh različnih velikosti, pri čemer se za parameter upošteva obseg nagiba v vsaki smeri. Najprej uporabi plotDiagonal () in nato doda matriki ledPlotList.

Te funkcije načrtovanja napišejo niz vodilnih koordinat v ledPlotList, ki ga bodo kasneje narisali.

9. korak: 5. korak: Narišite LED matriko za vsak primer

Z uporabo grafičnih funkcij iz treh primerov v koraku 4 lahko zdaj narišemo dejansko matriko LED za različne možne kombinacije ravni nagiba. Ker tri funkcije v koraku 4 ne razlikujejo glede na smer, moramo prilagoditi vrednosti koordinat, posredovane matriki LED, da LED diode narišemo v prave smeri.

PlotResult () vsebuje več pogojev if, ki preverijo vrsto nagiba in ustrezno prikažejo matriko LED z uporabo led.plot (x, y). Možne kombinacije nagiba so:

Enosmerna smer: samo levo ali samo desno

Enosmerna smer: samo naprej ali samo nazaj

Dve smeri: naprej-levo ali nazaj-levo

Dve smeri: naprej-desno ali nazaj-desno

Opomba: Za nagib v dveh smereh ima lahko vsaka kombinacija enako ali različno velikost (preverjeno s primerjavo maxX in maxY), zato je narisana z uporabo plotDiagonal () ali plotUnequal ().

10. korak: 6. korak: Napišite kalibracijske funkcije

Ko smo končali večji del kode, dodamo funkcije calibTilt () in resetTilt ().

calibTilt () uporabnikom omogoča, da pri trenutnem položaju mikro: bita tarirajo nagib na nič

resetTilt () ponastavi kalibracijo plošče v prvotno stanje.

11. korak: 7. korak: Napišite funkcijo stanja

Dodamo preprosto funkcijo checkState (), da preverimo, ali so se ravni nagiba spremenile glede na prejšnjo ponovitev.

Če se stopnje nagiba ne spremenijo od prejšnje iteracije, tj.

12. korak: 8. korak: Vse skupaj 1. del

Zdaj lahko končno vstavimo vse potrebne funkcije v neskončno zanko micro: bit, da jo lahko večkrat izvajamo.

Najprej nastavimo tipki A in B na mikro: bit na funkciji calibTilt () in resetTilt () z uporabo input.onButtonPressed () in ko je kalibracija zaključena, označimo kljukico na matriki LED.

13. korak: 9. korak: Vse skupaj 2. del

Nato zaženite potrebne funkcije v skladu z našim kodnim tokom v koraku 0 in preverite, ali se stanje spreminja (kar pomeni, da se je nagib mikro: bita spremenil od zadnje iteracije).

Če pride do spremembe ravni nagiba, tj.

14. korak: 10. korak: Montaža

Dokončano kodo prenesite v svoj micro: bit.

Vaš micro: bit in baterijo varno pritrdite na kateri koli predmet in pripravljen je za uporabo!

Odlično

Zabavajte se z električno vodno tehtnico! In ko ste že pri tem, zakaj ne poskusite razširiti zmogljivosti senzorja nagiba ali ga celo spremeniti v igro?

Ta članek je iz TINKERCADEMY.

Korak 15: Vir

Ta članek je iz:

Če imate kakršna koli vprašanja, se lahko obrnete na: [email protected].

Priporočena: