Talaan ng mga Nilalaman:
- Hakbang 1: Mga Layunin
- Hakbang 2: Mga Kagamitan
- Hakbang 3: Pre Coding: Ikonekta ang Iyong Micro: Bit
- Hakbang 4: Hakbang 0: Daloy ng Code
- Hakbang 5: Hakbang 1: Pagtukoy sa Mga variable
- Hakbang 6: Hakbang 2: I-convert ang Mga Halaga ng Ikiling sa Mga Antas
- Hakbang 7: Hakbang 3: Mag-ipon ng Mga Antas ng Ikiling
- Hakbang 8: Hakbang 4: Sumulat ng Mga Pag-andar ng LEDPlotList
- Hakbang 9: Hakbang 5: Plot LED Matrix para sa bawat Kaso
- Hakbang 10: Hakbang 6: Sumulat ng Mga Pag-andar ng Pagkakalibrate
- Hakbang 11: Hakbang 7: Isulat ang Pag-andar ng Estado
- Hakbang 12: Hakbang 8: Pagsasama-sama sa Lahat Bahagi 1
- Hakbang 13: Hakbang 9: Pagsasama-sama sa Lahat ng Bahagi 2
- Hakbang 14: Hakbang 10: Assembly
- Hakbang 15: Pinagmulan
Video: Lumikha ng isang Antas ng Electric Spirit: 15 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Gamitin ang antas ng espiritu na ito upang mabilis at madaling maipakita ang ikiling ng anumang bagay na nakakabit!
Nilikha ni Kaitlyn mula sa Raffles Institution.
Hakbang 1: Mga Layunin
Alamin na basahin ang ikiling gamit ang micro: built-in na accelerometer.
Alamin upang gumana sa micro: 5x5 LED Display ng bit!
Hakbang 2: Mga Kagamitan
1 x BBC micro: kaunti
1 x Micro USB cable
2 x AA Baterya
1 x Double AA Battery Pack
Hakbang 3: Pre Coding: Ikonekta ang Iyong Micro: Bit
- Ikonekta ang BBC micro: bit sa iyong computer gamit ang isang micro USB cable.
- I-access ang editor ng javascript para sa micro: bit sa makecode.microbit.org.
Hakbang 4: Hakbang 0: Daloy ng Code
Bago namin simulang isulat ang code, kailangan naming magpasya kung ano ang nais nating makamit sa programa at sa anong pagkakasunud-sunod dapat tumakbo ang bawat sangkap.
Para sa antas ng espiritu ng kuryente, ang mga hakbang na gagawin namin sa code para sa bawat loop ay:
- Basahin ang mga nakakiling na pagbabasa mula sa accelerometer.
- I-convert ang mga pagbabasa ng ikiling sa mga antas ng ikiling upang maipakita sa LED matrix.
- Suriin ang pagbabago sa mga pagbabasa sa antas ng ikiling mula sa nakaraang loop.
- Lumikha ng hanay ng mga LED coordinate para sa iba't ibang mga kaso ng pagkiling at direksyon.
- Plot LED coordinate papunta sa micro: bit LED matrix.
Ang ilang karagdagang mga pagpapaandar na kailangan nating isama ay:
- Pagkakalibrate para sa paunang posisyon ng pagkiling.
- Bumabalik sa default na pagkiling ng pagkakalibrate.
Hakbang 5: Hakbang 1: Pagtukoy sa Mga variable
Nagsisimula kami sa pamamagitan ng pagtukoy ng mga variable na kinakailangan tulad ng ipinakita. Ang isang pagkasira ng ilang mga variable ay:
- tiltList: Array na nag-iimbak ng lawak ng pagkiling mula sa mga halagang 0-4 sa pagkakasunud-sunod [Kaliwa, Kanan, Ipasa, Pabalik]
- ikilingBoundary: Hangganan ng unang antas ng pagkiling sa pagitan ng 0 (walang ikiling) at 1 (bahagyang ikiling)
- prevState: Array na nag-iimbak ng mga halaga ng ikiling ng micro: kaunti mula sa isang nakaraang loop sa parehong format tulad ng tiltList, ginamit upang suriin para sa isang pagbabago sa ikiling sa pagitan ng mga pag-ulit
- ledPlotList: Ang plot na humantong sa mga coordinate arrays sa form (x, y). Upang tukuyin ang isang array, ginagamit namin ang uri ng numero upang ipahiwatig ang isang nakapugad na array ng mga variable ng uri: numero.
Hakbang 6: Hakbang 2: I-convert ang Mga Halaga ng Ikiling sa Mga Antas
Dahil ang 5x5 LED matrix ay maipapakita lamang ang napakaraming impormasyon, ang tunay na mga halaga ng ikiling ay hindi magiging kapaki-pakinabang para sa pagpapakita.
Sa halip, ang isang function na ikilingExtent () ay kukuha ng parameter num, na tumutukoy sa halaga ng ikiling mula sa accelerometer, at binabago ang mga halagang ito na ikiling (num) sa mga antas ng ikiling mula 0 hanggang 4.
Ipinapahiwatig ng 0 na walang ikiling sa ibinigay na direksyon at 4 ay nagpapahiwatig ng napakalaking pagkiling, habang ang -1 ay ibinalik kapag mayroong isang error.
Dito, ang tiltBoundary at tiltSensitivity ay ginagamit bilang mga halaga ng hangganan sa pagitan ng mga antas ng ikiling.
Hakbang 7: Hakbang 3: Mag-ipon ng Mga Antas ng Ikiling
Ang dalawang pagpapaandar na checkRoll () at checkPitch () isulat ang mga antas ng ikiling na nakuha mula sa tiltExtent () sa tiltList para sa roll (kaliwa-kanan) at ang pitch (forward-backward) axes ayon sa pagkakabanggit.
Bago gamitin ang mga halaga ng ikiling, i-calibrate namin ang mga ito gamit ang isang zeroed na halaga para sa parehong pitch (zeroPitch) at roll (zeroRoll) na nakuha mula sa isang calibration function na nakasulat sa paglaon.
Tulad ng mga pagbabasa ng accelerometer na negatibo para sa parehong kaliwa at pasulong na ikiling, kailangan naming gamitin ang pagpapaandar ng Math.abs () upang makuha ang modulus ng negatibong halagang ibibigay sa pagpapaandar na tiltExtent () bilang isang parameter para sa dalawang direksyon na ito.
Hakbang 8: Hakbang 4: Sumulat ng Mga Pag-andar ng LEDPlotList
Nakuha ang mga antas ng ikiling sa ikiling Lista maaari na nating isulat ang mga pinangungunahan na paggana para sa iba't ibang mga kaso na maaaring lumitaw, lalo
- plotSingle (): Ikiling lamang sa isang solong direksyon, pagkuha ng lawak ng ikiling sa ibinigay na direksyon bilang parameter.
- plotDiagonal (): Ikiling sa dalawang direksyon ng parehong lakas, pagkuha ng lawak ng ikiling sa alinmang direksyon bilang parameter.
- plotUnequal (): Ikiling sa dalawang direksyon ng magkakaibang magnitude, pagkuha ng sukat ng ikiling sa bawat direksyon bilang parameter. Gumagamit muna ng plotDiagonal () at nagdaragdag sa ledPlotList array pagkatapos.
Ang mga pag-andar sa paglalagay ng plano ay nagsusulat ng isang hanay ng mga humantong na mga coordinate sa ledPlotList upang mai-plot sa paglaon.
Hakbang 9: Hakbang 5: Plot LED Matrix para sa bawat Kaso
Gamit ang mga pag-andar sa paglalagay mula sa tatlong mga kaso sa hakbang 4, maaari na nating magbalangkas ng aktwal na LED matrix para sa iba't ibang mga posibleng kumbinasyon ng mga antas ng ikiling. Tulad ng tatlong mga pag-andar sa hakbang 4 na hindi nagtatangi ng direksyon, kailangan naming ayusin ang mga halagang pinagsama ang ipinasa sa LED matrix upang balangkasin ang mga LED sa tamang direksyon.
Ang PlotResult () ay naglalaman ng maraming kung ang mga kundisyon na suriin ang uri ng ikiling at balangkas ang LED matrix nang naaayon gamit ang led.plot (x, y). Ang mga posibleng kumbinasyon ng pagkiling ay:
Single direksyon: Kaliwa Lamang o Kanan Lamang
Nag-iisang direksyon: Ipasa lamang o Paatras Lamang
Dalawang direksyon: Ipasa-kaliwa o Paatras-kaliwa
Dalawang direksyon: Pasulong-kanan o Paatras-kanan
Tandaan: Para sa ikiling sa dalawang direksyon, ang bawat kumbinasyon ay maaaring magkaroon ng pareho o magkakaibang laki (naka-check sa pamamagitan ng paghahambing ng maxX at maxY), at samakatuwid ay naka-plot gamit ang plotDiagonal () o plotUnequal () ayon sa pagkakabanggit.
Hakbang 10: Hakbang 6: Sumulat ng Mga Pag-andar ng Pagkakalibrate
Nakumpleto ang dami ng code, nagdaragdag kami ngayon sa calibTilt () at mga pag-andar ng resetTilt ().
Pinapayagan ng calibTilt () ang mga gumagamit na pilasin ang ikiling sa zero sa kasalukuyang posisyon ng bit
I-reset ang Tilt () ng pag-calibrate ng board sa orihinal nitong estado.
Hakbang 11: Hakbang 7: Isulat ang Pag-andar ng Estado
Nagdagdag kami ng isang simpleng checkState ng function () upang suriin kung ang mga antas ng ikiling ay nagbago mula sa isang nakaraang pag-ulit.
Kung walang pagbabago sa mga antas ng ikiling mula sa isang dating pag-ulit itong stateChange == 0, maaari kaming direktang magpatuloy sa susunod na pag-ulit at laktawan ang paglalagay ng LED matrix, binawasan ang kinakailangan ng pagkalkula.
Hakbang 12: Hakbang 8: Pagsasama-sama sa Lahat Bahagi 1
Ngayon ay maaari na nating ilagay sa wakas ang lahat ng kinakailangang pag-andar sa micro: walang hanggan loop upang patakbuhin ito nang paulit-ulit.
Una, itinakda namin ang pindutan A at B sa micro: bit sa calibTilt () at resetTilt () na mga pagpapaandar ayon sa pagkakabanggit gamit ang input.
Hakbang 13: Hakbang 9: Pagsasama-sama sa Lahat ng Bahagi 2
Susunod na patakbuhin ang mga kinakailangang pag-andar ayon sa aming daloy ng code sa Hakbang 0 at suriin para sa isang pagbabago ng estado (nangangahulugang mayroong pagbabago sa ikiling ng micro: kaunti mula noong huling pag-ulit).
Kung mayroong isang pagbabago sa mga antas ng ikiling ie stateChange == 1, i-a-update ng code ang prevState sa mga bagong antas ng ikiling at itakda ang stateChange pabalik sa 0 para sa susunod na pag-ulit, at balangkas ang na-update na mga antas ng ikiling sa LED matrix gamit ang PlotResult ().
Hakbang 14: Hakbang 10: Assembly
I-flash ang nakumpletong code sa iyong micro: bit.
Ikabit ang iyong micro: bit at ang baterya na ligtas sa anumang object at handa na itong gamitin!
Galing
Magsaya sa antas ng iyong espiritu ng kuryente! At habang nandito ka, bakit hindi subukang pahabain ang mga kakayahan ng ikiling sensor o kahit na gawing isang laro?
Ang artikulong ito ay mula sa TINKERCADEMY.
Hakbang 15: Pinagmulan
Ang artikulong ito ay mula sa:
Kung mayroon kang anumang mga katanungan, maaari kang makipag-ugnay sa ๏ผ [email protected].
Inirerekumendang:
Antas ng DIY Digital Spirit: 5 Hakbang (na may Mga Larawan)
Antas ng DIY Digital Spirit: Sa proyektong ito magkakaroon kami ng mas malapit na pagtingin sa mga accelerometer IC at alamin kung paano namin magagamit ang mga ito sa isang Arduino. Pagkatapos ay pagsamahin namin ang gayong IC sa isang pares ng mga pantulong na sangkap at isang naka-print na enclosure ng 3D upang lumikha ng isang digital
Paano Gumawa ng Antas ng Antas ng Audio: 4 na Mga Hakbang
Paano Gumawa ng Antas ng Antas ng Audio: Ang Tagapagpahiwatig ng Antas ng Audio ay isang aparato na ipinapakita ang antas ng audio sa pamamagitan ng pag-iilaw ng mga leds na may paggalang sa audio amplitude. Sa Instructable na ito, Magtuturo ako na gumawa ng iyong sariling tagapagpahiwatig ng antas ng Audio sa LM3915 IC at ilang mga LED. Maaari kaming gumamit ng mga makukulay na LED upang
Lumikha ng isang Laser Driver Mula sa isang Arduino Board .: 6 Mga Hakbang (na may Mga Larawan)
Lumikha ng isang Laser Driver Mula sa isang Arduino Board .: Ang itinuturo na ito ay upang bumuo ng isang laser driver mula sa isang Arduino based board para sa isang 5 mW Adafruit laser. Pinili ko ang isang Arduino board dahil baka gusto kong makontrol ang laser mula sa aking computer sa hinaharap. Gagamitin ko rin ang sample na Arduino code upang
Paano Gumawa ng isang Autonomous Basketball Playing Robot Paggamit ng isang IRobot Lumikha Bilang Base: 7 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng isang Autonomous Basketball Playing Robot Paggamit ng isang IRobot Lumikha Bilang Base: Ito ang aking entry para sa hamon sa iRobot Lumikha. Ang pinakamahirap na bahagi ng buong prosesong ito para sa akin ay ang pagpapasya kung ano ang gagawin ng robot. Nais kong ipakita ang mga cool na tampok ng Lumikha, habang nagdaragdag din sa ilang robo flair. Lahat ng akin
Gawing isang TI Graphing Calculator Sa isang Intervalometer at Lumikha ng Mga Video ng Paglipas ng Oras: 7 Mga Hakbang (na may Mga Larawan)
Gawing isang TI Graphing Calculator sa isang Intervalometer at Lumikha ng Mga Video ng Paglipas ng Oras: Palagi kong nais na gumawa ng mga video na lumipas ng oras, ngunit wala akong camera na may naka-built na tampok na intervalometer. Sa katunayan, sa palagay ko ay hindi masyadong marami ang mga camera ay may kasamang isang tampok (lalo na hindi mga SLR camera). Kaya ano ang nais mong gawin kung nais mong