Sadržaj:

Arduino vješalica na Morseu: 9 koraka
Arduino vješalica na Morseu: 9 koraka

Video: Arduino vješalica na Morseu: 9 koraka

Video: Arduino vješalica na Morseu: 9 koraka
Video: #SanTenChan читает гнома из второй серии книги Сани Джезуальди Нино Фрассики! 2024, Novembar
Anonim
Arduino vješalica na Morseu
Arduino vješalica na Morseu

U ovom tutorijalu pokazat ću vam kako postaviti vlastiti Arduino za igranje Vješala slanjem Morzeovog koda s jednostavnom svjetiljkom ili funkcijom baklje sa vašeg telefona.

Sve što trebate slijediti je: Arduino ploča.10 LED-svjetiljkeŽice za povezivanje svega. Dodatno: Piezo element (za dodavanje zvuka).

Korak 1: Postavljanje LED lampica

Postavljanje LED lampica
Postavljanje LED lampica

Ova igra Morsea će koristiti 4 svjetla za označavanje 4 slova u riječi koju treba pogoditi i 5 lampica za označavanje života s kojima je igrač ostavio da pogađa, pa ćete prije svega morati spojiti 9 LED dioda -svjetla na uobičajen način, kao što se može vidjeti na slici.

Korak 2: Dodajte Makeshift svjetlosni senzor

Ne možemo zaobilaziti bacanje novca u elektroničke trgovine, pa sam odlučio da ovaj projekt bude jeftin, koristeći jednostavno LED svjetlo kao improvizirani senzor svjetla.

Sve što trebate učiniti je spojiti plus stranu LED svjetla na jedan od analognih portova (u mom slučaju A0), a minus stranu na uzemljenje.

Korak 3: Dodajte svoj rječnik

Dodajte svoj rječnik
Dodajte svoj rječnik

Prvo prvo, počnimo dodavanjem svojevrsnog rječnika za prevođenje slova u njihove odgovarajuće Morzeove kodove. Da bismo to učinili, jednostavno napravimo niz 26 na 5, pri čemu prvi utor svakog sekundarnog niza ima slovo, a 4 sljedeća utora imaju odgovarajući Morzeov kod ili razmak ako nema preostalog koda. Tako na primjer sa slovom s, prvi utor ima 's', drugi, treći i četvrti utor imaju '.' a posljednji utor ima ''.

Korak 4: Neka svjetla zasvijetle prema zadanim postavkama

Neka svjetla svijetle prema zadanim postavkama
Neka svjetla svijetle prema zadanim postavkama
Neka svjetla svijetle prema zadanim postavkama
Neka svjetla svijetle prema zadanim postavkama

U ovom koraku provjeravamo jesu li svjetla uključena nakon pokretanja programa i Morseovo slovo koje predstavljaju nakon što ih je korisnik ispravno pogodio (kôd za to bit će napisan u koraku 6). Također se brinemo da ima upaljenih svjetala samo onoliko života koliko je igraču preostalo.

Prije toga provjerite imate li niz s brojevima portova i cijelim brojevima postavljenim na 0 koji predstavlja vrijeme u kojem bi se svjetlo trebalo uključiti, isključiti i koji dio Morseove LED lampice trenutno prikazuje.

Korak 5: Dodavanje unosa

Dodavanje unosa
Dodavanje unosa

Sada ćemo napisati kôd da provjerimo da li igrač svijetli na LED-svjetlu spojenom na naš analogni port A0 i da li će ga prevesti u ispravno slovo.

Da bismo bili sigurni da je očitavanje ispravno, svakih 20 očitanja prosječno izračunavamo pomoću LED svjetla i koristimo taj broj za praćenje je li svjetlo isključeno ili uključeno. Da bismo to učinili, na početku programa smo postavili NUM_AVG na broj puta koliko želimo da provjeri svjetlost prije nego što je prosječno izračunao. Što je ovaj broj veći, očitavanje je točnije, ali može uzrokovati i kašnjenja.

msBtnPushed predstavlja vrijeme tokom kojeg je svjetlo bilo uključeno. lastPressed je boolean koji prati je li svjetlo u prethodnoj petlji bilo uključeno.

Korak 6: Rukovanje ulazom

Rukovanje ulazom
Rukovanje ulazom
Rukovanje ulazom
Rukovanje ulazom

Za ovaj korak ćemo pogledati šta treba učiniti kada prođe dovoljno vremena da pretpostavimo da se Morze više neće dodavati, a mi moramo provjeriti da li je Morse poslao pismo i je li to ispravno slovo.

Da bismo to učinili, moramo imati niz wordToGuess postavljen na riječ koju želimo da naši igrači pogađaju. Ja lično imam generator slučajnih brojeva koji ga postavlja na slučajnu riječ na početku, ali možete ga jednostavno postaviti i na jednu riječ.

Također moramo osigurati da se brojač povećava za svaku petlju, inače cijeli program ne bi učinio ništa. Nadalje, dodao sam funkciju odgode, kako bih bio siguran da postoji petlja svake milisekunde.

PS: Sve funkcije Serial.println služe samo za potrebe testiranja. Po završetku se mogu izbrisati.

GoodTimer i badTimer su jednostavno vrijednosti ako planirate koristiti Piezo element za dodavanje zvuka. Ako želite to učiniti, morate dodati i kôd na drugoj slici koji reproducira zvukove.

Korak 7: Morsing ispravno pogađenih slova

Morsing ispravno pogađenih slova
Morsing ispravno pogađenih slova

Kao što je već obećano, u ovom koraku napravit ćemo svjetla koja predstavljaju slova koja su ispravno pogodila. Morseovo slovo.

Za to sam napisao dvije funkcije: morseThis i nextLetter. Koristi brojeve koje smo prethodno postavili u nizu tajmera i mijenja ih ovisno o tome koji dio Morzeovog koda trenutno svijetli.

Ako mjerač vremena dosegne vrijeme u kojem bi se svjetlo trebalo upaliti, jednostavno uključuje svjetlo i pokreće kôd za postavljanje novih mjerača vremena za gašenje i ponovno uključivanje svjetla. Ako mjerač vremena dođe do dijela u kojem bi se svjetlo trebalo vratiti isključeno, gasi svjetlo, a zatim postavlja kôd da predstavlja sljedeći dio slova. Ako nema sljedećeg dijela, vraća se na prvi dio.

Korak 8: Pregledajte naše postavljanje i resetirajte

Pregled naših postavki i resetiranje
Pregled naših postavki i resetiranje

Naravno, program se neće pokrenuti ako svjetla nisu postavljena na izlaz i ulaz. Dodajem i generator slučajnih brojeva za dodavanje riječi sa popisa riječi koje sam stavio u niz pod nazivom wordsToGuess.

Osim toga, trebali bismo dodati funkciju resetiranja i provjeriti jesu li sve vrijednosti vraćene na zadane.

Korak 9: Sve varijable na jednoj slici

Sve varijable na jednoj slici
Sve varijable na jednoj slici

Konačno, ovo možete koristiti za provjeru imate li ispravno postavljene sve potrebne varijable.

Sada uživajte igrajući Vješala na Morseu!

Preporučuje se: