Tartalomjegyzék:

Pong tenisz LED mátrixszal, Arduino és joystick: 5 lépés (képekkel)
Pong tenisz LED mátrixszal, Arduino és joystick: 5 lépés (képekkel)

Videó: Pong tenisz LED mátrixszal, Arduino és joystick: 5 lépés (képekkel)

Videó: Pong tenisz LED mátrixszal, Arduino és joystick: 5 lépés (képekkel)
Videó: РАСПАКОВКА pi-topPULSE — новый аксессуар для Raspberry Pi 2024, November
Anonim
Pong tenisz LED mátrixszal, Arduino és joystick
Pong tenisz LED mátrixszal, Arduino és joystick

Ezt a projektet kezdőknek és tapasztalt barkácsolóknak egyaránt ajánljuk. Alapszinten ez elvégezhető kenyértáblával, áthidaló vezetékekkel, és ragasztható egy darab darab anyaghoz (én fát használtam) Blu-Tack-el és forrasztás nélkül. Fejlettebb szinten azonban forrasztható lemezre vagy egyedi PCB -re.

Mivel ez egy lezárási projekt volt, nem tudtam hozzájutni sok eszközhöz vagy anyaghoz, ezért miért ragadt le egy darab fahulladékhoz, amely kissé túl kicsi a Blu-Tack segítségével, ennek ellenére ez egy szórakoztató projekt, amely összeáll gyorsan, és általában elérhető alkatrészekből áll, amelyek olcsón megtalálhatók az interneten.

1. lépés: Alkatrészek

A Pong játék elkészítéséhez szüksége van;

  • 1x Arduino (bármilyen típus működni fog)
  • 4x MAX7219 8x8 LED mátrix
  • 2x joystick
  • 1x Piezo Buzzer (opcionális)
  • 15x női-női jumper vezeték (3x 5-ös csoport)
  • 15x férfi-női jumper vezeték (3x 5-ös csoport)
  • 18x férfi-férfi jumper vezetékek
  • 1x kenyeretábla
  • 1x 220Ω ellenállás

Arduino Uno vagy Nano tábla helyett használhat kenyérsütő alapú Arduino -t;

  • 1x ATmega328p 28pin IC
  • 1x 16kHz -es kristályoszcillátor
  • 2x 22pF kerámia kondenzátor
  • 1x USB FTDI UART átalakító
  • 1x 100uF elektrolit kondenzátor
  • 1x Micro USB Breakout (opcionális)

Szerszámok;

  • PC Arduino IDE -vel (és LedControl Library)
  • Releváns USB -kábel az Arduino -hoz
  • Power Bank a játék tápellátásához a számítógépről

2. lépés: Kábelezés

Vezeték
Vezeték
Vezeték
Vezeték

A bekötés nagyon egyszerű, mivel csak áthidaló vezetékekre van szüksége a mátrixok és a joystick fejléceinek az Arduino -hoz való csatlakoztatásához. Az egyetlen bonyodalom a teljesítmény, mivel az Arduino Uno csak 3 GND és egy 5 V -os csatlakozással rendelkezik. Ez az a hely, ahol a kenyérsütőlap bejön, és áramellátó sínként működik az összes alkatrész számára. Ha NANO -t használ, a kenyértábla ugyanazt a célt szolgálja, valamint lehetővé teszi, hogy mindent csatlakoztatjon.

A bekötéshez kövesse ezeket a csatlakozásokat.

  • Bal joystick - GND és 5v a megfelelő tápcsövekhez. SW - 9 érintkező, VRx - A0, VRy - A1.
  • Jobbra tartó joystick - GND és 5v a megfelelő tápcsövekhez. SW - 8. tüske, VRx - A2, VRy - A3.
  • A jobb szélső LED -mátrix - GND és 5v a megfelelő tápcsövekhez. DIN - 13, CS - 11, CLK - 12. (25. sor szerint)
  • Az összes többi LED -mátrixot láncra lehet kötni az első kimenetéről, jobbról balra haladva, így a kód megfelelően működik.
  • Opcionális zümmögő - Anód (+) - 220Ω -os áramkorlátozó ellenállás a 10. tűhöz, katód (-) - GND.

3. lépés: Alternatív kábelezés

Alternatív vezetékek
Alternatív vezetékek
Alternatív vezetékek
Alternatív vezetékek
Alternatív vezetékek
Alternatív vezetékek

Miután a helytakarékosság érdekében bekötöttem egy Arduino UNO -val, úgy döntöttem, hogy az UNO -ból származó Arduino IC -t egy 16 MHz -es kristályoszcillátorral és egy pár 22pF kondenzátorral a kenyérsütő táblára teszem mindkét oldalról a földre. Úgy érzem, hogy ez egy érdemes módosítás volt, mivel így a projekt kifinomultabbnak és befejezettebbnek tűnik, azonban a program frissítéséhez USB FTDI programozót kell használnia.

4. lépés: Kód + magyarázat

A kód Arduino -ba való feltöltéséhez töltse le a LedControl könyvtárat a GitHub -ról itt, github.com/wayoda/LedControl, és adja hozzá a Zip fájlt, vagy adja hozzá a könyvtárkezelőn keresztül az IDE -n belül. Ezt követően nyissa meg a csatolt vázlatot, válassza ki az Arduino -t a táblán és a portbeállításokban az eszközök alatt, és töltse fel az arduino -ba.

Magyarázat

1. sor: hozzáadja a könyvtárat

5-23. Sor: Beállítja az összes változót, állandót és pin számot.

25. sor: Beállítja a Martix LED -et, beállítja a vezérlőcsapokat és hány kijelzőt.

27. sor: A Reset funkció beállítása.

30-35. Sor: Kikapcsolási funkció az összes kijelző együttes be- és kikapcsolásához.

38-43. Sor: SetIntensity funkció az összes kijelző fényerejének együttes beállításához.

46-51. Sor: ClearAll funkció az összes kijelző törléséhez.

53-64. Sor: joystick Funkció a joystick helyzetének meghatározásához, a 7 lehetséges ütőpozícióhoz való hozzárendeléshez a labda ütéséhez, majd az ütő új pozícióba helyezése.

67-435. Sor: Funkció, amely a labdát a megadott magasságban és sebességgel mozgatja a bal játékoshoz, ellenőrzi, hogy a játékos eltalálta-e, és folytatja-e, és igazítja-e az ütközés állapotát, vagy visszapattanja a labdát, hozzáad 1-et a pontszámhoz, és növeli a sebességet.

438-811. Sor: Funkció, amely a labdát a megadott magasságban és sebességgel a megfelelő játékoshoz mozgatja, ellenőrzi, hogy a játékos eltalálta-e, és folytatja-e, és igazítja-e az ütközés állapotát, vagy visszapattanja a labdát, hozzáad 1-et a pontszámhoz, és növeli a sebességet.

813-823. Sor: Mosolygó arc, kullancs, kereszt vagy kérdőjel megjelenítésére szolgáló funkció a megadott kijelzőn (0 a jobb oldalon, 3 a bal oldalon).

861-979. Sor: Funkció a 0-9 számok megjelenítésére a megadott kijelzőn.

981-1047. Sor: A pontszám megjelenítésének funkciója a képernyő minden játékos oldalán.

1049-1064. Sor: Funkció annak ellenőrzésére, hogy a lejátszó készen áll-e.

1066-1076. Sor: A program elindításakor egyszer futtatott kód kódjának beállítása.

1078-1136. Sor: Fő hurok szakasz a játék logikájához, ahol az összes funkciót használják, és ahol eldől, ki nyer, majd 5 másodpercnyi mutató után újraindítja a programot.

5. lépés: Köszönöm, hogy elolvasta

Köszönöm, hogy elolvasta
Köszönöm, hogy elolvasta

Köszönjük, hogy elolvasta ezt az Instructable -t, szórakoztató lezárási projekt volt, amely néhány nap alatt jött össze, amikor többet megtudtam az Arduino programozásáról. Ha tetszett, nyugodtan szavazz rá az Arduino versenyen.

Ajánlott: