Tartalomjegyzék:

Kígyó a kenyértáblán: 3 lépés (képekkel)
Kígyó a kenyértáblán: 3 lépés (képekkel)

Videó: Kígyó a kenyértáblán: 3 lépés (képekkel)

Videó: Kígyó a kenyértáblán: 3 lépés (képekkel)
Videó: A kígyó | Hivatalos előzetes | Netflix 2024, November
Anonim
Kígyó a kenyértáblán
Kígyó a kenyértáblán
Kígyó a kenyértáblán
Kígyó a kenyértáblán
Kígyó a kenyértáblán
Kígyó a kenyértáblán

- Van valami játék a telefonján?

"Nem pontosan."

Bevezető:

Egyszerűen vezérelhető, könnyen programozható és a Nokia 6110 által megörökített Snake kedvenc projektje lett a mérnökök körében. A LED mátrixoktól, az LCD -ktől, a könyvespolcok világításától, sőt akár az egész épületek ablakainál is megvalósítható. A Snake -t egy kicsi kenyértáblán és egy OLED képernyőn fogjuk megvalósítani. Az emberek minden bizonnyal készítettek apróbb kígyójátékosokat, de ez kifejezetten kenyérlapot használ, így nincs szükség PCB vagy forrasztás tervezésére.

(Készíthet egy alkalmazást a telefonján, de nem teszünk dolgokat, mert egyszerűek.)

Feltételek:

Alapvető ismeretek az áramkörökről, a panelezésről és a programozás szilárd ismerete az Arduino -ban.

Kellékek

  • Arduino Nano
  • 2 ésszerűen magas ellenállás (1 kOhm)
  • Apró kenyeretábla
  • 2 Nyomógomb
  • 22 AWG tömör huzal
  • 128 x 64 OLED

Ezek az Amazon társult linkjei, így minden értékesítés után egy kis jutalékot keresek. Ha még nem rendelkezik ezekkel a kellékekkel, és szeretné támogatni jövőbeli projektjeimet, kövesse ezeket a linkeket!:)

1. lépés: Breadboard

Kenyeretábla
Kenyeretábla
Kenyeretábla
Kenyeretábla
Kenyeretábla
Kenyeretábla

A végtermék elkészítéséhez nyilvánvalóan össze kell szerelnünk a hardvert a programozáshoz és a teszteléshez. Ennek a projektnek a rendszerdiagramja meglehetősen egyszerű, mivel összesen 4 összetevőből áll.

1. Rakd ki:

Vegye ki az alkatrészeket, és tegye ki a táblára, biztosítva, hogy minden illeszkedjen. Képzeld el, milyen vezetékeket és csapokat fogsz használni és milyen célokra. Ügyeljen arra, hogy a várt vezetékek ne keresztezzék egymást, mert ez zavarosabb kenyérlapot eredményez. Írja le, hogy milyen pontokat kell csatlakoztatnia! Bár ez egy egyszerű kenyértábla, sokkal könnyebbé teszi az életét a bekötési folyamat során és általában. Tekintettel arra, hogy kicsi a munkaterületünk, ez hihetetlenül fontos lépés.

Megjegyzések:

Mivel az OLED az I2C buszt használja, az A4 és A5 tűket kell használni. A kenyértábla mérete nem teszi lehetővé a táp- és földsínt, ezért néhány trükköt használtam, hogy minden sikerüljön. A gombok pozitív feszültségét a D13 és A2 csapok biztosítják. Felfedeztem, hogy az Arduino csapok nem csak áramot tudnak szolgáltatni, hanem áramot is, így az A3 -at használtam a megfelelő gomb földeléséhez. Annak érdekében, hogy maximalizálja a helyet a kenyértáblán, leakasztottam a Nano felét a tábláról, és a bal oldali csapokat egy darab habbal támasztottam alá.

2. Csatlakoztassa:

Egy pár huzalcsupaszítóval és egy tisztességes mennyiségű 22 AWG tömör vezetékkel gondosan kösse össze az alkatrészeket. Kulcsfontosságú a szilárd mag használata a félig állandó kenyértábla projektek készítéséhez, mivel a jumperhuzalokkal ellentétben hosszúra vághatja őket. Ügyeljen arra, hogy ne hagyjon sok felesleges hosszúságot a vezetékeken, ez rendetlen táblát eredményez. Vágja le a lehúzható ellenállások vezetékeit, hogy azok egy szintben legyenek a táblával.

(Azt is követheti, amit fent tettem.)

2. lépés: Programozás és tesztelés

Program és teszt
Program és teszt

Ahhoz, hogy később ne fájjon a fejfájása, győződjön meg arról, hogy az OLED és a gombok megfelelően működnek, alapszintű tesztprogramokkal.

1. Terv, terv, terv:

Csak a kódba ugrás nem bölcs gyakorlat. Hidd el, próbáltam! Ezért le kell írni, hogyan fog működni a program. A program folyamatábrája meglehetősen szilárd módja annak, hogy megtervezze, mit kell tennie a kódnak, és biztosan nyomon követi Önt. Vegyük például az enyémet (fent)

2. Kód, kód, kód:

Őszintén szólva ez a projekt nagyobb programozási gyakorlat, mint egy hardver gyakorlat. Az egyetlen könyvtár, amelyet használtam, az Adafruit OLED könyvtára volt, nem számítva a támogató GFX és Wire könyvtárakat.

Telepítse az Adafruit OLED könyvtárát az Arduino IDE könyvtárkezelőjén keresztül.

Nem tudom dokumentálni a kód minden egyes sorát, de íme néhány tipp:

Tippek:

Hozzászólások:

- Mindenekelőtt írjon ügyes és hasznos megjegyzéseket kódolás közben. Jövőben te és mások, akik olvassák a kódodat, biztosan hálásak lesznek.

Memória:

- Az ilyen bonyolultabb projekteknél az SRAM nagyon forró árucikk lesz. Az Adafruit könyvtárban a 128 x 64 OLED puffer egyedül 1 kB -ot foglal el, ami az ATMega328p memória körülbelül fele. Ezért az intelligens memóriakezelés fontosabb, mint valaha.

- Nagy adatstruktúrák esetén a tárolt adatok felhalmozódnak és sok helyet foglalnak el. Annak érdekében, hogy csökkentsem a változóim memóriaterületét, lehetőség szerint kisebb adattípusokat (például rövid és bájtos) használtam.

- A karakterláncokat rendszerint az SRAM tárolja, de az F () függvény használatával a PROGMEM programba kerül, és értékes memóriát takarít meg.

Millis:

- A játékciklusok pontosabb időzítése érdekében használja a millis () függvényt. Rengeteg jó oktatóanyag és példa található az interneten.

Előre meghatározott:

- Használja a #define előfeldolgozó direktívát egyszerű módként az állandó értékek beállításához a kódban.

Teszt:

- Tesztelje a kódot menet közben. Sokkal könnyebb lesz elhárítani a hibákat.

3. lépés: Élvezze

Jó szórakozást az új kígyó játék!

(Tudom, hogy 20 ponttal nyertem a fenti videóban, a nyerési feltételt magasabbra állíthatod a kódomban.)

Bővítendő dolgok:

  • Akkumulátor a hordozhatóság érdekében
  • Biztonságosabb gombok
  • Még kisebb kígyójáték
  • Még több játék?

Ajánlott: