Sisukord:

Käeshoitav Arduino pongikonsool: 6 sammu (piltidega)
Käeshoitav Arduino pongikonsool: 6 sammu (piltidega)

Video: Käeshoitav Arduino pongikonsool: 6 sammu (piltidega)

Video: Käeshoitav Arduino pongikonsool: 6 sammu (piltidega)
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Juuni
Anonim
Käeshoitav Arduino pongi konsool
Käeshoitav Arduino pongi konsool

DFRobot võttis minuga hiljuti ühendust, soovides, et kasutaksin nende spetsiaalset Arduino Nano plaati ja OLED -i. Alguses tahtsin luua nutika jalgratta ja ehitasin selle tervikuna. Kuid kahjuks oli Nano liiga nõrk, et massiivset visandit joosta ja salvestada. Seega otsustasin uuesti vaadata ühte oma varasemat projekti, Neopixeli maatriksit, mis viis läbi pongi mängu. Tahtsin selle hoopis kaasaskantavaks muuta ja 1,7 -tolline OLED oleks täiuslik ekraan.

Osade loend:

  • Arduino nano
  • OLED
  • Kõlar

Samm: video

Image
Image

2. samm: mängu kujundamine

Mängu kujundamine
Mängu kujundamine

Selle Pongi mängu puhul tahtsin seda suhteliselt lihtsana hoida, mis tähendas arvutiga juhitavat mõla või uhkeid palli peegeldamise algoritme. Põhimõtteliselt on olemas üks mõla, mida kasutaja saab üles või alla liigutada ning palli põrkumine mõlaga põhjustaks selle x -telje vektori. Iga kord, kui pall lööb, kostab heli. Kui mänguseade on sisse lülitatud, ilmub ekraanile mängu pealkiri ja juhised. Lisaks lõi mu ema väikese teemalaulu, mis jääb taustale, kuni ülemist nuppu vajutatakse.

3. samm: mänguseadme kujundamine

Mänguseadme projekteerimine
Mänguseadme projekteerimine
Mänguseadme projekteerimine
Mänguseadme projekteerimine
Mänguseadme projekteerimine
Mänguseadme projekteerimine
Mänguseadme projekteerimine
Mänguseadme projekteerimine

Minu CAD-i programm on Fusion 360, nii et otsustasin seda kasutada oma pongi mänguseadme kujundamiseks. Alustasin iga kasutatud komponendi kujundamisega: OLED, Arduino Nano ja kõlar. Nii näen täpselt, kuhu ja kuidas iga komponent peaks korpuse sisse mahtuma. Seejärel panin korpuse tagumisse ossa Nano ja PCB ning selle peale OLED. Järgmine oli küsimus, kuhu kõlar ja nupud panna. Otsustasin, et 3W kõlar võib minna veidi ekraani alla (vaadates seda ülevalt) ja see nõuab ka kõlari kohale "grilli" asetamist, et heli ei summutataks. Lõpuks lisasin juhtnuppude lisamiseks vasakule poole kaks nuppu.

Samm: seadme konstrueerimine

Seadme konstrueerimine
Seadme konstrueerimine
Seadme konstrueerimine
Seadme konstrueerimine
Seadme konstrueerimine
Seadme konstrueerimine

Alustasin iga osa 3D -printimisega, mis koosnes alumisest poolest, ülemisest poolest ja 2 nupust. Järgmiseks jootsin naissoost päise 4x6cm külge ja ühendasin juhtmega Nano külge. See mitte ainult ei võimalda OLED -i hõlpsalt eemaldada, vaid tõstab selle ka Arduino Nano kohal. Kontrollige juhtmestiku teavet skemaatiliselt. Seejärel ühendasin kaks nuppu koos toite saamiseks lihtsa mikro -USB -katkestusplaadiga. Kõlar oli samuti kinnitatud ja asetas selle õigesse asendisse. Minu Fusion 360 disain võimaldab 3 mm masinakruvidel hoida OLED -i, kõlarit ja ühendada seadme kaks poolt. Kuid pidin need täpsustama, nii et puurisin oma puuripressiga 8 auku: 2 kõlari, 2 ekraani ja 4 all. Failide jaoks võite külastada linki Thingiverse.

Samm: mängu programmeerimine

Lihtsa liidese kasutamine oli programmi väikese hoidmiseks ülioluline. Alustasin mitmete raamatukogude lisamisega: Adafruit_GFX, Adafruit_SSD1351 ja Arduino Timer raamatukogu. Järgmisena määratlesin oma tihvtid ja värvid, näiteks OLED -i tihvtid ja 16 -bitised värvimääratlused. Minu koodis on ka 4 mängu muutmise viisi, näiteks labade mõõtmete muutmine ja palli liigutamise kiirus. Seejärel eksisteerib sektsioon, kus on määratletud iga muutuja, sealhulgas skoor ja erinevad koordinaadid. Iga kord, kui seade on sisse lülitatud, on pallipilt ja ekraanile ilmub tekst ning väike koodlaul, mis on koodis varem määratletud. Kui mäng on alanud, luuakse kaks taimerit, üks uuendab mõla ja teine palli. Iga kord, kui palli positsiooni uuendatakse, kontrollitakse selle koordinaate, et veenduda, et see ei lähe ekraani piirist üle või puudutab mõla. Iga kord, kui see põrkab, pööratakse ümber oma x- või y -telg ja mängib väike toon. Vaadake selle kirjutise alguses olevat videot, et näha, kuidas mäng toimib.

6. samm: Pongi mängimine

Pongi mängimine!
Pongi mängimine!
Pongi mängimine!
Pongi mängimine!
Pongi mängimine!
Pongi mängimine!
Pongi mängimine!
Pongi mängimine!

Mängu nimi on saada võimalikult madal skoor. Ajapiirangut pole, seega on see väga nauditav ja isegi transsi tekitav. Vaja on vaid ühe nupu vajutamist, et liigutada mõla üles või alla. Arduino EEPROM -i abil on võimalik lisada ka viis kõrgeima punktisumma salvestamiseks.

Soovitan: