Talaan ng mga Nilalaman:

Handheld Console With Wireless Controllers and Sensors (Arduino MEGA & UNO): 10 Hakbang (na may Mga Larawan)
Handheld Console With Wireless Controllers and Sensors (Arduino MEGA & UNO): 10 Hakbang (na may Mga Larawan)

Video: Handheld Console With Wireless Controllers and Sensors (Arduino MEGA & UNO): 10 Hakbang (na may Mga Larawan)

Video: Handheld Console With Wireless Controllers and Sensors (Arduino MEGA & UNO): 10 Hakbang (na may Mga Larawan)
Video: MAILBAG! Arduino, ESP32, Retro Gaming, Electronics & MORE! 2024, Hulyo
Anonim
Image
Image
I-wire ang (pindutin) ang screen
I-wire ang (pindutin) ang screen

Ang ginamit ko

- Arduino MEGA

- 2x Arduino UNO

- Adafruit 3.5 TFT 320x480 Touchscreen HXD8357D

- Buzzer

- 4Ohm 3W Speaker

- 5mm LED lights

- Ultimaker 2+ Printer w / Black PLA Filament

- Lasercutter w / MDF na kahoy

- Itim na pintura ng spray (para sa kahoy)

- 3x nRF24L01 + Mga Wireless Transceiver

- 2x 16mm Button

- 2x Pressure Sensors

- 3x 9V Mga May hawak ng Baterya

- Breadboard

- 2x 0.96 OLED I2C screen

- Lalaki - mga babaeng wires

- Solderstation

- Super Pandikit

- 2x one-channel touch module (PULA / BLUE)

Hakbang 1: I-wire ang (touch) screen

I-wire ang (pindutin) ang screen
I-wire ang (pindutin) ang screen
I-wire ang (pindutin) ang screen
I-wire ang (pindutin) ang screen

Kaya gagawin namin ito ng isang handheld console, na may dalawang mga wireless controler.

Samakatuwid magkakaroon kami ng isang pangunahing yunit (Ang pinakamalaking bahagi, sa LCD screen)

Ang pangunahing yunit ay tatakbo kasama ang Arduino MEGA.

Ang dalawang magkakahiwalay na mga tagakontrol ay bawat isa ay magpatakbo ng isang Arduino UNO.

Sa paglaon ay gagawin namin ang Arduinos na makipag-usap sa bawat isa upang magpadala ng data ng controller.

Magsimula sa mga kable ng 320x480 na screen nang tama sa iyong pangunahing unit ng screen (Arduino MEGA) tulad ng sa tutorial na ito. (Ang Adafruit ay may mahusay na detalyadong tutorial para sa mga kable at code).

Para sa tunog, nag-wire ako ng isang buzzer at isang 3W 4Ohm Speaker upang ihiwalay ang mga digital na pin at GND.

na may tono (pin, dalas, tagal); Maaari kang lumikha ng ilang pangunahing mga tunog na monophonic.

Hakbang 2: Pamilyar sa Mga Aklatan

Pamilyar sa Mga Aklatan
Pamilyar sa Mga Aklatan
Pamilyar sa Mga Aklatan
Pamilyar sa Mga Aklatan

Sinusuportahan ng screen ng Adafruit 320x480 ang kaukulang Adafruit_GFX at Adafruit_TFTLCD na mga aklatan.

Basahin ang dokumentasyon. Sa palagay ko ipinaliwanag ito nang mabuti doon.

Tiyaking inilagay mo ang mga tamang setting sa Arduino IDE:

Mga tool -> Lupon -> Arduino / Genuino MEGA o MEGA 2560

Mga Tool -> Port -> [Ang port na may '' Arduino MEGA '' dito]

Sinusuportahan ng partikular na library ng screen ang mga pasadyang font, pangunahing mga hugis at iba't ibang mga kulay.

Isang bagay na kapansin-pansin ay maaaring ang rate ng pag-refresh ay masyadong mababa para sa makinis na animasyon. Kung nais mong i-update ang screen sa bawat tik, ito ay magiging masyadong mabagal upang mahawakan ang redrawing bawat pixel, at ito ay kukurap

Kaya iminumungkahi ko na gumana nang malikhain sa paligid nito, tulad ng kung paano ang ilan sa mga mas matatandang hawakan ng kamay na humawak ng animasyon: may mga keyframe. Mas kaunti pa! At sa halip na muling gawing muli ang lahat bawat segundo, kung nais mong ilipat ang isang rektanggulo pakaliwa o pakanan, maaari mo lamang burahin ang daanan na iniiwan nito, sa halip na burahin ang buong bagay at muling i-redraw ito.

Halimbawa, ginamit ko ang flicker ng screen bilang isang blinking effect para sa character sa pagkakasunud-sunod ng intro.

Mula sa Adafruit_GFX library higit sa lahat ginamit ko ang tft.fillRect (x, y, lapad, taas, kulay); at tft.print (teksto); pagpapaandar

Ang eksperimento ay susi.

Hakbang 3: Magdisenyo ng isang Graphical User Interface / Pangunahing Menu

Magdisenyo ng isang Graphical User Interface / Pangunahing Menu
Magdisenyo ng isang Graphical User Interface / Pangunahing Menu
Magdisenyo ng isang Graphical User Interface / Pangunahing Menu
Magdisenyo ng isang Graphical User Interface / Pangunahing Menu

Matapos makakuha ng kaalaman sa loob ng silid-aklatan at malaman ang mga limitasyon / kapangyarihan nito, maaari mong simulan ang pagdidisenyo ng isang screen ng Pangunahing Menu.

Muli, isipin ang tungkol sa mga parihaba. Atleast yun ang ginawa ko.

Narito ang aking code para sa UI

pastebin.com/ubggvcqK

Maaari kang lumikha ng mga slider para sa liwanag ng screen, upang makontrol ang pin na '' Lite '' sa iyong Adafruit Touchscreen, sa pamamagitan ng isang Analog pin.

Hakbang 4: Wire ang Dalawang Controllers

Wire ang Dalawang Controllers
Wire ang Dalawang Controllers
Wire ang Dalawang Controllers
Wire ang Dalawang Controllers
Wire ang Dalawang Controllers
Wire ang Dalawang Controllers

Para sa bahagi ng tagapamahala talagang nasa sa iyo kung anong uri ng mga sensor ang nais mong gamitin, depende sa kung anong laro ang pinaplano mong gawin

Okay, kaya para sa mga nagpasiya nagpasya akong gamitin:

- Isang sensor ng presyon

- Isang screen ng OLED

- Isang module ng touch ng isang channel na naka-on o naka-off

- Sensor ng kilos (RobotDyn APDS9960)

- nRFL01 + Transceiver (para sa wireless na komunikasyon)

- Isang pindutan ng push

Tandaan: Ang sensor ng Gesture at ang OLED ay parehong gumagamit ng mga koneksyon sa SCL / SDA. Medyo natagalan ako upang mapagtanto na ang Arduino ay mayroon lamang dalawa: A4 at A5. Ngunit maaari mo lamang i-wire ang mga kahanay na magkasama sa breadboard at gagana ito ng maayos

Hakbang 5: Simulan ang Mga Kable sa Wireless Connection

Simulan ang Pag-kable ng Wireless Connection
Simulan ang Pag-kable ng Wireless Connection
Simulan ang Pag-kable ng Wireless Connection
Simulan ang Pag-kable ng Wireless Connection
Simulan ang Pag-kable ng Wireless Connection
Simulan ang Pag-kable ng Wireless Connection

Ang mga kable ng nRF24L01 + na mga module ay tumagal sa akin ng ilang oras, upang maisagawa ito.

Kinailangan kong mag-resort sa TMRh20 RF24 library, pagkatapos na hindi makuha ang tamang data ng sensor na nailipat sa screen.

Upang makapag-usap ang maramihang mga Arduino sa bawat isa, dapat nating tiyakin na kahit isa sa mga UNO ay pinapagana, pati na rin ang MEGA.

Gamitin ang serial console ng MEGA upang mai-print ang mga resulta na makukuha mo mula sa UNO, at tingnan kung gumagana ito.

Narito ang code

Narito ang silid-aklatan

Hakbang 6: Go Wild! Subukan ang Iba`t ibang mga Bagay

Go Wild! Subukan ang Iba`t ibang mga Bagay
Go Wild! Subukan ang Iba`t ibang mga Bagay

Isang mahalagang bahagi ng aking proseso ng pag-unlad ay Subukan lamang ang maraming mga bagay!

Anong uri ng mga pindutan ang nais mong gamitin?

Ano ang inilalagay mo sa iyong mga Controller?

Tumingin sa paligid ng mga website, mahahanap mo ang maraming mga sangkap bukod sa karaniwang mga pindutan na "A / B" o mga analog na joystick. Maging inspirasyon at maganyak na bigyan ito!

Kapag nakakuha ka ng isang malinaw at gumaganang ideya ng kung ano ang nais mong ilagay sa mga Controller, kawad ang mga bahagi.

Nakasalalay sa kung paano ito gumagana, kakailanganin mong gumamit ng mga digital input, o analog input.

TANDAAN: Ang ilang mga sangkap ay maaaring mangailangan ng mga pin ng SCL / SDA upang gumana nang tama. At kung mayroon kang dalawa o higit pang mga sensor na parehong nangangailangan ng pareho, malamang na makakuha ka ng atake ng gulat tulad ko. Ngunit hindi ka dapat magalala

Maaari mong ilagay ang parehong mga sensor ng SDA at SCL sa mga serye sa bawat isa, pagpunta sa A4 at A5 at gagana ito

Hakbang 7: Disenyo

Disenyo
Disenyo
Disenyo
Disenyo
Disenyo
Disenyo

Sa sandaling nakuha mo ang isang cool na ideya para sa mga sensor na nais mong gamitin, gumuhit ng ilang mga ideya para sa isang disenyo na gusto mo.

Pagkatapos nito, makapasok sa ilang mga programa sa pagmomodelo tulad ng Blender, Maya, Cinema 4D.

Ginamit ko ang Blender upang lumikha ng isang (magaspang) na modelo.

Upang makakuha ng mga malinaw na sukat sa Blender, maaari mong baguhin ang yunit ng laki ng grid sa millimeter.

Matapos kang gumawa ng isang modelo, tiyaking wala kang mga doble verte at muling nakalkula mo ang iyong mga pamantayan.

I-export ang file bilang isang.stl, kung nais mong gumamit ng isang 3D printer tulad ko.

TANDAAN: Sa Blender, kailangan mong itakda ang sukat ng pag-export sa 0.1, kung nais mo ang tumpak na laki sa Cura sa susunod na hakbang

Hakbang 8: Pag-print ng 3D ng Enclosure

Pag-print ng 3D ng Enclosure
Pag-print ng 3D ng Enclosure
Pag-print ng 3D ng Enclosure
Pag-print ng 3D ng Enclosure
Pag-print ng 3D ng Enclosure
Pag-print ng 3D ng Enclosure

Ang modelong ito ay naka-print na may 2.85mm Black PLA filament sa isang Ultimaker 2+ printer.

I-download ang CURA

I-load ang iyong. STL sa Cura, at ipapakita nito sa iyo kung gaano katagal.

Para sa isang handheld case maaaring tumagal ng hanggang 10 oras upang mai-print, depende sa laki.

Gayunpaman, para sa mga modelong mababa ang detalye maaari mong mapabilis ang proseso, na kung saan ang ginawa ko.

Narito ang aking mga setting:

Taas ng Layer: 0.2

Kapal ng Wall: 0.8

Top / Bottom Thickness: 0.8

Nozzle: 0.4

Temperatura: 60 degree Celsius

Daloy: 100%

Brim: Kahit saan hawakan ang buildplate

Densidad ng infill: 20%

Unti-unting: 0

Temperatura ng Nozzle: 220 C

Bilis ng pag-print: 120%

Hakbang 9: Paghihinang at Pagtatapos

Paghihinang at Pagtatapos
Paghihinang at Pagtatapos
Paghihinang at Pagtatapos
Paghihinang at Pagtatapos
Paghihinang at Pagtatapos
Paghihinang at Pagtatapos

Malayo na ang narating mo.

Ang huling hakbang ay upang makakuha ng isang perfboard / veroboard, at isalin ang iyong mga koneksyon sa breadboard sa isang bahagi ng isang prototyping board.

Siguraduhin na ang electronics ay umaangkop sa loob ng naka-print na enclosure, at marahil ay pinutol ang ilang kahoy na MDF upang makagawa ng mga bahagi kung saan dumikit ang mga pindutan / input ng controller.

Gumamit ako ng lasercutter para dito.

Ang pinakamahalagang bagay ay ang pag-ikot, subukan ang ilang mga bagay na hindi mo pa nagagawa kung hindi man, at magsaya!

Inaasahan kong ang tutorial na ito ay sapat na malinaw … Ito ay isang medyo mahirap na proyekto, na nagbunga ng mahusay na resulta!:)

Hakbang 10: Pag-preview

Inirerekumendang: