Kazalo:
- 1. korak: Ožičite zaslon (na dotik)
- Korak: Spoznajte knjižnice
- 3. korak: Oblikujte grafični uporabniški vmesnik / glavni meni
- 4. korak: Povežite dva krmilnika
- 5. korak: Začnite ožičiti brezžično povezavo
- 6. korak: Poživite! Preizkusite različne stvari
- 7. korak: Oblikovanje
- 8. korak: 3D tiskanje ohišja
- 9. korak: Spajkanje in dokončanje
- 10. korak: Predogled
Video: Ročna konzola z brezžičnimi krmilniki in senzorji (Arduino MEGA & UNO): 10 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Kar sem uporabil
- Arduino MEGA
- 2x Arduino UNO
- Adafruit 3,5 TFT 320x480 zaslon na dotik HXD8357D
- zvočni signal
- 4 ohmski 3W zvočnik
- 5 mm LED luči
- Tiskalnik Ultimaker 2+ s črno PLA nitko
- Laserski rezalnik iz lesa MDF
- Črna barva v spreju (za les)
- 3x brezžični oddajniki nRF24L01+
- 2x 16 mm gumb
- 2x senzorja tlaka
- 3x 9V držala za baterije
- Ogledna plošča
- 2x 0,96 -palčni zasloni OLED I2C
- Moško - ženske žice
- Solderstation
- Super lepilo
- 2x enokanalni modul na dotik (RDEČA/MODRA)
1. korak: Ožičite zaslon (na dotik)
Tako bomo naredili ročno konzolo z dvema brezžičnima krmilnikoma.
Zato bomo imeli glavno enoto (največji del z LCD zaslonom)
Glavna enota bo delovala z Arduino MEGA.
Oba ločena krmilnika bosta upravljala Arduino UNO.
Kasneje bomo Arduinove medsebojno komunicirali za pošiljanje podatkov krmilnika.
Začnite s pravilnim ožičenjem zaslona 320x480 na enoto glavnega zaslona (Arduino MEGA), kot je v tej vadnici. (Adafruit ima odlično podrobno vadnico za ožičenje in kodo).
Za zvok sem ožičil brenčalo in 3W 4Ohm zvočnik za ločevanje digitalnih zatičev in GND.
s tonom (pin, frekvenca, trajanje); Ustvarite lahko nekaj osnovnih monofonskih zvokov.
Korak: Spoznajte knjižnice
Zaslon Adafruit 320x480 podpira ustrezne knjižnice Adafruit_GFX in Adafruit_TFTLCD.
Preberite dokumentacijo. Mislim, da je tam dobro razloženo.
V Arduino IDE vnesite prave nastavitve:
Orodja -> Plošča -> Arduino/Genuino MEGA ali MEGA 2560
Orodja -> Vrata -> [Vrata z '' Arduino MEGA '' v njem]
Ta posebna knjižnica zaslona podpira pisave po meri, osnovne oblike in različne barve.
Omeniti velja, da je hitrost osveževanja prenizka za nemoteno animacijo. Če želite posodabljati zaslon ob vsakem kljuku, bo prepočasen pri ponovnem risanju vsake slikovne pike in utripal bo
Zato predlagam, da se oko tega kreativno lotite, na primer, kako so nekateri starejši ročni računalniki ravnali z animacijo: s ključnimi sličicami. Manj je več! Namesto da bi vsako sekundo prerisali vse, če želite pravokotnik premakniti v levo ali desno, lahko preprosto izbrišete sled, ki jo pušča, namesto da izbrišete celoten predmet in ga na novo narišete.
Na primer, utripanje zaslona sem uporabil kot utripajoč učinek za lik v uvodnem zaporedju.
Iz knjižnice Adafruit_GFX sem uporabljal predvsem tft.fillRect (x, y, širina, višina, barva); in tft.print (besedilo); funkcije.
Eksperimentiranje je ključno.
3. korak: Oblikujte grafični uporabniški vmesnik / glavni meni
Ko pridobite znanje v knjižnici in spoznate njene omejitve/pooblastila, lahko začnete oblikovati zaslon glavnega menija.
Še enkrat pomislite na pravokotnike. Vsaj to sem naredil.
Tukaj je moja koda za uporabniški vmesnik
pastebin.com/ubggvcqK
Ustvarite lahko drsnike za svetlost zaslona in s pomočjo analognega zatiča upravljate pin "Lite" na zaslonu na dotik Adafruit.
4. korak: Povežite dva krmilnika
Kar zadeva krmilnik, je odvisno od vas, kakšne senzorje želite uporabiti, odvisno od igre, ki jo nameravate narediti
V redu, za krmilnike sem se odločil uporabiti:
- Senzor tlaka
- Zaslon OLED
- Enokanalni modul na dotik, ki se vklopi ali izklopi
- Senzor kretnje (RobotDyn APDS9960)
- oddajnik nRFL01+ (za brezžično komunikacijo)
- Potisni gumb
Opomba: Senzor kretnje in OLED uporabljata povezavi SCL / SDA. Trajalo je nekaj časa, da sem ugotovil, da ima Arduino samo dva: A4 in A5. Lahko pa te vzporednice preprosto povežete na mizo in delovalo bo v redu
5. korak: Začnite ožičiti brezžično povezavo
Ožičenje modulov nRF24L01+ mi je vzelo nekaj časa, da je delovalo.
Moral sem se zateči k knjižnici TMRh20 RF24, potem ko nisem mogel dobiti ustreznih podatkov senzorja, prenesenih na zaslon.
Če želimo, da več Arduino komunicira med seboj, moramo poskrbeti, da bo vsaj en od UNO -jev napajan, prav tako kot MEGA.
S serijsko konzolo MEGA natisnite rezultate, ki jih dobite pri UNO, in preverite, ali deluje.
Tukaj je koda
Tukaj je knjižnica
6. korak: Poživite! Preizkusite različne stvari
Ključni del mojega razvojnega procesa je bilo, da preizkusim veliko stvari!
Kakšne gumbe želite uporabiti?
Kaj dajete v krmilnike?
Oglejte si spletna mesta, poleg običajnih gumbov '' A/B '' ali analognih igralnih palic boste našli veliko komponent. Bodite navdihnjeni in motivirani, da poskusite!
Ko dobite jasno in delujočo predstavo o tem, kaj želite vstaviti v krmilnike, priključite komponente.
Glede na to, kako delujejo, boste morali uporabiti digitalne vhode ali analogne vhode.
OPOMBA: Za pravilno delovanje nekaterih komponent bodo morda potrebni zatiči SCL / SDA. In če imate dva ali več senzorjev, ki potrebujeta enako, boste verjetno dobili napad panike, kot sem jaz. Vendar vam ni treba skrbeti
Zatiče SDA in SCL obeh senzorjev lahko postavite zaporedno med seboj, tako da greste v A4 in A5 in delovalo bo
7. korak: Oblikovanje
Ko dobite kul idejo za senzorje, ki jih želite uporabiti, skicirajte nekaj idej za obliko, ki vam je všeč.
Po tem pojdite v nekatere modelarske programe, kot so Blender, Maya, Cinema 4D.
Z mešalnikom sem ustvaril (grob) model.
Za jasne meritve v mešalniku lahko enoto velikosti mreže spremenite v milimetre.
Ko naredite model, se prepričajte, da nimate dvojnih točk in ste preračunali normale.
Izvozi datoteko kot.stl, če želiš uporabiti 3D tiskalnik, kot sem jaz.
OPOMBA: V Blenderju boste morali izvozno lestvico nastaviti na 0,1, če želite v naslednjem koraku natančno velikost v Curi
8. korak: 3D tiskanje ohišja
Ta model je bil natisnjen z 2,85 mm črno PLA žarilno nitko na tiskalniku Ultimaker 2+.
Prenesite CURA
Naložite svoj. STL v Curo in pokazal vam bo, koliko časa bo trajal.
Tiskanje ročnega ohišja lahko traja do 10 ur, odvisno od velikosti.
Pri modelih z majhnimi podrobnostmi pa lahko postopek pospešite, kar sem tudi storil.
Tu so moje nastavitve:
Višina sloja: 0,2
Debelina stene: 0,8
Zgornja/spodnja debelina: 0,8
Šoba: 0,4
Temperatura: 60 stopinj Celzija
Pretok: 100%
Brim: kjer koli se dotika gradbene plošče
Gostota polnjenja: 20%
Postopno: 0
Temperatura šobe: 220 C
Hitrost tiskanja: 120%
9. korak: Spajkanje in dokončanje
Prišli ste daleč.
Zadnji korak je pridobitev perfboard / veroboard plošče in povezave z vašo mizo prevedite v del plošče za izdelavo prototipov.
Poskrbite, da se elektronika prilega tiskanim ohišjem, in morda izrežite nekaj lesenega MDF -ja, da naredite dele, skozi katere se držijo gumbi / vhodi krmilnika.
Za to sem uporabil laserski rezalnik.
Najpomembnejše je, da se zajebavate, preizkusite nekaj, česar sicer niste storili drugače, in se zabavajte!
Upam, da je bila ta vadnica dovolj jasna … To je bil precej težak projekt, ki je prinesel odličen rezultat!:)
10. korak: Predogled
Priporočena:
Ročna igralna konzola Raspberry Pi Zero DIY: 6 korakov (s slikami)
Ročna igralna konzola Raspberry Pi Zero DIY: V tem projektu vam bom pokazal, kako sem uporabil Raspberry Pi Zero, NiMH baterije, domače zaščitno vezje za prekomerno praznjenje, LCD za vzvratno vožnjo in avdio ojačevalnik za ustvarjanje ročne igralne konzole, ki lahko predvaja retro igre. Začnimo
Ročna igralna konzola ESP32: 21 korakov (s slikami)
Ročna igralna konzola ESP32: Ta navodila kažejo, kako uporabiti ESP32 in ATtiny861 za izdelavo igralne konzole za emulator NES
Ročna ročna roka MeArm V0.4: 20 korakov (s slikami)
Roka za žepno roko MeArm V0.4: MeArm je ročna roka za žep. Gre za projekt, ki se je začel februarja 2014 in je imel zaradi odprtega razvoja kot projekta odprte strojne opreme fantastično hitro pot do sedanjega stanja. Različica 0.3 je bila predstavljena na strani Instructables
GamePi - ročna emulacijska konzola: 17 korakov (s slikami)
GamePi - konzola za ročni emulator: uvod: ta navodila opisujejo izdelavo ročne emulacijske konzole z Raspberry Pi 3 - krstil sem jo GamePi. Za takšne naprave je veliko podobnih navodil, vendar je za moj okus večina prevelika, premajhna
Ročna konzola Arduino Pong: 6 korakov (s slikami)
Ročna konzola Arduino Pong: DFRobot me je nedavno kontaktiral in želel, da uporabim njihovo posebno ploščo Arduino Nano in OLED. Sprva sem želel ustvariti pametno kolo in ga izdelal v celoti. Toda Nano je bil na žalost prešibak za zagon in shranjevanje velike skice