Satura rādītājs:
- 1. darbība. Mērķi
- 2. solis: materiāli
- 3. darbība. Iepriekšēja kodēšana: pievienojiet savu Micro: Bit
- 4. darbība: 0. darbība: koda plūsma
- 5. darbība: 1. darbība: mainīgo noteikšana
- 6. darbība: 2. darbība. Pārvērtiet slīpuma vērtības uz līmeņiem
- 7. darbība: 3. darbība: salieciet slīpuma līmeņus
- 8. darbība: 4. darbība: ierakstiet LEDPlotList funkcijas
- 9. darbība: 5. darbība: uzzīmējiet LED matricu katram gadījumam
- 10. darbība: 6. darbība: uzrakstiet kalibrēšanas funkcijas
- 11. darbība: 7. darbība. Ierakstiet valsts funkciju
- 12. solis: 8. solis: visu salieciet kopā 1. daļa
- 13. solis: 9. darbība: visu salieciet kopā 2. daļa
- 14. darbība: 10. darbība: montāža
- 15. solis: avots
Video: Izveidojiet elektrisko līmeņrādi: 15 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Izmantojiet šo līmeņrādi, lai ātri un viegli parādītu jebkura pievienota objekta slīpumu!
Izveidoja Kaitlyn no Raffles Institution.
1. darbība. Mērķi
Iemācieties lasīt slīpumu, izmantojot micro: bit iebūvēto akselerometru.
Iemācieties strādāt ar micro: bit 5x5 LED displeju!
2. solis: materiāli
1 x BBC mikro: bits
1 x mikro USB kabelis
2 x AA baterijas
1 x dubults AA bateriju komplekts
3. darbība. Iepriekšēja kodēšana: pievienojiet savu Micro: Bit
- Savienojiet BBC micro: bit ar datoru, izmantojot mikro USB kabeli.
- Piekļūstiet javascript redaktoram vietnē microcits vietnē makecode.microbit.org.
4. darbība: 0. darbība: koda plūsma
Pirms sākam rakstīt kodu, mums jāizlemj, ko mēs vēlamies sasniegt ar programmu un kādā secībā katram komponentam vajadzētu darboties.
Attiecībā uz elektrisko līmeņrādi soļi, ko mēs veiksim katras cilpas kodā, ir šādi:
- Lasiet paātrinājuma mērījumus no akselerometra.
- Pārvērst slīpuma rādījumus slīpuma līmeņos, lai tie tiktu parādīti LED matricā.
- Pārbaudiet, vai nav izmaiņas slīpuma līmeņa rādījumos no iepriekšējās cilpas.
- Izveidojiet LED koordinātu masīvu dažādiem slīpuma gadījumiem un virzieniem.
- Uzzīmējiet LED koordinātas mikro: bitu LED matricā.
Mums ir jāiekļauj dažas papildu funkcijas:
- Kalibrēšana sākotnējam slīpuma stāvoklim.
- Atgriežoties pie noklusējuma slīpuma kalibrēšanas.
5. darbība: 1. darbība: mainīgo noteikšana
Mēs sākam, nosakot nepieciešamos mainīgos, kā parādīts attēlā. Dažu mainīgo sadalījums ir šāds:
- tiltList: masīvs, kas saglabā slīpuma pakāpi no vērtībām 0-4 secībā [pa kreisi, pa labi, uz priekšu, atpakaļ]
- tiltBoundary: pirmā slīpuma līmeņa robeža starp 0 (bez slīpuma) un 1 (neliels slīpums)
- prevState: Masīvs, kurā tiek saglabātas iepriekšējās cilpas micro: bit slīpuma vērtības tādā pašā formātā kā tiltList, ko izmanto, lai pārbaudītu slīpuma izmaiņas starp iterācijām
- ledPlotList: uzzīmējiet led koordinātu masīvus formā (x, y). Lai definētu masīvu, mēs izmantojam tipa numuru , lai norādītu ligzdotu masīvu ar mainīgajiem tipiem: number.
6. darbība: 2. darbība. Pārvērtiet slīpuma vērtības uz līmeņiem
Tā kā 5x5 LED matrica var parādīt tikai tik daudz informācijas, faktiskās slīpuma vērtības displejā nebūs noderīgas.
Tā vietā funkcija tiltExtent () ņem parametru num, kas attiecas uz akselerometra slīpuma vērtību, un pārvērš šīs slīpuma vērtības (num) slīpuma līmeņos no 0 līdz 4.
0 norāda, ka dotajā virzienā nav slīpuma, un 4 norāda uz ļoti lielu slīpumu, bet -1 tiek atgriezts kļūdas gadījumā.
Šeit kā robežas vērtības starp slīpuma līmeņiem tiek izmantotas tiltBoundary un tiltSensitivity.
7. darbība: 3. darbība: salieciet slīpuma līmeņus
Abas funkcijas checkRoll () un checkPitch () ieraksta slīpuma līmeņus, kas iegūti no tiltExtent (), tiltList attiecīgi rullīša (kreisais-labais) un solis (uz priekšu-atpakaļ) asīm.
Pirms slīpuma vērtību izmantošanas mēs tās kalibrējam, izmantojot nulles vērtību gan solim (zeroPitch), gan rullim (zeroRoll), kas iegūts no vēlāk rakstītās kalibrēšanas funkcijas.
Tā kā akselerometra rādījumi ir negatīvi gan slīpumam pa kreisi, gan uz priekšu, mums jāizmanto funkcija Math.abs (), lai iegūtu negatīvās vērtības moduli, kas jādod funkcijai tiltExtent () kā parametrs šiem diviem virzieniem.
8. darbība: 4. darbība: ierakstiet LEDPlotList funkcijas
Ieguvuši slīpuma līmeņus tiltList, mēs tagad varam uzrakstīt vadītās zīmēšanas funkcijas dažādiem gadījumiem, kas var rasties, proti
- plotSingle (): noliekt tikai vienā virzienā, kā parametru ņemot slīpuma pakāpi noteiktā virzienā.
- plotDiagonal (): noliec divos vienāda lieluma virzienos, kā parametru ņemot slīpuma pakāpi jebkurā virzienā.
- plotUnequal (): nolieciet divos dažāda lieluma virzienos, kā parametru ņemot slīpuma pakāpi katrā virzienā. Vispirms izmanto plotDiagonal () un pēc tam pievieno LEDPlotList masīvam.
Šīs zīmēšanas funkcijas uz ledPlotList raksta led koordinātu masīvu, kas tiks attēlots vēlāk.
9. darbība: 5. darbība: uzzīmējiet LED matricu katram gadījumam
Izmantojot diagrammas funkcijas no trim gadījumiem 4. solī, mēs tagad varam uzzīmēt faktisko LED matricu dažādām iespējamām slīpuma līmeņu kombinācijām. Tā kā trīs funkcijas 4. solī nediskriminē virzienu, mums ir jāpielāgo LED matricai nodotās koordinātu vērtības, lai attēlotu gaismas diodes pareizajos virzienos.
PlotResult () satur vairākus ja nosacījumus, kas pārbauda slīpuma veidu un attiecīgi uzzīmē LED matricu, izmantojot LED.plot (x, y). Iespējamās slīpuma kombinācijas ir šādas:
Viens virziens: tikai pa kreisi vai tikai pa labi
Viens virziens: tikai uz priekšu vai tikai atpakaļ
Divi virzieni: uz priekšu pa kreisi vai atpakaļ uz kreiso pusi
Divi virzieni: uz priekšu pa labi vai atpakaļ uz labo pusi
Piezīme. Slīpumam divos virzienos katrai kombinācijai var būt vienāds vai atšķirīgs lielums (to pārbauda, salīdzinot maxX un maxY), un tāpēc to var attēlot, izmantojot attiecīgi plotDiagonal () vai plotUnequal ().
10. darbība: 6. darbība: uzrakstiet kalibrēšanas funkcijas
Pabeidzot lielāko daļu koda, mēs tagad pievienojam funkcijas calibTilt () un resetTilt ().
calibTilt () ļauj lietotājiem noregulēt slīpumu līdz nullei micro: bit pašreizējā stāvoklī
resetTilt () atiestata plates kalibrēšanu sākotnējā stāvoklī.
11. darbība: 7. darbība. Ierakstiet valsts funkciju
Mēs pievienojam vienkāršu funkciju checkState (), lai pārbaudītu, vai slīpuma līmeņi ir mainījušies no iepriekšējās iterācijas.
Ja slīpuma līmeņi nemainās salīdzinājumā ar iepriekšējo iterāciju, ti, stateChange == 0, mēs varam tieši pāriet uz nākamo atkārtojumu un izlaist LED matricas zīmējumu, samazinot nepieciešamo aprēķinu.
12. solis: 8. solis: visu salieciet kopā 1. daļa
Tagad mēs beidzot varam ievietot visas nepieciešamās funkcijas micro: bit bezgalīgajā cilpā, lai to palaistu atkārtoti.
Pirmkārt, mēs iestatām pogas A un B uz micro: bit attiecīgi funkcijām calibTilt () un resetTilt (), izmantojot input.onButtonPressed (), un, kad kalibrēšana ir pabeigta, uzzīmējiet ķeksīti uz LED matricas.
13. solis: 9. darbība: visu salieciet kopā 2. daļa
Tālāk izpildiet nepieciešamās funkcijas saskaņā ar mūsu koda plūsmu 0.
Ja tiek mainīti slīpuma līmeņi, ti, stateChange == 1, kods atjauninās prevState uz jaunajiem slīpuma līmeņiem un iestatīs statusChange atpakaļ uz 0 nākamajai iterācijai un uzzīmēs atjauninātos slīpuma līmeņus uz LED matricas, izmantojot PlotResult ().
14. darbība: 10. darbība: montāža
Pārslēdziet pabeigto kodu uz savu micro: bit.
Pievienojiet savu micro: bit un akumulatoru droši jebkuram objektam, un tas ir gatavs lietošanai!
Satriecošs
Izklaidējieties ar savu elektrisko līmeņrādi! Un, kamēr jūs to darāt, kāpēc nemēģināt paplašināt slīpuma sensora iespējas vai pat pārvērst to par spēli?
Šis raksts ir no TINKERCADEMY.
15. solis: avots
Šis raksts ir no:
Ja jums ir kādi jautājumi, varat sazināties ar : [email protected].
Ieteicams:
Kontrolējiet jaudīgu elektrisko skeitborda e-velosipēdu 350 W līdzstrāvas motoru, izmantojot Arduino un BTS7960b: 9 soļi
Kontrolējiet jaudīgu elektrisko skeitborda e-velosipēdu 350 W līdzstrāvas motoru, izmantojot Arduino un BTS7960b: Šajā apmācībā mēs uzzināsim, kā kontrolēt līdzstrāvas motoru, izmantojot Arduino un DC draiveri bts7960b. Motors var būt 350 W vai tikai mazs rotaļlietu arduino līdzstrāvas motors kamēr tā jauda nepārsniedz BTS7960b draivera maksimālo strāvu. Noskatieties video
Skārienpanelis ar elektrisko krāsu un MakeyMakey: 4 soļi
Skārienpanelis ar elektrisko krāsu un MakeyMakey: jauka glezna ar pārsteidzošu efektu, kas ideāli piemērota, lai bērnus vadītu pašdarinātā mijiedarbībā. Apvieno zīmēšanu, TapeArt, Gleznu un vienkāršu kodēšanu ar skrāpējumiem un dažus, iespējams, pašdarinātus skaņas failus
Izveidojiet savu elektrisko motorizēto Longboard: 8 soļi (ar attēliem)
Izveidojiet savu elektrisko motorizēto Longboard: Šajā projektā es jums parādīšu, kā no jauna izveidot elektrisko motorizēto longboard. Ar vienu uzlādi tas var sasniegt ātrumu līdz 34 km/h un nobraukt līdz 20 km. Paredzamās izmaksas ir aptuveni 300 USD, kas padara to par labu alternatīvu tirdzniecībai
Kā es izveidoju savu elektrisko velosipēdu ģeneratoru: 10 soļi
Kā es uzbūvēju savu elektrisko velosipēdu ģeneratoru: Pols Fleks
Izveidojiet savu elektrisko ģitāru!: 8 soļi (ar attēliem)
Izveidojiet savu elektrisko ģitāru !: Vai esat kādreiz paskatījies uz ģitāru un prātojies: "Kā viņi to dara?" Vai arī domājat sev: "Varu derēt, ka es varētu uzbūvēt savu ģitāru", bet nekad to neesmu izmēģinājis? Gadu gaitā esmu izmēģinājis vairākas elektriskās ģitāras un izmēģinājis