Სარჩევი:

Arduino Sorta Sudoku თამაში: 3 ნაბიჯი (სურათებით)
Arduino Sorta Sudoku თამაში: 3 ნაბიჯი (სურათებით)

ვიდეო: Arduino Sorta Sudoku თამაში: 3 ნაბიჯი (სურათებით)

ვიდეო: Arduino Sorta Sudoku თამაში: 3 ნაბიჯი (სურათებით)
ვიდეო: The Simplest Ruleset In Sudoku 2024, ნოემბერი
Anonim
Arduino Sorta Sudoku თამაში
Arduino Sorta Sudoku თამაში

ბევრს მოსწონს სუდოკუს თამაში და შვილიშვილებს მოსწონთ გამოცნობის თამაშები, ამიტომ გადავწყვიტე პორტატული "სორტა სუდოკუს" თამაში. ჩემი ვერსიით, თამაში არის 4x4 ბადე, მაგრამ მოცემულია მხოლოდ ერთი ნომერი. იდეა არის დანარჩენი რიცხვების გამოცნობა უმოკლეს ცდაში. ეს არის მარტივი თამაში, მაგრამ ის შეიძლება იყოს ერთგვარი დამოკიდებულების მომტანი 15 -ე სრულყოფილ ქულაზე. თამაში მოითხოვს როგორც იღბლის, ასევე ლოგიკის ელემენტს და საუკეთესო ქულა რაც აქამდე მინახავს არის 16. შეხედეთ თუ თქვენ არ ხართ დაინტერესებული თამაშის აგებით, შეიძლება არსებობდეს პროგრამული უზრუნველყოფის ზოგიერთი ელემენტი, რომელიც შეგიძლიათ გამოიყენოთ ერთ – ერთ თქვენს პროექტში.

ნაბიჯი 1: აპარატურა

ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა

აპარატურა შეიძლება დაფუძნდეს Arduino– ს თითქმის ნებისმიერ ვერსიაზე. მე გავაკეთე პროტოტიპი ნანოს გამოყენებით და შემდეგ კოდი დავწერე ATMega328 ჩიპში. ეს არის იგივე ჩიპი, რომელიც გამოიყენება ნანოში, მაგრამ მისი გამოყენება თავისთავად იძლევა უფრო კომპაქტურ აღნაგობას და ნაკლებ ენერგიის მოხმარებას. როგორც ხედავთ, მე შევქმენი წრე პატარა პურის დაფაზე, რომელიც გოჭდება LCD მოდულზე. სხვა ასპექტი, რომელიც განსხვავდება არის ის, რომ ნანო მუშაობს 16 MHz– ზე გარე ბროლის გამოყენებით, მაგრამ მე ავირჩიე ჩამონტაჟებული 8 MHz ოსცილატორის გამოყენება ATMega328 ჩიპისთვის. ეს ზოგავს ნაწილებს და ძალას.

2004 წლის LCD ინტერფეისი არდუინოსთან ისევე, როგორც 1602 LCD. საინტერესო განსხვავებაა ჩვენების ადგილების მისამართში. ცხადია, არის განსხვავება, რადგან ორი ხაზის ნაცვლად არის ოთხი ხაზი, მაგრამ 2004 წელს მესამე ხაზი არის პირველი ხაზის გაგრძელება და მეოთხე ხაზი მეორე ხაზის გაგრძელებაა. სხვა სიტყვებით რომ ვთქვათ, თუ გექნებოდათ საცდელი პროგრამა, რომელიც ახორციელებდა LCD– ზე სიმბოლოების სტრიქონს, 21 – ე სიმბოლო გამოჩნდება მესამე სტრიქონის დასაწყისში და 41 – ე პერსონაჟი იხვეწება პირველი სტრიქონის დასაწყისში. პროგრამული უზრუნველყოფა ამ განსხვავებას ამუშავებს LCD მისამართების საძიებო ცხრილით.

თამაშის შეყვანა არის ხელნაკეთი 4x4 გადართვის მატრიცა. თითოეული გადამრთველი პირდაპირ შეესაბამება ეკვივალენტის ეკვივალენტურ ადგილს. ასევე არის დენის გადამრთველი და გადატვირთვის შეცვლა. გადატვირთვის გადამრთველი ასუფთავებს ძველ თამაშს და ქმნის ახალ თამაშს.

მე გადავწყვიტე, რომ ჩემი ვერსია ბატარეაზე მუშაობდეს, ასე რომ გამოვიყენე ჩვეულებრივი 18650 Li-ion, 3.6 ვოლტიანი ბატარეა. ამას მოვითხოვდი დავამატო პატარა დაფა USB- ის დატენვის მიზნით და კიდევ ერთი პატარა დაფა, რომ გაეზარდა ბატარეის ძაბვა 5 ვოლტამდე LCD და ATMega ჩიპებისთვის. სურათები აჩვენებს ჩემს მიერ გამოყენებულ მოდულებს, მაგრამ ასევე არის ყველა ერთში მოდულები, რომლებიც ასრულებენ ორივე ფუნქციას.

ნაბიჯი 2: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა იგივეა როგორც ნანოს, ასევე ATMega328 ჩიპისთვის. განსხვავება მხოლოდ პროგრამირების მეთოდშია. მე ვიყენებ LCD პროგრამული უზრუნველყოფის ჩემს შიშველ ვერსიას და კლავიატურის მატრიცის დეკოდირების პროგრამულ უზრუნველყოფას. ეს არის ცალკეული "ჩართვა" ფაილები პროექტისთვის.

თამაშის შექმნის დასახმარებლად გამოიყენება ბრძანებები "შემთხვევითი" და "randomSeed". მე დავამატე შენახვა EEPROM- ში "თესლის" უზრუნველსაყოფად, რომ ყოველი გააქტიურებისას წარმოიქმნება განსხვავებული თანმიმდევრობა. თავსატეხის ხაზები გამომდინარეობს 24 ელემენტიანი საძიებელი მასივიდან. პირველი სამი სტრიქონი შემთხვევით არის შერჩეული ცხრილიდან, შემოწმებით, რათა დარწმუნდეთ, რომ არჩეული ხაზი არ ეწინააღმდეგება წინა ხაზს. ბოლო ხაზი ივსება ხელით, რადგან იმ მომენტში იქნება მხოლოდ ერთი შესაძლო ნიმუში. ამის შემდეგ საჭიროა მხოლოდ კლავიატურის მატრიცის სკანირება და ღილაკების დაჭერა ციფრებად.

რიცხვის გამოსაცნობად, რამდენჯერმე დააჭირეთ შესაბამის გადამრთველს. თითოეული დაჭერით იზრდება ნაჩვენები რიცხვი. თუ გადააჭარბებთ თქვენთვის სასურველ რიცხვს, უბრალოდ გააგრძელეთ დაჭერა. თუ გადამრთველს წამით გაუშვებთ, ის ჩაიკეტება ნაჩვენები ბოლო ნომერი. თუ ნომერი არასწორია, ის გაასუფთავებს ნომერს და შეგიძლიათ სცადოთ ხელახლა. თითოეული გამოცნობა ზრდის ნაჩვენებ მრიცხველს და როდესაც რიცხვი სწორად გამოიცნობა, ეს მატრიცის გადამრთველი ეფექტურად გამორთულია.

ნაბიჯი 3: აჩვენებს

აჩვენებს
აჩვენებს
აჩვენებს
აჩვენებს
აჩვენებს
აჩვენებს

აქ მოცემულია სხვადასხვა ეკრანის რამდენიმე სურათი.

გირჩევთ: