Агуулгын хүснэгт:

Морз хэл дээрх Ардуино Хангман: 9 алхам
Морз хэл дээрх Ардуино Хангман: 9 алхам

Видео: Морз хэл дээрх Ардуино Хангман: 9 алхам

Видео: Морз хэл дээрх Ардуино Хангман: 9 алхам
Видео: Хэрхэн код бичиж сурах вэ? #1 ( How to Learn to Write a Code? ) 2024, Оны зургадугаар сарын
Anonim
Морз дахь Ардуино Хангман
Морз дахь Ардуино Хангман

Энэхүү гарын авлагад би гар утсаа энгийн гар чийдэн эсвэл бамбарын функцээр Морзын кодыг илгээх замаар Hangman тоглох өөрийн Arduino -ийг хэрхэн тохируулахыг танд үзүүлэх болно.

Та дагаж мөрдөх ёстой зүйл бол: Arduino самбар.10 LED гэрэл Энэ бүгдийг холбох утас. Нэмэлт: Piezo элемент (дуу нэмэх).

Алхам 1: LED гэрлийг тохируулах

LED гэрлийг тохируулах
LED гэрлийг тохируулах

Морзын энэ тоглоом нь таамаглах ёстой 4 үсгийг харуулахын тулд 4 гэрэл, тоглогчийн таамаглаж үлдээсэн амьдралыг харуулах 5 гэрлийг ашиглах тул юуны өмнө та 9 LED холбох хэрэгтэй болно. -гэрэл дээрх ердийн гэрэл.

Алхам 2: Түр зуурын гэрэл мэдрэгчийг нэмнэ үү

Бид цахим дэлгүүрт мөнгө хаяж чадахгүй байгаа тул энгийн LED гэрлийг түр зуурын гэрэл мэдрэгч болгон ашиглах замаар энэ төслийг хямд байлгахаар шийдлээ.

Та хийх ёстой зүйл бол LED гэрлийн нэмэлт талыг өөрийн аналог портуудын аль нэгэнд (миний хувьд A0), хасах талыг нь газардуулгатай холбох явдал юм.

Алхам 3: толь бичгээ нэмнэ үү

Өөрийн толь бичгийг нэмэх
Өөрийн толь бичгийг нэмэх

Юуны өмнө юун түрүүнд холбогдох Морзын код руу үсэг орчуулахын тулд ямар нэгэн толь бичиг нэмж эхэлье. Үүнийг хийхийн тулд бид 26 -аас 5 -ийн массивыг хийдэг бөгөөд хоёрдогч массив бүрийн эхний үүрэнд үсэг, дараагийн 4 үүрэнд харгалзах Морзын код эсвэл код байхгүй бол зай байна. Жишээлбэл, s үсгийн хувьд эхний үүрэнд 's', хоёр дахь, гурав, дөрөв дэх үүрэнд '.' Байна. болон эцсийн оролт '' байна.

Алхам 4: Гэрлийг анхдагчаар асаагаарай

Анхдагч байдлаар гэрлийг асаагаарай
Анхдагч байдлаар гэрлийг асаагаарай
Анхдагч байдлаар гэрлийг асаагаарай
Анхдагч байдлаар гэрлийг асаагаарай

Энэ алхамд бид програмыг эхлүүлсний дараа гэрэл асаж байгаа эсэхийг шалгаж, хэрэглэгч үүнийг зөв таавал Морзын төлөөлж буй үсгийг баталгаажуулна (энэ кодыг 6 -р алхамд бичих болно). Түүнчлэн тоглогчийн амь нас үлдсэнтэй адил олон л гэрэл асаж байгаа эсэхийг шалгаарай.

Үүнээс өмнө гэрэл асах, унтрах, LED гэрлийг Морзын аль хэсэгт үзүүлж байгааг харуулах порт тоо, бүхэл тоог 0 болгож тохируулсан массив байгаа эсэхийг шалгаарай.

Алхам 5: Оролт оруулах

Оролтыг нэмж байна
Оролтыг нэмж байна

Одоо бид тоглогч манай А0 аналог порт руу холбогдсон LED гэрэлд гэрэл асааж байгаа эсэхийг, мөн үүнийг зөв үсгээр орчуулах эсэхийг шалгахын тулд кодыг бичих болно.

Уншилтыг зөв эсэхийг шалгахын тулд бид LED гэрлээр 20 уншилт бүрийг дунджаар гаргадаг бөгөөд энэ тоог ашиглан гэрэл унтарсан эсвэл асаалттай байгаа эсэхийг хянадаг. Үүнийг хийхийн тулд програмын эхэнд бид NUM_AVG -ийг гэрлийг дунджаар унтрааж эхлэхээс өмнө хэдэн удаа шалгахыг тохируулсан болно. Энэ тоо өндөр байх тусам унших нь илүү нарийвчлалтай боловч хоцроход хүргэж болзошгүй юм.

msBtnPushed нь гэрлийг асааж байсан хугацааг илэрхийлдэг.lastPressed нь өмнөх давталтад гэрэл асаалттай байсан эсэхийг хянадаг логик юм.

Алхам 6: Оролтыг зохицуулах

Оролтыг зохицуулах
Оролтыг зохицуулах
Оролтыг зохицуулах
Оролтыг зохицуулах

Энэ алхамын хувьд бид Морзыг нэмж оруулахгүй гэж үзэх хангалттай хугацаа өнгөрсний дараа юу хийх ёстойг авч үзэх бөгөөд Морз захидал илгээсэн эсэх, энэ нь зөв үсэг эсэхийг шалгах хэрэгтэй.

Үүнийг хийхийн тулд бид тоглогчдын маань таахыг хүсч буй үгийг WordToGuess стрингээр тохируулах хэрэгтэй. Би хувьдаа санамсаргүй тоо үүсгэгчтэй бөгөөд үүнийг эхэнд нь санамсаргүй байдлаар тохируулах боломжтой байдаг, гэхдээ та үүнийг ганцхан үгээр тохируулж болно.

Мөн тоолуур нь давталт бүрт нэг удаа дээшлэх эсэхийг шалгах хэрэгтэй, эс тэгвээс бүх програм юу ч хийхгүй болно. Цаашилбал, би секунд тутамд давталт байгаа эсэхийг шалгахын тулд хойшлуулах функцийг нэмсэн.

Жич: Serial.println -ийн бүх функцууд нь зөвхөн туршилтын зориулалттай. Тэд дууссаны дараа устгаж болно.

GoodTimer ба badTimer нь дуу авиа нэмэхийн тулд Piezo элемент ашиглахаар төлөвлөж байгаа бол зүгээр л утга юм. Хэрэв та үүнийг хийхийг хүсч байвал дууг тоглуулдаг хоёр дахь зурган дээрх кодыг оруулах ёстой.

Алхам 7: Зөв таамагласан захидал бичих

Зөв таамагласан захидал
Зөв таамагласан захидал

Өмнө нь амласанчлан, энэ алхамаар бид зөв таамагласан үсгүүдийг төлөөлж буй гэрлийг Морз болгоно.

Үүнийг хийхийн тулд би morseThis ба nextLetter гэсэн хоёр функцийг бичсэн бөгөөд энэ нь манай таймерын массивт өмнө нь оруулсан тоог ашигладаг бөгөөд Морзын кодын аль хэсэгт гэрэлтэж байгаагаас хамааран тэдгээрийг өөрчилдөг.

Хэрэв таймер гэрэл асах ёстой цагтаа хүрвэл гэрлийг асааж, кодыг ажиллуулж, гэрлийг унтрааж асаах шинэ цаг хэмжигчийг тохируулна. унтраасан бол гэрлийг унтрааж, дараа нь үсгийн дараагийн хэсгийг илэрхийлэх кодыг тохируулна. Хэрэв дараагийн хэсэг байхгүй бол үүнийг эхний хэсэгт буцаана.

Алхам 8: Бидний тохиргоог шалгаж, дахин тохируулна уу

Бидний тохиргоог шалгаж, дахин тохируулж байна
Бидний тохиргоог шалгаж, дахин тохируулж байна

Гэрлийг гаралт, оролтод тохируулаагүй бол мэдээж програм ажиллахгүй болно. Би санамсаргүй тооны үүсгэгчийг нэмж wordToGuess нэртэй массивт оруулсан үгсийн жагсаалтаас үг нэмэх боломжтой.

Үүнээс гадна бид дахин тохируулах функцийг нэмж, бүх утгыг анхны байдалд нь оруулсан эсэхийг шалгах хэрэгтэй.

Алхам 9: Бүх хувьсагчдыг нэг зурган дээр

Бүх хувьсагчийг нэг зурган дээр
Бүх хувьсагчийг нэг зурган дээр

Эцэст нь та үүнийг ашиглан шаардлагатай бүх хувьсагчийг зөв тохируулсан эсэхийг шалгаж болно.

Одоо Морзод Hangman тоглох дуртай!

Зөвлөмж болгож буй: