Obsah:
- Krok 1: Díly
- Krok 2: Zapojení
- Krok 3: Alternativní zapojení
- Krok 4: Kód + vysvětlení
- Krok 5: Děkujeme za čtení
Video: Pong Tennis s LED maticí, Arduino a joysticky: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Tento projekt je určen začátečníkům i zkušeným drotářům. Na základní úrovni to lze provést pomocí prkénka, propojovacích drátů a přilepit na kus šrotu (použil jsem dřevo) pomocí Blu-Tack a bez pájení. Na pokročilejší úrovni však může být připájen k desce perf nebo na vlastní desku plošných spojů.
Protože se jednalo o projekt uzamčení, neměl jsem přístup k mnoha nástrojům nebo materiálům, a proto se zasekl na kusu šrotu, který je u Blu-Tack příliš malý, ale přesto je to zábavný projekt, který se spojuje rychle a skládá se z běžně dostupných dílů, které lze levně sehnat na internetu.
Krok 1: Díly
K výrobě hry Pong potřebujete;
- 1x Arduino (jakýkoli typ bude fungovat)
- 4x LED matice MAX7219 8x8
- 2x joysticky
- 1x Piezo bzučák (volitelně)
- 15x propojovací vodiče žena-žena (3x skupiny po 5)
- 15x propojovací kabel pro muže a ženu (3x skupiny po 5)
- 18x propojovací kabel muž-muž
- 1x prkénko
- 1x odpor 220Ω
Místo desky Arduino Uno nebo Nano můžete použít Arduino na bázi breadboardu s;
- 1x ATmega328p 28pin IC
- 1x 16kHz krystalový oscilátor
- 2x 22pF keramické kondenzátory
- 1x převodník USB FTDI UART
- 1x 100uF elektrolytický kondenzátor
- 1x Micro USB Breakout (volitelně)
Nástroje;
- PC s Arduino IDE (a knihovnou LedControl)
- Příslušný kabel USB pro vaše Arduino
- Power Bank pro napájení hry mimo váš počítač
Krok 2: Zapojení
Zapojení je velmi jednoduché, protože vše, co potřebujete, jsou propojovací vodiče pro připojení hlavic matic a joysticků k Arduinu. Jedinou komplikací je napájení, protože Arduino Uno má pouze 3 GND připojení a jedno 5V připojení. To je místo, kde přichází prkénko a funguje jako napájecí rozvodná lišta pro všechny součásti. Pokud používáte NANO, bude prkénko sloužit ke stejnému účelu a také vám umožní zapojit vše.
Při zapojování postupujte podle těchto zapojení.
- Levý joystick - GND a 5v na příslušné napájecí lišty. SW - pin 9, VRx - A0, VRy - A1.
- Pravý joystick - GND a 5v na příslušné napájecí lišty. SW - pin 8, VRx - A2, VRy - A3.
- Pravá matice LED - GND a 5v k jejich příslušným napájecím lištám. DIN - 13, CS - 11, CLK - 12. (Podle řádku 25)
- Všechny ostatní LED matice lze řetězit z výstupu prvního z nich zleva doprava, aby kód fungoval správně.
- Volitelný bzučák - anoda (+) přes 220Ω odpor omezující proud na pin 10, katoda (-) - GND.
Krok 3: Alternativní zapojení
Poté, co jsem to zapojil pomocí Arduino UNO, abych ušetřil místo, rozhodl jsem se umístit Arduino IC od UNO na prkénko s 16Mhz krystalovým oscilátorem a dvojicí 22pF kondenzátorů z každé strany na zem. Mám pocit, že to byla užitečná úprava, protože díky tomu vypadá projekt hezčí a dokončenější, k aktualizaci programu však musíte použít programátor USB FTDI.
Krok 4: Kód + vysvětlení
Chcete -li nahrát kód do Arduina, stáhněte si knihovnu LedControl z GitHub zde, github.com/wayoda/LedControl a přidejte soubor Zip nebo jej přidejte pomocí Správce knihoven v IDE. Poté otevřete přiložený náčrt, vyberte své Arduino v nastavení desky a portu pod nástroji a nahrajte jej do arduina.
Vysvětlení
Řádek 1: Přidá knihovnu
Řádek 5-23: Nastaví všechny proměnné, konstanty a čísla pinů.
Řádek 25: Nastaví LED Martix a nastaví ovládací piny a počet displejů.
Řádek 27: Nastaví funkci Reset.
Řádek 30-35: Funkce vypnutí pro zapnutí/vypnutí všech displejů současně.
Řádek 38-43: Funkce SetIntensity pro nastavení jasu všech displejů dohromady.
Řádek 46-51: Funkce ClearAll pro vymazání všech displejů dohromady.
Řádek 53-64: joystick Funkce k získání polohy joysticků, jejich namapování na 7 možných pozic pálky pro odpálení míče a poté přesunutí pálky do nové polohy.
Řádek 67-435: Funkce, která pohybuje míčem levému hráči ve stanovené výšce a rychlosti, kontroluje, zda jej hráč zasáhl a buď pokračuje a nastaví stav havárie na hodnotu true nebo odrazí míč zpět, přidá 1 ke skóre a zvyšuje rychlost.
Řádek 438-811: Funkce, která přesune míč správnému hráči ve stanovené výšce a rychlosti, zkontroluje, zda jej hráč zasáhl a buď pokračuje a nastaví stav srážky na hodnotu true, nebo odrazí míč zpět, přidá 1 ke skóre a zvyšuje rychlost.
Řádek 813-823: Funkce pro zobrazení smajlíka, zaškrtnutí, křížku nebo otazníku na zadaný displej (0 vpravo až 3 vlevo).
Řádek 861-979: Funkce pro zobrazení čísel 0-9 na zadaném displeji.
Řádek 981-1047: Funkce pro zobrazení skóre na každé straně obrazovky hráče.
Řádek 1049-1064: Funkce pro kontrolu, zda je hráč připraven.
Řádek 1066-1076: Část nastavení kódu pro kód, který je spuštěn jednou při spuštění programu.
Řádek 1078-1136: Sekce hlavní smyčky pro logiku hry, kde jsou použity všechny funkce a kde se vyhrává, je rozhodnuto a poté restartuje program po 5 sekundách zobrazení skóre.
Krok 5: Děkujeme za čtení
Děkujeme, že jste si přečetli tento Instructable, byl to zábavný projekt uzamčení, který se spojil během několika dní, když jsem se dozvěděl více o programování Arduino. Pokud vás to bavilo, klidně pro něj hlasujte v soutěži Arduino.
Doporučuje:
ESP32 Rolování WordClockem na LED matici: 5 kroků (s obrázky)
ESP32 Rolovací WordClock na LED Matrix: V tomto projektu vytvářím Rolovací WordClock s ESP32, LED Matrix a krabičkou na doutníky. WordClock jsou hodiny, které určují čas, a ne je jen tisknout na obrazovku nebo mít ruce, které si můžete přečíst. Tyto hodiny vám řeknou, že je to 10 minut
Vytvořte si vlastní 10x10 LED matici: 5 kroků (s obrázky)
Vytvořte si vlastní 10x10 LED matici: V tomto projektu vám ukážu, jak zkombinovat běžně dostupné RGB LED diody WS2812B s Arduino Nano za účelem vytvoření barevné 10x10 LED matice. Začněme
Jak vytvořit 8x8 VELKOU LED matici (MAX7219 LED 10 mm): 9 kroků (s obrázky)
Jak vytvořit 8x8 VELKOU LED matici (MAX7219 LED 10 mm): Pracovali jste s již připravenou maticí 8x8 LED jako displeje? Přicházejí v různých velikostech a je docela zajímavé s nimi pracovat. Velká snadno dostupná velikost je přibližně 60 mm x 60 mm. Pokud však hledáte mnohem větší hotovou matici LED
Bluetooth reproduktor s LED maticí reagující na hudbu: 12 kroků (s obrázky)
Bluetooth reproduktor s LED maticí reagující na hudbu: Tento projekt je zařazen do soutěže Wireless Contest a LED Contest-pokud se vám líbí, budu moc rád za váš hlas. Díky! Navrhl jsem a postavil reproduktor DIY Bluetooth s integrovanou maticí LED. LED matice obsahuje řadu různých
Telesketch Arduino s LED maticí: 6 kroků (s obrázky)
Telesketch Arduino s LED maticí: Zde je jen jednoduchý návod, jak vytvořit telesketch pomocí Arduina. Tento design používá Arduino, dvě LED matice 8x32, bzučák, dva rotační kodéry a některá tlačítka. Doufáme, že se naučíte používat rotační kodéry a LED matici. Také hop