Sadržaj:
- Korak 1: Ciljevi
- Korak 2: Materijali
- Korak 3: Predkodiranje: Povežite svoj Micro: Bit
- Korak 4: Korak 0: Tijek koda
- Korak 5: Korak 1: Definiranje varijabli
- Korak 6: Korak 2: Pretvorite vrijednosti nagiba u razine
- Korak 7: Korak 3: Sastavite razine 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 kalibracijske funkcije
- 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čnu libelu: 15 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Koristite ovu libelu za brzo i jednostavno prikazivanje nagiba bilo kojeg pričvršćenog predmeta!
Kreirala Kaitlyn iz Instituta Raffles.
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
- Spojite BBC micro: bit na računalo pomoću mikro USB kabela.
- Pristupite javascript uređivaču za micro: bit na stranici makecode.microbit.org.
Korak 4: Korak 0: Tijek koda
Prije nego počnemo pisati kôd, moramo odlučiti što želimo postići programom i kojim redoslijedom bi svaka komponenta trebala raditi.
Za električnu libelu, koraci koje ćemo poduzeti u kodu za svaku petlju su:
- Očitajte očitanja nagiba s mjerača ubrzanja.
- Pretvorite očitanja nagiba u razine nagiba za prikaz na LED matrici.
- Provjerite promjene očitanja razine nagiba iz prethodne petlje.
- Stvorite niz LED koordinata za različite slučajeve i smjerove nagiba.
- Ucrtajte 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: Definiranje varijabli
Počinjemo definiranjem potrebnih varijabli kako je prikazano. Analiza nekoliko varijabli je sljedeća:
- tiltList: Niz koji pohranjuje opseg nagiba od vrijednosti 0-4 po redoslijedu [Lijevo, Desno, Naprijed, Nazad]
- tiltBoundary: Granica prve razine 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 vodene koordinatne nizove u obliku (x, y). Da bismo definirali niz, koristimo tip broja 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 mjerača ubrzanja, i pretvara te vrijednosti nagiba (num) u razine nagiba od 0 do 4.
0 označava nema nagiba u danom smjeru, a 4 označava vrlo veliki nagib, dok se -1 vraća kada dođe do pogreške.
Ovdje se tiltBoundary i tiltSensitivity koriste kao granične vrijednosti između razina nagiba.
Korak 7: Korak 3: Sastavite razine nagiba
Dvije funkcije checkRoll () i checkPitch () upisuju razine nagiba dobivene iz tiltExtent () u tiltList za osi kotrljanja (lijevo-desno) i nagiba (naprijed-natrag).
Prije korištenja vrijednosti nagiba kalibriramo ih pomoću vrijednosti s nulom i za korak (zeroPitch) i za kotrljanje (zeroRoll) dobiven 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 koji se mora dati funkciji tiltExtent () kao parametar za ova dva smjera.
Korak 8: Korak 4: Napišite LEDPlotList funkcije
Dobivši razine nagiba u tiltList -u, sada možemo napisati vodeće funkcije iscrtavanja 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 kao parametar opseg nagiba u oba smjera.
- plotUnequal (): Nagib u dva smjera različitih veličina, uzimajući za svaki parametar opseg nagiba u svakom smjeru. Prvo koristi plotDiagonal (), a zatim dodaje u ledPlotList niz.
Ove funkcije iscrtavanja zapisuju niz vodećih koordinata u ledPlotList koji će se kasnije iscrtati.
Korak 9: Korak 5: Iscrtajte LED matricu za svaki slučaj
Koristeći crtanje funkcija iz tri slučaja u koraku 4, sada možemo iscrtati stvarnu LED matricu za različite moguće kombinacije razina 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 prema tome iscrtavaju LED matricu pomoću LED.plot (x, y). Moguće kombinacije nagiba su:
Jednosmjerni smjer: samo lijevo ili samo desno
Jednosmjerni smjer: samo naprijed ili samo natrag
Dva smjera: naprijed-lijevo ili natrag-lijevo
Dva smjera: naprijed-desno ili natrag-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 se stoga iscrtava pomoću plotDiagonal () ili plotUnequal ().
Korak 10: Korak 6: Napišite kalibracijske funkcije
Nakon što smo završili većinu koda, sada dodajemo funkcije calibTilt () i resetTilt ().
calibTilt () omogućuje korisnicima da podese nagib na nulu u trenutnom položaju mikro: bita
resetTilt () vraća kalibraciju ploče u njezino izvorno 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 razinama nagiba u odnosu na prethodnu iteraciju, tj. Stanje promjene == 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: bita kako bismo je više puta pokrenuli.
Najprije smo postavili tipke A i B na micro: bitu na funkcije calibTilt () i resetTilt () respektivno pomoću input.onButtonPressed () i označili kvačicu na LED matrici kad je kalibracija dovrš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 razina nagiba, tj. StateChange == 1, kôd će ažurirati prevState na nove razine nagiba i postaviti stanjeChange natrag na 0 za sljedeću iteraciju te iscrtati ažurirane razine nagiba na LED matrici pomoću PlotResult ().
Korak 14: Korak 10: Montaža
Prebacite dovršeni kôd u svoj micro: bit.
Čvrsto pričvrstite svoj micro: bit i bateriju na bilo koji objekt i spreman je za uporabu!
Super
Zabavite se sa svojom električnom libelom! I dok ste već kod toga, zašto ne biste pokušali proširiti mogućnosti osjetnika 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čeni:
Kako izgraditi električnu longboard s kontrolom telefona: 6 koraka (sa slikama)
Kako izgraditi električni longboard s kontrolom telefona: električni longboard -i su izvrsni! TESTIRAJTE Snimke u videu ISPOD KAKO IZGRADITI ELEKTRIČNU LONGBOARD -U KOJU UPRAVLJA S TELEFONA S BLUETOOTH -om Ažuriranje #1: Postavljena je hvataljka, neke dorade kontrolera brzine značile su da imam veća brzina iz bo
Pretvaranje akustične gitare u električnu bas gitaru: 5 koraka
Pretvaranje akustične gitare u električnu bas gitaru: Prvu klasičnu gitaru poklonio sam na svoj 15. rođendan. Kako su godine prolazile, imao sam neke niskobudžetne električne gitare i jednu poluakustičnu. Ali nikad nisam sebi kupovao bas. Tako sam prije nekoliko tjedana odlučio pretvoriti svoj
Izgradite vlastitu električnu gitaru!: 8 koraka (sa slikama)
Izgradite vlastitu električnu gitaru !: Jeste li ikada gledali gitaru i pitali se: "Kako to uspijevaju?" Ili ste pomislili: "Kladim se da bih mogao izgraditi svoju gitaru", ali to zapravo nikada niste isprobali? Izgradio sam nekoliko električnih gitara tijekom godina i kroz pokušaje i
Sitna limunska baterija i drugi dizajni za električnu energiju bez troškova i LED svjetlo bez baterija: 18 koraka (sa slikama)
Sitna limunska baterija i drugi dizajni za električnu energiju bez troškova i LED svjetlo bez baterija: Bok, vjerojatno već znate za limunske baterije ili bio-baterije. Obično se koriste u obrazovne svrhe i koriste elektrokemijske reakcije koje stvaraju niske napone, obično prikazane u obliku LED ili žarulje koja svijetli. Ovi
Kako napraviti električnu energiju dok trčite!: 4 koraka
Kako napraviti električnu energiju dok trčite !: Ne želite li da se kinetička energija korištena tijekom trčanja može povezati s drugim stvarima? Pa znaj da može! Ovo je moja ideja o Daily Planetu. Njihovo je bilo puno bolje, ali htio sam napraviti svoj