Talaan ng mga Nilalaman:

Lumikha ng isang Antas ng Electric Spirit: 15 Mga Hakbang
Lumikha ng isang Antas ng Electric Spirit: 15 Mga Hakbang

Video: Lumikha ng isang Antas ng Electric Spirit: 15 Mga Hakbang

Video: Lumikha ng isang Antas ng Electric Spirit: 15 Mga Hakbang
Video: ANG GANDA NG MISIS NI RIGOR!๐Ÿ˜#johnestrada #prescillameirelles 2024, Nobyembre
Anonim
Lumikha ng Antas ng Elektrikong Espiritung
Lumikha ng Antas ng Elektrikong Espiritung

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

  1. Ikonekta ang BBC micro: bit sa iyong computer gamit ang isang micro USB cable.
  2. 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: