Mündəricat:

Arduino Sorta Sudoku Oyunu: 3 addım (şəkillərlə)
Arduino Sorta Sudoku Oyunu: 3 addım (şəkillərlə)

Video: Arduino Sorta Sudoku Oyunu: 3 addım (şəkillərlə)

Video: Arduino Sorta Sudoku Oyunu: 3 addım (şəkillərlə)
Video: Aurora C#, surveying our system and first ship designs 2024, Noyabr
Anonim
Arduino Sorta Sudoku Oyunu
Arduino Sorta Sudoku Oyunu

Bir çox insan Sudoku və nəvələri tahmin etməyi sevir, buna görə də portativ "Sorta Sudoku" oyunu yaratmağa qərar verdim. Mənim versiyamda oyun 4x4 ölçüdədir, ancaq yalnız bir ədəd verilir. Fikir, qalan nömrələri ən az cəhddə təxmin etməkdir. Sadə bir oyundur, ancaq 15 -ə qədər mükəmməl bir nəticə əldə edərkən bir növ asılılıq yarada bilər. Oyun həm uğur elementi, həm də məntiq tələb edir və indiyə qədər gördüyüm ən yaxşı bal 16 -dır. oyunu qurmaqla maraqlanmırsınızsa, öz layihələrinizdən birində istifadə edə biləcəyiniz proqramın bəzi elementləri ola bilər.

Addım 1: Avadanlıq

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

Cihaz demək olar ki, hər hansı bir Arduino versiyasına əsaslana bilər. Nano istifadə edərək prototip hazırladım və sonra kodu ATMega328 çipinə yandırdım. Bu, Nano'da istifadə olunan eyni çipdir, ancaq öz -özünə istifadə etmək daha kompakt bir quruluşa və daha az enerji istehlakına imkan verir. Gördüyünüz kimi, dövrəni LCD modulunun üstündəki kiçik bir çörək taxtası üzərində qurdum. Fərqli olan digər cəhət Nanonun xarici bir kristal istifadə edərək 16 MHz-də işləməsidir, amma ATMega328 çipi üçün quraşdırılmış 8 MHz osilatordan istifadə etməyi seçdim. Bu hissələrə və gücə qənaət edir.

2004 LCD, Arduino üçün 1602 LCD ilə eyni şəkildə işləyir. Maraqlı bir fərq, nümayiş yerlərinin ünvanlanmasıdır. Aydındır ki, bir fərq var, çünki iki əvəzinə dörd xətt var, lakin 2004 -cü ildə üçüncü sətir birinci sətrin, dördüncü xətt isə ikinci sətrin uzantısıdır. Başqa sözlə, LCD -yə yeni bir simvol göndərən bir test proqramınız olsaydı, 21 -ci simvol üçüncü sətrin əvvəlində görünərdi və 41 -ci xarakter birinci sətrin əvvəlinə qayıdır. Proqram, bu fərqi bir LCD ünvan axtarış masası ilə idarə edir.

Oyunun girişi evdə hazırlanmış 4x4 keçid matrisidir. Hər bir keçid birbaşa ekrandakı ekvivalent yerə uyğun gəlir. Güc açarı və sıfırlama açarı da var. Sıfırlama açarı köhnə oyunu təmizləyir və yeni bir oyun yaradır.

Versiyamı batareya ilə təmin etmək qərarına gəldim, buna görə ümumi 18650 Li-ion, 3.6 voltluq bir batareya istifadə etdim. Bunun üçün USB şarj etməyə imkan verən kiçik bir lövhə və LCD və ATMega çipi üçün batareyanın gərginliyini 5 volta qədər artırmaq üçün başqa bir kiçik lövhə əlavə etməyim lazım idi. Şəkillər istifadə etdiyim modulları göstərir, lakin hər iki funksiyanı yerinə yetirən all-in-one modulları da var.

Addım 2: Proqram təminatı

Proqram həm Nano, həm də ATMega328 çipi üçün eynidir. Yeganə fərq proqramlaşdırma üsulundadır. LCD proqramının və klaviatura matrisinin kodunu açma proqramının öz yalın sümüklərimdən istifadə edirəm. Bunlar layihə üçün ayrıca "daxil et" sənədləridir.

"Təsadüfi" və "təsadüfiSeed" əmrləri oyunun yaradılmasına kömək etmək üçün istifadə olunur. Hər bir gücdə fərqli bir ardıcıllıq meydana gəlməsini təmin etmək üçün "toxum" un EEPROM -a bir qənaət əlavə etdim. Tapmacanın xətləri 24 elementli bir axtarış sistemindən götürülmüşdür. İlk üç sətir təsadüfi olaraq cədvəldən seçilir, seçilmiş xəttin əvvəlki sətirlə ziddiyyət təşkil etmədiyini yoxlayır. Sonuncu sətir əllə doldurulur, çünki o nöqtədə yalnız bir mümkün nümunə olacaq. Bundan sonra, yalnız klaviatura matrisini taramaq və düymələri rəqəmlərə çevirmək qalır.

Nömrəni təxmin etmək üçün müvafiq düyməni dəfələrlə basın. Hər basdıqda göstərilən rəqəm artır. İstədiyiniz nömrəni aşarsanız, basmağa davam edin. Açarı bir saniyə buraxsanız, göstərilən son nömrəni kilidləyəcək. Nömrə səhvdirsə, nömrəni siləcək və yenidən cəhd edə bilərsiniz. Hər bir tahmin, göstərilən sayğacı artırır və bir ədəd düzgün təxmin edildikdən sonra matris açarı təsirli olaraq əlil olur.

Addım 3: Ekranlar

Göstərir
Göstərir
Göstərir
Göstərir
Göstərir
Göstərir

Burada müxtəlif ekranların bəzi şəkilləri var.

Tövsiyə: