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, Studeni
Anonim
Arduino vješalica na Morseu
Arduino vješalica na Morseu

U ovom ću vam uputstvu pokazati kako postaviti vlastiti Arduino za igru Vješala slanjem Morseovog koda s jednostavnom svjetiljkom ili funkcijom svjetiljke s vašeg telefona.

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

Korak 1: Postavljanje LED svjetla

Postavljanje LED svjetla
Postavljanje LED svjetla

Ova igra Morsea će koristiti 4 svjetla za označavanje 4 slova u riječi koje je potrebno pogoditi i 5 svjetala za označavanje života s kojima je igrač ostavio pogađanje, 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 senzor svjetla Makeshift

Ne možemo zaobilaziti bacanje novca u elektroničke trgovine, pa sam odlučio ovaj projekt držati jeftinim, koristeći jednostavno LED svjetlo kao privremeni 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

Prije svega, počnimo dodavanjem svojevrsnog rječnika za prevođenje slova u odgovarajuće Morseove 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 više koda. Tako na primjer sa slovom s, prvi utor ima 's', drugi, treći i četvrti utor imaju '.' a završni 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 točno 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 svijetli li igrač na LED-svjetlu spojenom na naš analogni priključak A0 i hoće li ga prevesti u ispravno slovo.

Kako bismo bili sigurni da je očitanje ispravno, svakih 20 očitanja prosječno izračunavamo prema LED svjetlu i pomoću tog broja pratimo je li svjetlo isključeno ili uključeno. Da bismo to učinili, na početku programa postavili smo NUM_AVG na broj puta koliko želimo da provjeri svjetlo prije nego ga prosječno izračuna. Što je ovaj broj veći, očitanje je točnije, ali može uzrokovati i kašnjenja.

msBtnPushed predstavlja vrijeme tijekom 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 što učiniti nakon što prođe dovoljno vremena da pretpostavimo da se Morse više neće dodavati, a mi moramo provjeriti je li 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 osobno 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 jednostavno su vrijednosti ako planirate koristiti Piezo element za dodavanje zvuka. Ako želite to učiniti, morate dodati kod 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 mjerača vremena i mijenja ih ovisno o tome koji dio Morseovog 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, isključuje 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: Pregled naših postavki i vraćanje na zadano

Pregled naših postavki i vraćanje na zadano
Pregled naših postavki i vraćanje na zadano

Naravno, program se neće pokrenuti ako svjetla nisu postavljena na izlaz i ulaz. Dodajem i generator slučajnih brojeva za dodavanje riječi s 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

Na kraju, ovo možete upotrijebiti za provjeru imate li sve potrebne varijable ispravno postavljene.

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

Preporučeni: