Sadržaj:
- Korak 1: Ciljevi
- Korak 2: Materijali
- Korak 3: Predkodiranje: Povežite svoj Micro: Bit
- Korak 4: Korak 0: Tok koda
- Korak 5: Korak 1: Definisanje promenljivih
- Korak 6: Korak 2: Pretvorite vrijednosti nagiba u razine
- Korak 7: Korak 3: Sastavite nivoe nagiba
- Korak 8: Korak 4: Napišite LEDPlotList funkcije
- Korak 9: Korak 5: Iscrtajte LED matricu za svaki slučaj
- Korak 10: Korak 6: Napišite funkcije kalibracije
- Korak 11: Korak 7: Napišite funkciju stanja
- Korak 12: Korak 8: Sve zajedno 1. dio
- Korak 13: Korak 9: Sve zajedno 2. dio
- Korak 14: Korak 10: Montaža
- Korak 15: Izvor
Video: Stvorite električni libelu: 15 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Koristite ovu libelu za brzo i jednostavno prikazivanje nagiba bilo kojeg pričvršćenog objekta!
Kreirala Kaitlyn iz Raffles Institution.
Korak 1: Ciljevi
Naučite čitati nagib pomoću mikro: bit ugrađenog akcelerometra.
Naučite raditi s micro: bit 5x5 LED zaslonom!
Korak 2: Materijali
1 x BBC mikro: bit
1 x mikro USB kabel
2 x AA baterije
1 x dvostruka AA baterija
Korak 3: Predkodiranje: Povežite svoj Micro: Bit
- Povežite BBC micro: bit sa računarom pomoću mikro USB kabla.
- Pristupite javascript uređivaču za micro: bit na stranici makecode.microbit.org.
Korak 4: Korak 0: Tok koda
Prije nego počnemo pisati kôd, moramo odlučiti što želimo postići programom i kojim redoslijedom treba raditi svaka komponenta.
Za električnu libelu, koraci koje ćemo poduzeti u kodu za svaku petlju su:
- Očitajte očitanja nagiba sa akcelerometra.
- Pretvorite očitanja nagiba u nivoe nagiba koji će se prikazivati na LED matrici.
- Provjerite promjene u očitanjima nivoa nagiba iz prethodne petlje.
- Stvorite niz LED koordinata za različite slučajeve nagiba i smjera.
- Iscrtajte LED koordinate na micro: bit LED matricu.
Nekoliko dodatnih funkcija koje moramo uključiti su:
- Kalibracija za početni položaj nagiba.
- Vraćanje na zadanu kalibraciju nagiba.
Korak 5: Korak 1: Definisanje promenljivih
Počinjemo definiranjem potrebnih varijabli kako je prikazano. Analiza nekoliko varijabli je sljedeća:
- tiltList: Niz koji skladišti opseg nagiba od vrijednosti 0-4 po redoslijedu [Lijevo, Desno, Naprijed, Nazad]
- tiltBoundary: Granica prvog nivoa nagiba između 0 (bez nagiba) i 1 (blagi nagib)
- prevState: Niz koji pohranjuje vrijednosti nagiba micro: bita iz prethodne petlje u istom formatu kao i tiltList, koji se koristi za provjeru promjene nagiba između iteracija
- ledPlotList: Iscrtajte nizove koordinata u obliku (x, y). Da bismo definirali niz, koristimo tip broj za označavanje ugniježđenog niza varijabli tipa: broj.
Korak 6: Korak 2: Pretvorite vrijednosti nagiba u razine
Budući da LED matrica 5x5 može prikazati samo toliko informacija, stvarne vrijednosti nagiba neće biti korisne za prikaz.
Umjesto toga, funkcija tiltExtent () uzima parametar num, koji se odnosi na vrijednost nagiba iz akcelerometra, i pretvara te vrijednosti nagiba (num) u razine nagiba od 0 do 4.
0 označava da nema nagiba u datom smjeru, a 4 označava vrlo veliki nagib, dok se -1 vraća kada dođe do greške.
Ovdje se tiltBoundary i tiltSensitivity koriste kao granične vrijednosti između nivoa nagiba.
Korak 7: Korak 3: Sastavite nivoe nagiba
Dve funkcije checkRoll () i checkPitch () upisuju nivoe nagiba dobijene iz tiltExtent () u tiltList za osi kotrljanja (levo-desno) i nagiba (napred-nazad).
Prije korištenja vrijednosti nagiba, kalibriramo ih pomoću nulirane vrijednosti za pitch (zeroPitch) i roll (zeroRoll) dobivene iz kasnije napisane kalibracijske funkcije.
Kako su očitanja akcelerometra negativna i za nagib ulijevo i prema naprijed, moramo koristiti funkciju Math.abs () da bismo dobili modul negativne vrijednosti koja se daje funkciji tiltExtent () kao parametar za ova dva smjera.
Korak 8: Korak 4: Napišite LEDPlotList funkcije
Nakon što smo dobili nivoe nagiba u tiltList -u, sada možemo napisati led grafičke funkcije za različite slučajeve koji se mogu pojaviti, naime
- plotSingle (): Nagib samo u jednom smjeru, uzimajući opseg nagiba u zadanom smjeru kao parametar.
- plotDiagonal (): Nagib u dva smjera iste veličine, uzimajući stepen nagiba u oba smjera kao parametar.
- plotUnequal (): Nagib u dva smjera različitih veličina, uzimajući stepen nagiba u svakom smjeru kao parametar. Prvo koristi plotDiagonal (), a zatim dodaje u niz ledPlotList.
Ove funkcije iscrtavanja upisuju niz vodećih koordinata u ledPlotList koji će se kasnije iscrtati.
Korak 9: Korak 5: Iscrtajte LED matricu za svaki slučaj
Koristeći funkcije crtanja iz tri slučaja u koraku 4, sada možemo iscrtati stvarnu LED matricu za različite moguće kombinacije nivoa nagiba. Kako tri funkcije u koraku 4 ne razlikuju smjer, moramo prilagoditi vrijednosti koordinata proslijeđene LED matrici kako bismo LED diode iscrtali u pravim smjerovima.
PlotResult () sadrži više if uvjeta koji provjeravaju vrstu nagiba i iscrtavaju LED matricu u skladu s tim pomoću led.plot (x, y). Moguće kombinacije nagiba su:
Jednosmjerni smjer: samo lijevo ili samo desno
Jednosmjerni smjer: samo naprijed ili samo unatrag
Dva smjera: naprijed-lijevo ili nazad-lijevo
Dva smjera: naprijed-desno ili nazad-desno
Napomena: Za nagib u dva smjera, svaka kombinacija može imati istu ili različitu veličinu (provjerava se usporedbom maxX i maxY), pa stoga iscrtana pomoću plotDiagonal () ili plotUnequal () respektivno.
Korak 10: Korak 6: Napišite funkcije kalibracije
Nakon što smo završili većinu koda, sada dodajemo funkcije calibTilt () i resetTilt ().
calibTilt () omogućava korisnicima da podese nagib na nulu na trenutnoj poziciji mikro: bita
resetTilt () vraća kalibraciju ploče u prvobitno stanje.
Korak 11: Korak 7: Napišite funkciju stanja
Dodajemo jednostavnu funkciju checkState () kako bismo provjerili jesu li se razine nagiba promijenile u odnosu na prethodnu iteraciju.
Ako nema promjena u nivoima nagiba iz prethodne iteracije, tj. StateChange == 0, možemo izravno prijeći na sljedeću iteraciju i preskočiti iscrtavanje LED matrice, smanjujući potrebno izračunavanje.
Korak 12: Korak 8: Sve zajedno 1. dio
Sada konačno možemo staviti sve potrebne funkcije u beskonačnu petlju micro: bit -a da bismo je ponavljali.
Najprije smo postavili tipke A i B na micro: bitu na funkcije calibTilt () i resetTilt () respektivno pomoću input.onButtonPressed () i iscrtali kvačicu na LED matrici kada je kalibracija završena.
Korak 13: Korak 9: Sve zajedno 2. dio
Zatim pokrenite potrebne funkcije prema našem protokolu koda u koraku 0 i provjerite postoji li promjena stanja (što znači da je došlo do promjene u nagibu micro: bita od posljednje iteracije).
Ako dođe do promjene nivoa nagiba, tj. StateChange == 1, kôd će ažurirati prevState na nove nivoe nagiba i postaviti stanjeChange natrag na 0 za sljedeću iteraciju te iscrtati ažurirane nivoe nagiba na LED matrici pomoću PlotResult ().
Korak 14: Korak 10: Montaža
Prebacite završeni kôd na svoj micro: bit.
Čvrsto pričvrstite svoj micro: bit i bateriju na bilo koji predmet i spreman je za upotrebu!
Awesome
Zabavite se sa svojim električnim libelom! I dok ste već tu, zašto ne biste pokušali proširiti mogućnosti senzora nagiba ili ga čak pretvoriti u igru?
Ovaj članak je iz TINKERCADEMY.
Korak 15: Izvor
Ovaj članak je sa:
Ako imate bilo kakvih pitanja, možete se obratiti na adresu [email protected].
Preporučuje se:
Postati sa komunom shizophyllum: stvorite sterilnu kulturu od pronađenih gljiva: 3 koraka (sa slikama)
Kako postati komuna Schizophyllum: Stvorite sterilnu kulturu od pronađenih gljiva: Ova instrukcija je fokusirana na objašnjavanje kako stvoriti sterilnu kulturu gljive Schizophyllum Commune (uobičajeni naziv Split Gill gljiva) na Petrijevoj zdjeli koristeći pronađene gljive. Utvrđeno je da komuna Schizophyllum ima više od 28.000 spolova
Izgledajte kao vaš neprijatelj: Stvorite znakove koji zbunjuju, udaraju i parodiraju!: 6 koraka (sa slikama)
Izgledajte kao vaš neprijatelj: Stvorite znakove koji zbunjuju, udaraju i parodiraju !: U ovom uputstvu naučit ćete dizajn kamuflaže. U prošlim projektima sam usvojio i usavršio različite tehnike kako bih oponašao vladine ili korporativne oznake. Korištenje metoda navedenih u sljedećim koracima omogućit će vam privremeno bo
Pretvorite TI grafički kalkulator u intervalometar i stvorite videozapise s ubrzanim protokom vremena: 7 koraka (sa slikama)
Pretvorite TI grafički kalkulator u intervalometar i stvorite video zapise sa ubrzanim protokom vremena: Oduvijek sam želio snimati video zapise s ubrzanjem vremena, ali nemam kameru s ugrađenom funkcijom intervalometra. Zapravo, mislim da nema mnogo kamere dolaze s takvom funkcijom (posebno ne SLR fotoaparati). Dakle, šta želite učiniti ako želite
Na jednostavan način stvorite prozor naredbenog retka: 3 koraka
Napravite prozor naredbenog retka na jednostavan način. Znam da je to već bilo učinjeno, ali moja verzija je malo drugačijaU redu, pa želite isprobati neke sjajne trikove naredbenog retka, ali izgleda da ne možete saznati kako zapravo otvorite komandnu liniju. (To bi bio slučaj u većini škola ili
Stvorite sjajnu ličnu pozadinu: 6 koraka
Napravite sjajnu ličnu pozadinu: Ovo je brzo uputstvo o tome kako napraviti vlastitu prilagođenu pozadinu u programu Vista (nisam siguran za druge sisteme, ali to sam učinio u programu vista.it uključuje korištenje sjajne čuvara zaslona (zvano mystify), adobe photoshop) i malo sreće.sa mojim n