Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Dobrodošli u moju prvu instrukciju
Projekt koji želim podijeliti s vama danas je Arduino labirint igra, koja je postala džepna konzola sposobna kao Arduboy i slične konzole zasnovane na Arduinu. Može se upotpuniti mojim (ili vašim) budućim igrama zahvaljujući izloženom ICSP zaglavlju.
Prije nekoliko mjeseci sam imao ideju izgraditi igru labirinta na Arduinu, ali bez strogo kodiranog seta labirinta. Trebao bi moći generirati novi labirint za svaku razinu na kojoj igrate, tako da više nikada nećete vidjeti isti labirint:)
Kodiranje je ovo bio mali izazov, budući da je Arduino ograničen u RAM memoriji, a zatim sam pronašao nekoliko primjera kako se to može učiniti jednostavnim Bo-Taoshi algoritmom.
Kôd koji sam koristio kao polazište koje sam uzeo SANUKI UDON i njegov projekt KAKO NAPRAVITI GENERATOR LABORATA KORIŠTENJEM ATTINY13A
Korak 1: Prototipiranje ploče
Moje je polazište bilo s malom pločom sa samo 4 gumba spojena za kretanje kroz labirint, ali kasnije, kad sam odlučio da bi to trebala biti igraća konzola, dodao sam još nekoliko gumba. Na većoj ploči možete vidjeti još 2 gumba, a kasnije sam dodao i treći koji će se koristiti kao gumb za početak/pauzu/izbornik
Korak 2: Potrebni dijelovi
- Arduino pro mini / Arduino Uno / Atmega328P čip
- 28 -polna DIP utičnica (opcionalno)
- SSD1306 OLED zaslon
- Piezo zvučnik
- Gumbi na pritisak - 7 komada
- Držači za dugmaste baterije
- Prekidač
- Žice
- Prototip pcb (60x40mm)
Korak 3: Ožičenje / shematski okvir
Spajanje komponenti kako je prikazano na gornjoj shemi.
Gumbi:
- Gumb GORE: Arduino pin 7
- Gumb DOLJE: Arduino pin 6
- LIJEVI gumb: Arduino pin 9
- DESNI gumb: Arduino pin 8
- Gumb: Arduino pin 5
- Tipka B: Arduino pin 4
- Gumb START: Arduino pin 2
SSD1306 OLED ekran:
- SCL: Arduino pin A5
- SDA: Arduino pin A4
- VCC: Arduino VCC
- GND: Arduino GND
Zvučni signal:
- Zvučni signal pozitivan: Arduino pin 3
- Zvučni signal: Arduino GND
Korak 4: Izvorni kod
Izvorni kod igre A-Maze možete pronaći ovdje:
Otvorite u Arduino IDE -u i prenesite na svoju ploču ili upotrijebite ISP programer za programiranje vašeg čipa.
Preporučujem korištenje USBTIny ISP -a, s tim nikad nije bilo problema:) ali za programiranje čipa možete koristiti i obični Arduino.
U mom slučaju nisam koristio vanjski kristal pa moj čip Atmega328p radi na unutarnjem oscilatoru od 8 MHz.
Za više informacija posjetite ovu vezu:
Korak 5: Pogledajte to na djelu
Korak 6: Slučaj i minijaturizacija
Ako želite učiniti ovaj projekt trajnim, s kućištem lijepog izgleda, evo jednostavnog kućišta za 3D ispis koji sam dizajnirao:
Na gornjim slikama možete vidjeti kako su sve komponente postavljene na 4x6 prototipu PCB -a.
Većina ožičenja gumba ide ispod držača baterija, pokušajte ih učiniti što je moguće jednostavnijim, tako da držači baterija mogu imati relativno ravno uklapanje iznad ploče s žicama između njih.
Preporučujem i ožičenje ispod zaslona, budući da su noge čipa Atmega lemljene i izložene ispod zaslona. Kad završite s lemljenjem, stavite malo izolacijske trake ispod zaslona kako biste spriječili kratke hlače itd.
ICSP zaglavlje nije obavezno, a ako ga ne izlažete, znatno će vam olakšati sastavljanje, brinuti ćete se za 6 veza, ali prvo programirajte čip prije nego što ga lemite ili upotrijebite 28 -polnu DIP utičnicu kako biste mogli jednostavno izvadite čip za programiranje.
Drugoplasirani na natjecanju veličine džepa