Obsah:
- Krok 1: Diely
- Krok 2: Zapojenie
- Krok 3: Alternatívne zapojenie
- Krok 4: Kód + vysvetlenie
- Krok 5: Ďakujem za čítanie
Video: Pong tenis s LED maticou, Arduino a joysticky: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Tento projekt je určený začiatočníkom aj skúseným majstrom. Na základnej úrovni to možno vykonať pomocou nepájivej dosky, prepojovacích drôtov a prilepiť na kus šrotového materiálu (použil som drevo) pomocou technológie Blu-Tack a bez spájkovania. Na pokročilejšej úrovni však môže byť spájkovaný s doskou perfper alebo s vlastnou doskou plošných spojov.
Keďže išlo o projekt uzamknutia, nemal som prístup k žiadnemu množstvu nástrojov alebo materiálov, a preto je prilepený na kus šrotu, ktorý je s Blu-Tack príliš malý, napriek tomu je to zábavný projekt, ktorý sa spája rýchlo a pozostáva z bežne dostupných dielov, ktoré je možné lacno nájsť na internete.
Krok 1: Diely
Na výrobu hry Pong potrebujete;
- 1x Arduino (akýkoľvek typ bude fungovať)
- 4x LED matice MAX7219 8x8
- 2x joysticky
- 1x Piezo bzučiak (voliteľné)
- 15x prepojovacie lanko žena-žena (3x skupina po 5)
- 15x prepojovacie lanko muž-žena (3x skupina po 5)
- 18x prepojovacie lanko muž-muž
- 1x Breadboard
- 1x 220Ω odpor
Namiesto dosky Arduino Uno alebo Nano môžete použiť nepájivú dosku Arduino s;
- 1x ATmega328p 28pin IC
- 1x 16kHz kryštálový oscilátor
- 2x 22pF keramické kondenzátory
- 1x USB FTDI UART prevodník
- 1x 100uF elektrolytický kondenzátor
- 1x Micro USB Breakout (voliteľné)
Náradie;
- PC s Arduino IDE (a knižnicou LedControl)
- Príslušný kábel USB pre vaše Arduino
- Power Bank na napájanie hry mimo počítača
Krok 2: Zapojenie
Zapojenie je veľmi jednoduché, pretože potrebujete iba prepojovacie vodiče na pripojenie hlavičiek matíc a joystickov k Arduinu. Jedinou komplikáciou je napájanie, pretože Arduino Uno má iba 3 pripojenia GND a jedno pripojenie 5 V. Toto je miesto, kde prichádza nepájivá doska a slúži ako koľajnica na distribúciu energie pre všetky súčasti. Ak používate NANO, nepájivá doska bude slúžiť rovnakému účelu a tiež vám umožní pripojiť všetko.
Pri zapojovaní postupujte podľa týchto zapojení.
- Ľavý joystick - GND a 5v na príslušné napájacie lišty. SW - kolík 9, VRx - A0, VRy - A1.
- Pravý joystick - GND a 5v k príslušným napájacím lištám. SW - kolík 8, VRx - A2, VRy - A3.
- Úplne vpravo LED matica - GND a 5v k príslušným napájacím lištám. DIN - 13, CS - 11, CLK - 12. (Podľa riadka 25)
- Všetky ostatné matice LED je možné sériovo zapojiť z výstupu prvého smerujúceho sprava doľava, aby kód fungoval správne.
- Voliteľný bzučiak - anóda (+) cez rezistor obmedzujúci prúd 220Ω na pin 10, katóda (-) - GND.
Krok 3: Alternatívne zapojenie
Po zapojení do Arduino UNO, aby som ušetril miesto, som sa rozhodol umiestniť Arduino IC od UNO na dosku s 16MHz kryštálovým oscilátorom a dvojicou 22pF kondenzátorov z každej strany na zem. Mám pocit, že to bola hodnotná úprava, pretože robí projekt krajším a dokončenejším, na aktualizáciu programu však musíte použiť programátor USB FTDI.
Krok 4: Kód + vysvetlenie
Ak chcete nahrať kód do Arduina, stiahnite si knižnicu LedControl z GitHub tu, github.com/wayoda/LedControl a pridajte súbor Zip alebo ho pridajte pomocou Správcu knižníc v rámci IDE. Potom otvorte priloženú skicu, vyberte svoje Arduino v nastaveniach dosky a portu pod nástrojmi a nahrajte ho do arduina.
Vysvetlenie
Riadok 1: Pridá knižnicu
Riadok 5-23: Nastaví všetky premenné, konštanty a čísla pinov.
Riadok 25: Nastavuje LED Martix a nastavuje ovládacie piny a počet displejov.
Riadok 27: Nastavuje funkciu Reset.
Riadok 30-35: Funkcia vypnutia na zapnutie/vypnutie všetkých displejov súčasne.
Riadok 38-43: Funkcia SetIntensity slúži na nastavenie jasu všetkých displejov súčasne.
Riadok 46-51: funkcia ClearAll na vymazanie všetkých displejov dohromady.
Riadok 53-64: joystick Funkcia na zistenie polohy joystickov, ich mapovanie na 7 možných pozícií pálkou pre odpálenie lopty a potom palicu presunie do novej polohy.
Riadok 67-435: Funkcia, ktorá pohybuje loptou ľavému hráčovi v určenej výške a rýchlosti, kontroluje, či ho hráč trafil a buď pokračuje a nastaví stav zrážky na hodnotu true alebo odrazí loptu späť, pridá 1 k skóre a zvyšuje rýchlosť.
Riadok 438-811: Funkcia, ktorá posúva loptičku správnemu hráčovi v určenej výške a rýchlosti, kontroluje, či ju hráč trafil a buď pokračuje a nastaví stav zrážky na hodnotu true alebo odrazí loptu späť, pridá 1 k skóre a zvyšuje rýchlosť.
Riadok 813-823: Funkcia na zobrazenie smajlíka, kliešťa, krížika alebo otáznika na zadanom displeji (0 napravo až 3 naľavo).
Riadok 861-979: Funkcia na zobrazenie čísel 0-9 na zadanom displeji.
Riadok 981-1047: Funkcia na zobrazenie skóre na strane každého hráča na obrazovke.
Riadok 1049-1064: Funkcia na kontrolu, či je hráč pripravený.
Riadok 1066-1076: Inštalácia Časť kódu pre kód, ktorý sa spustí raz pri spustení programu.
Riadok 1078-1136: Sekcia hlavnej slučky pre logiku hry, kde sa používajú všetky funkcie a kde sa vyhrá, sa rozhodne a potom sa program reštartuje po 5 sekundách zobrazenia skóre.
Krok 5: Ďakujem za čítanie
Ďakujem, že ste si prečítali tento návod, bol to zábavný projekt uzamknutia, ktorý sa spojil počas niekoľkých dní, keď som sa dozvedel viac o programovaní Arduino. Ak vás to bavilo, pokojne zaň hlasujte v súťaži Arduino.
Odporúča:
Rozžiarte svojho Valentína šumivou maticou: 5 krokov
Rozžiarte svojho Valentína šumivou maticou: Valentín je pre vás šancou posielať milostné správy. Prečo nevyrobiť zábavnú LED tvár s lacnými komponentmi, ktorými vyjadríte svoj pocit
Stolný prístroj s maticou 8x8 LED RGB a Arduino Uno: 6 krokov
Stolný gadget s maticou RGB 8x8 LED a Arduino Uno: Dobrý deň, milí! V tomto tutoriáli urobíme DIY RGB LED gadget, ktorý by mohol byť použitý ako stolný gadget alebo podsvietenie. Najprv sa však pripojte k môjmu telegramovému kanálu a uvidíte ďalšie úžasné projekty. Tiež je to pre mňa motivácia
Bluetooth reproduktor s LED maticou reagujúcou na hudbu: 12 krokov (s obrázkami)
Bluetooth reproduktor s maticou LED reagujúcou na hudbu: Tento projekt je zaradený do súťaže Wireless Contest a LED Contest-ak sa vám páči, veľmi by som ocenil váš hlas. Vďaka! Navrhol som a zostrojil som si svojpomocný Bluetooth reproduktor s integrovanou maticou LED. LED matica obsahuje množstvo rôznych
Telesketch Arduino s LED maticou: 6 krokov (s obrázkami)
Telesketch Arduino s LED maticou: Tu je len jednoduchý návod na vytvorenie teleskopu pomocou Arduina. Tento dizajn používa Arduino, dvojvodičovú maticu 8x32, bzučiak, dva rotačné enkodéry a niektoré tlačidlá. Dúfame, že sa naučíte používať rotačné snímače a LED maticu. Tiež dúfa, že
Mastermind s maticou LED 8x8 RGB: 5 krokov (s obrázkami)
Mastermind s 8x8 RGB LED maticou: Požadované diely: Basys3 FPGA 8x8 RGB LED Matrix od GEEETECH9V batéria 2N3904 tranzistory (x32) 1K odpor (x32) 100 Ohm odpor (x1) 50 Ohm odpor (x1) LED matica je spoločná anódová matica s 32 kolíkov celkom. Spoločná anóda znamená, že každý riadok je