Talaan ng mga Nilalaman:

Arduino Hangman sa Morse: 9 Mga Hakbang
Arduino Hangman sa Morse: 9 Mga Hakbang

Video: Arduino Hangman sa Morse: 9 Mga Hakbang

Video: Arduino Hangman sa Morse: 9 Mga Hakbang
Video: MORSE CODE PLAYER USING ARDUINO UNO | KSHITIJ SONAR 2024, Nobyembre
Anonim
Arduino Hangman sa Morse
Arduino Hangman sa Morse

Sa tutorial na ito ipapakita ko sa iyo kung paano i-set up ang iyong sariling Arduino upang i-play ang Hangman sa pamamagitan ng pagpapadala ng Morse code gamit ang isang simpleng flashlight o ang pag-andar ng sulo mula sa iyong telepono.

Ang kailangan mo lang sundin ay ang: Isang Arduino Board.10 LED-lightsWires upang ikonekta ang lahat ng ito. Ekstra: Isang elemento ng Piezo (upang magdagdag ng tunog).

Hakbang 1: Pag-set up ng mga LED-light

Pag-set up ng mga LED-light
Pag-set up ng mga LED-light

Ang larong ito ng Morse ay gagamit ng 4 na ilaw upang ipahiwatig ang 4 na titik sa salitang kailangang hulaan at 5 ilaw upang ipahiwatig ang buhay na naiwan ng manlalaro upang hulaan, kaya una sa lahat kailangan mong ikonekta ang 9 LED -mga ilaw sa karaniwang paraan, tulad ng makikita sa larawan.

Hakbang 2: Magdagdag ng isang Makeshift Light Sensor

Hindi kami maaaring mag-ikot ng pera sa mga elektronikong tindahan, kaya't napagpasyahan kong panatilihing mura ang proyektong ito, sa pamamagitan ng paggamit ng isang simpleng LED-light bilang isang pansamantalang light sensor.

Ang kailangan mo lang gawin ay ikonekta ang plus-side ng LED-light sa isa sa iyong mga analog port (sa aking kaso A0) at ang minus-side sa iyong lupa.

Hakbang 3: Idagdag ang Iyong Diksiyonaryo

Idagdag ang Iyong Diksiyonaryo
Idagdag ang Iyong Diksiyonaryo

Una sa mga bagay, magsisimula tayo sa pamamagitan ng pagdaragdag ng isang uri ng diksyonaryo upang isalin ang mga titik sa kanilang kaukulang mga Morse code. Upang magawa ito, gumawa lamang kami ng isang array na 26 by 5, na may unang puwang ng bawat pangalawang array na mayroong sulat at ang 4 na susunod na puwang na may kaukulang Morse code o isang puwang kung walang natitirang code. Kaya halimbawa sa titik s, ang unang puwang ay mayroong 's', ang pangalawa, pangatlo at pang-apat na puwang ay mayroong '.' at ang pangwakas na puwang ay may "".

Hakbang 4: Gawing magaan ang mga ilaw sa pamamagitan ng Default

Gawing Magaan ang Mga ilaw sa pamamagitan ng Default
Gawing Magaan ang Mga ilaw sa pamamagitan ng Default
Gawing Magaan ang Mga ilaw sa pamamagitan ng Default
Gawing Magaan ang Mga ilaw sa pamamagitan ng Default

Sa hakbang na ito, tinitiyak namin na ang mga ilaw ay nakabukas sa sandaling nagsimula ang programa at Morse ang titik na kinakatawan nila sa sandaling nahulaan sila ng gumagamit (ang code para dito ay isusulat sa hakbang 6). Tinitiyak din namin na maraming mga ilaw lamang para sa buhay habang ang player ay may natitirang buhay.

Bago ito, tiyaking mayroon kang isang array na may mga port-number at integer na nakatakda sa 0 upang kumatawan sa oras kung saan dapat tumuloy ang ilaw, patayin at aling bahagi ng Morse na kasalukuyang ipinapakita ang LED-light.

Hakbang 5: Pagdaragdag ng Input

Pagdaragdag ng Input
Pagdaragdag ng Input

Ngayon ay isusulat namin ang code upang suriin kung ang manlalaro ay nagniningning ng isang ilaw sa LED-light na konektado sa aming analog port A0, at kung isasalin nila ito sa tamang titik.

Upang matiyak na ang pagbabasa ay tama, binabantayan namin ang bawat 20 na pagbasa ng LED-light at ginagamit ang numerong iyon upang subaybayan kung patay ang ilaw o naka-on. Upang magawa ito, sa simula ng programa ay itinakda namin ang NUM_AVG sa bilang ng beses na nais naming suriin ang ilaw bago i-average ito. Mas mataas ang bilang na ito, mas tumpak ang pagbabasa, ngunit maaari rin itong maging sanhi ng pagkaantala.

Ang msBtnPush ay kumakatawan sa dami ng oras kung saan nakabukas ang ilaw. na-press ang huling ay isang boolean na sinusubaybayan kung sa dating loop ang ilaw ay nakabukas.

Hakbang 6: Pangangasiwa ng Input

Pangangasiwa ng Input
Pangangasiwa ng Input
Pangangasiwa ng Input
Pangangasiwa ng Input

Para sa hakbang na ito, titingnan natin kung ano ang gagawin kapag lumipas ang sapat na oras upang ipagpalagay na hindi na maidaragdag ang Morse, at kailangan nating suriin kung ang Morse ay nagpadala sa mga form ng isang sulat at kung ito ay isang tamang liham.

Upang magawa ito, kailangan nating itakda ang string wordToGuess na nakatakda sa salitang nais nating hulaan ng ating mga manlalaro. Ako mismo ay mayroong isang random number generator upang maitakda ito sa isang random na salita sa simula, ngunit maaari mo lamang itong itakda sa isang solong salita.

Kailangan din nating tiyakin na ang counter ay tataas ng isa sa bawat loop, kung hindi man ang buong programa ay hindi gagawa ng anuman. Bukod dito, naidagdag ko ang pagpapaandar na pagkaantala, upang matiyak na mayroong isang loop bawat milisecond.

PS: Ang lahat ng mga pagpapaandar ng Serial.println ay para lamang sa mga layunin sa pagsubok. Maaari silang matanggal sa pagkumpleto.

Ang goodTimer at badTimer ay simpleng mga halaga para sa kung nagpaplano kang gumamit ng isang elemento ng Piezo upang magdagdag ng tunog. Kung nais mong gawin ito, dapat mo ring idagdag ang code sa pangalawang larawan, na gumaganap ng mga tunog.

Hakbang 7: Pag-iisa sa Tamang Hulaan na Sulat

Pag-iisa sa Tamang Hulaan na Sulat
Pag-iisa sa Tamang Hulaan na Sulat

Tulad ng ipinangako dati, sa hakbang na ito ay gagawin namin ang mga ilaw na kumakatawan sa mga titik na nahulaan nang wasto Morse ang kanilang liham.

Para sa mga ito, nagsulat ako ng dalawang mga pag-andar: morseThis at nextLetter. Gumagamit ito ng mga numero na dati naming naitakda sa aming mga timer at binabago ang mga ito depende sa kung aling bahagi ng Morse code na kasalukuyan itong nagniningning.

Kung naabot ng timer ang oras kung saan dapat magpatuloy ang ilaw, bubuksan lamang nito ang ilaw at patakbo ang code upang magtakda ng mga bagong timer upang patayin muli ang ilaw. Kung naabot ng timer ang bahagi kung saan dapat bumalik ang ilaw patayin, pinapatay nito ang ilaw at pagkatapos ay itinatakda ang code upang kumatawan sa susunod na bahagi ng liham. Kung walang susunod na bahagi, i-reset ito sa unang bahagi.

Hakbang 8: Sinusuri ang aming Pag-set up at I-reset

Sinusuri ang aming Pag-set up at I-reset
Sinusuri ang aming Pag-set up at I-reset

Siyempre hindi tatakbo ang programa kung ang mga ilaw ay hindi nakatakda sa output at input. Nagdagdag din ako ng isang random number generator upang magdagdag ng isang salita mula sa isang listahan ng mga salita na inilagay ko sa isang array na tinatawag na wordsToGuess.

Bukod doon, dapat naming idagdag ang pag-andar ng pag-reset at tiyakin na ang lahat ng mga halaga ay na-reset sa default.

Hakbang 9: Lahat ng Mga variable sa Isang Larawan

Lahat ng Mga variable sa Isang Larawan
Lahat ng Mga variable sa Isang Larawan

Panghuli, maaari mong gamitin ito upang suriin kung mayroon kang lahat ng kinakailangang mga variable na na-set up nang tama.

Ngayon tangkilikin ang paglalaro ng Hangman sa Morse!

Inirerekumendang: