Turinys:
- 1 žingsnis: Tikslai
- 2 žingsnis: medžiagos
- 3 žingsnis: išankstinis kodavimas: prijunkite „Micro: Bit“
- 4 žingsnis: 0 žingsnis: kodo srautas
- 5 veiksmas: 1 žingsnis: kintamųjų apibrėžimas
- 6 veiksmas: 2 žingsnis: paverskite pakreipimo vertes į lygius
- 7 veiksmas: 3 žingsnis: sukurkite pakreipimo lygius
- 8 veiksmas: 4 žingsnis: parašykite „LEDPlotList“funkcijas
- 9 veiksmas: 5 žingsnis: Nubraižykite LED matricą kiekvienu atveju
- 10 veiksmas: 6 veiksmas: parašykite kalibravimo funkcijas
- 11 veiksmas: 7 žingsnis: parašykite būsenos funkciją
- 12 žingsnis: 8 žingsnis: viską sudėkite 1 dalis
- 13 žingsnis: 9 veiksmas: viską sudėkite 2 dalis
- 14 žingsnis: 10 žingsnis: surinkimas
- 15 žingsnis: šaltinis
Video: Sukurkite elektrinį gulsčiuką: 15 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Naudokite šį gulsčiuką, kad greitai ir lengvai parodytumėte bet kokio pritvirtinto objekto pakreipimą!
Sukūrė Kaitlyn iš „Raffles Institution“.
1 žingsnis: Tikslai
Išmokite skaityti pakreipimą naudodami „micro: bit“įmontuotą akselerometrą.
Išmokite dirbti su „micro: bit“5x5 LED ekranu!
2 žingsnis: medžiagos
1 x BBC mikro: bit
1 x Micro USB kabelis
2 x AA baterijos
1 x dvigubas AA baterijų paketas
3 žingsnis: išankstinis kodavimas: prijunkite „Micro: Bit“
- Prijunkite „BBC micro: bit“prie kompiuterio naudodami „micro USB“kabelį.
- Pasiekite „micro: bit“„JavaScript“redaktorių svetainėje makecode.microbit.org.
4 žingsnis: 0 žingsnis: kodo srautas
Prieš pradėdami rašyti kodą, turime nuspręsti, ką norime pasiekti su programa ir kokia tvarka turėtų būti vykdomas kiekvienas komponentas.
Elektrinio gulsčiuko atveju veiksmai, kurių imsimės kiekvienos kilpos kodu:
- Skaitykite pakreipimo rodmenis iš akselerometro.
- Konvertuokite posvyrio rodmenis į pakreipimo lygius, kad jie būtų rodomi LED matricoje.
- Patikrinkite, ar pasikeitė pakreipimo lygio rodmenys iš ankstesnės kilpos.
- Sukurkite LED koordinačių masyvą įvairiems pakreipimo atvejams ir kryptims.
- Nubraižykite LED koordinates ant mikro: bitų LED matricos.
Turime įtraukti keletą papildomų funkcijų:
- Pradinės pakreipimo padėties kalibravimas.
- Grįžtama prie numatytojo pakreipimo kalibravimo.
5 veiksmas: 1 žingsnis: kintamųjų apibrėžimas
Mes pradedame apibrėždami reikiamus kintamuosius, kaip parodyta. Kelių kintamųjų suskirstymas yra toks:
- tiltList: masyvas, kuriame saugomas pakreipimo mastas nuo 0-4 reikšmių tokia tvarka [kairėn, dešinėn, pirmyn, atgal]
- tiltBoundary: pirmojo pakreipimo lygio riba tarp 0 (be pakreipimo) ir 1 (nedidelis pakreipimas)
- prevState: Masyvas, kuriame saugomos ankstesnės kilpos „micro: bit“pakreipimo vertės tuo pačiu formatu kaip „tiltList“, naudojamas patikrinti, ar pakrypimas tarp iteracijų pasikeitė
- ledPlotList: Nubraižykite vadovaujamų koordinačių masyvus forma (x, y). Norėdami apibrėžti masyvą, mes naudojame tipo numerį , kad nurodytume tipo: numerio kintamųjų įdėtą masyvą.
6 veiksmas: 2 žingsnis: paverskite pakreipimo vertes į lygius
Kadangi 5x5 LED matrica gali parodyti tik tiek informacijos, faktinės pakreipimo vertės nebus naudingos rodymui.
Funkcija tiltExtent () paima parametrą num, kuris nurodo pagreičio matuoklio pakreipimo vertę, ir konvertuoja šias pakreipimo vertes (num) į pakreipimo lygius nuo 0 iki 4.
0 nurodo, kad tam tikra kryptimi nėra pakreipimo, o 4 -labai didelį pasvirimą, o -1 -grąžinama, kai yra klaida.
Čia kaip pakreipimo lygių ribinės vertės naudojamos tiltBoundary ir tiltSensitivity.
7 veiksmas: 3 žingsnis: sukurkite pakreipimo lygius
Dvi funkcijos checkRoll () ir checkPitch () įrašo pakreipimo lygius, gautus iš tiltExtent (), į tiltList atitinkamai ritiniui (kairėn dešinėn) ir žingsniui (pirmyn atgal).
Prieš naudodami pakreipimo vertes, mes juos kalibruojame naudodami nulinę reikšmę tiek žingsniui (zeroPitch), tiek ritiniui (zeroRoll), gautam iš vėliau parašytos kalibravimo funkcijos.
Kadangi akselerometro rodmenys yra neigiami tiek pakreipus kairę, tiek į priekį, turime naudoti funkciją Math.abs (), kad gautume neigiamos vertės modulį, kuris turi būti suteiktas funkcijai tiltExtent () kaip šių dviejų krypčių parametras.
8 veiksmas: 4 žingsnis: parašykite „LEDPlotList“funkcijas
Gavę pakreipimo lygius „tiltList“, dabar galime parašyti vedamas brėžinio funkcijas įvairiems atvejams, kurie gali kilti, būtent
- plotSingle (): pakreipkite tik viena kryptimi, kaip parametrą laikydami pakreipimo tam tikra kryptimi mastą.
- plotDiagonal (): pakreipkite į dvi to paties dydžio kryptis, kaip parametrą laikykite pasvirimo laipsnį bet kuria kryptimi.
- plotUnequal (): pakreipkite į dvi skirtingo dydžio kryptis, kaip parametrą laikykite pasvirimo laipsnį kiekviena kryptimi. Pirmiausia naudoja plotDiagonal () ir vėliau prideda prie ledPlotList masyvo.
Šios braižymo funkcijos į ledPlotList įrašo vedamų koordinačių masyvą, kuris bus nubraižytas vėliau.
9 veiksmas: 5 žingsnis: Nubraižykite LED matricą kiekvienu atveju
Naudodami brėžinio funkcijas iš trijų atvejų 4 žingsnyje, dabar galime nubraižyti tikrąją LED matricą įvairiems galimiems pakreipimo lygių deriniams. Kadangi trys 4 žingsnio funkcijos nediskriminuoja krypties, turime koreguoti LED matricai perduotas koordinačių reikšmes, kad šviesos diodai būtų nubrėžti teisingomis kryptimis.
„PlotResult“() yra kelios sąlygos, kurios tikrina pakreipimo tipą ir atitinkamai nubraižo LED matricą naudojant „led.plot“(x, y). Galimi pakreipimo deriniai yra šie:
Viena kryptis: tik į kairę arba tik į dešinę
Viena kryptis: tik pirmyn arba tik atgal
Dvi kryptys: pirmyn kairėn arba atgal kairėn
Dvi kryptys: pirmyn į dešinę arba atgal į dešinę
Pastaba: kai pakreipiama dviem kryptimis, kiekvienas derinys gali būti vienodo arba skirtingo dydžio (tikrinamas lyginant maxX ir maxY), todėl nubraižomas atitinkamai naudojant plotDiagonal () arba plotUnequal ().
10 veiksmas: 6 veiksmas: parašykite kalibravimo funkcijas
Baigę didžiąją kodo dalį, dabar pridedame funkcijas calibTilt () ir resetTilt ().
„calibTilt“() leidžia vartotojams nustatyti pasvirimą iki nulio esant dabartinei „micro: bit“padėčiai
resetTilt () grąžina plokštės kalibravimą į pradinę būseną.
11 veiksmas: 7 žingsnis: parašykite būsenos funkciją
Pridedame paprastą funkciją checkState (), kad patikrintume, ar pakreipimo lygiai pasikeitė nuo ankstesnės iteracijos.
Jei pakreipimo lygiai nesikeičia nuo ankstesnės iteracijos, t.
12 žingsnis: 8 žingsnis: viską sudėkite 1 dalis
Dabar pagaliau galime įdėti visas būtinas funkcijas į „micro: bit“begalinę kilpą, kad ji būtų paleista pakartotinai.
Pirma, mes nustatome „micro: bit“mygtukus A ir B į atitinkamai „calibTilt“() ir „resetTilt“() funkcijas, naudodami įvestį. OnButtonPressed (), o kai kalibravimas baigiamas, pažymime varnelę ant LED matricos.
13 žingsnis: 9 veiksmas: viską sudėkite 2 dalis
Toliau paleiskite reikiamas funkcijas pagal mūsų kodo srautą 0 žingsnyje ir patikrinkite, ar nepasikeitė būsena (tai reiškia, kad pasikeitė „micro: bit“pakreipimas nuo paskutinės iteracijos).
Jei pasikeičia pasvirimo lygiai, t.
14 žingsnis: 10 žingsnis: surinkimas
Pabaikite užbaigtą kodą į „micro: bit“.
Tvirtai pritvirtinkite „micro: bit“ir akumuliatorių prie bet kurio objekto ir jis yra paruoštas naudoti!
Nuostabu
Linksminkitės su elektriniu gulsčiuku! Ir kol jūs tai darote, kodėl gi nepabandžius išplėsti pakreipimo jutiklio galimybių ar net paversti jį žaidimu?
Šis straipsnis yra iš TINKERCADEMY.
15 žingsnis: šaltinis
Šis straipsnis yra iš:
Jei turite klausimų, galite susisiekti : [email protected].
Rekomenduojamas:
Valdykite galingą elektrinį riedlentės el. Dviratį 350 W nuolatinės srovės variklį naudodami „Arduino“ir BTS7960b: 9 žingsniai
Valdykite galingą elektrinį riedlentės 350 W nuolatinės srovės variklį naudodami „Arduino“ir „BTS7960b“: Šioje pamokoje mes sužinosime, kaip valdyti nuolatinės srovės variklį naudojant „Arduino“ir nuolatinės srovės tvarkyklę „bts7960b“. Variklis gali būti 350 W arba tik mažas žaislinis arduino nuolatinės srovės variklis tol, kol jo galia neviršija BTS7960b tvarkyklės maksimalios srovės. Žiūrėkite vaizdo įrašą
Sukurkite ir sukurkite EKG grandinę: 6 žingsniai
Sukurkite ir sukurkite EKG grandinę: elektrokardiograma (EKG) rodo bendrą elgesį, paprastai žmogaus širdyje. Stebėdami širdies įtampą laikui bėgant, gydytojai gali susidaryti bendrą paciento sveikatos pojūtį, nes atsiranda daug kvėpavimo ir širdies problemų
Kaip padaryti popierinį žibintą naudojant elektrinį dažų lempos rinkinį: 7 žingsniai
Kaip pasidaryti popierinį žibintą naudojant elektrinį dažų lempos rinkinį: šioje pamokoje parodysime, kaip nulaužti elektrinį dažų lempos komplektą, kad padarytumėte popierinį žibintą. Šioje pamokoje mes naudojome žvakių šviesos nustatymą, vieną iš papildomų „Light Up Board“režimų. Šiai pamokai jums reikia tik kortelės, El
Nulaužkite paveikslo rėmelį naudodami elektrinį dažų lempos rinkinį: 10 žingsnių
Nulaužkite paveikslo rėmelį naudodami savo elektrinių dažų lempų rinkinį: elektrinis dažų lempų rinkinys yra puikus būdas pradėti ir kurti projektus naudojant „Light Up Board“ir „Electric Paint“. Bet jei norite būti kūrybingi naudodami „Light Up Board“, ši pamoka yra puiki vieta pradėti! Šioje pamokoje
Kaip išardyti elektrinį motorolerį elektrinėms dalims: 6 žingsniai
Kaip išardyti elektrinį motorolerį elektrinėms dalims. Tai yra būdas, kuriuo aš išardau naudotus elektrinius paspirtukus, skirtus dalims, kurioms reikia statyti elektrinę kalnų lentą. (Idėja kilusi iš > > https: // www .instructables.com/id/Electric-Mountain-Board/) Priežastis, kodėl nusipirkau naudotą, yra