Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi
- Hakbang 2: Mga kable
- Hakbang 3: Alternatibong Mga Kable
- Hakbang 4: Code + Paliwanag
- Hakbang 5: Salamat sa Pagbasa
Video: Pong Tennis Sa LED Matrix, Arduino at Joysticks: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang proyektong ito ay inilaan para sa mga nagsisimula at nakaranas ng mga tinkerer. Sa isang pangunahing antas magagawa ito sa isang breadboard, jumper wires at natigil sa isang piraso ng materyal na scrap (Gumamit ako ng kahoy) na may Blu-Tack at walang paghihinang. Gayunpaman sa isang mas advanced na antas maaari itong solder sa perf board o isang pasadyang PCB.
Dahil ito ay isang proyekto ng lockdown wala akong access sa anumang maraming mga tool o materyales kaya't bakit ito natigil sa isang piraso ng scrap kahoy na medyo masyadong maliit sa Blu-Tack, subalit sa kabila nito ito ay isang masayang proyekto na magkakasama mabilis at binubuo ng mga karaniwang magagamit na mga bahagi na maaaring matagpuan nang murang online.
Hakbang 1: Mga Bahagi
Upang gawin ang Pong Game na kailangan mo;
- 1x Isang Arduino (gagana ang anumang uri)
- 4x MAX7219 8x8 LED Matrices
- 2x Joysticks
- 1x Piezo Buzzer (Opsyonal)
- 15x Babae-Babae Jumper Wires (3x pangkat ng 5)
- 15x Lalaki-Babae Jumper Wires (3x pangkat ng 5)
- 18x Mga Lalaki-Lalaki na Jumper Wires
- 1x Breadboard
- 1x 220Ω Resistor
Sa halip na isang Arduino Uno o Nano board maaari kang gumamit ng isang breadboard batay sa Arduino na may;
- 1x ATmega328p 28pin IC
- 1x 16kHz Crystal Oscillator
- 2x 22pF Ceramic Capacitors
- 1x USB FTDI UART Converter
- 1x 100uF Electrolytic Capacitor
- 1x Micro USB Breakout (Opsyonal)
Mga kasangkapan;
- PC na may Arduino IDE (at LedControl Library)
- May-katuturang USB Cable para sa iyong Arduino
- Power Bank upang mapatakbo ang laro na malayo sa iyong computer
Hakbang 2: Mga kable
Ang mga kable ay napaka-simple dahil ang kailangan mo lang ay ang mga jumper wires upang ikonekta ang mga header ng Matrices at Joysticks sa Arduino. Ang kumplikasyon lamang ay ang kapangyarihan dahil ang Arduino Uno ay mayroon lamang 3 mga koneksyon sa GND at isang koneksyon na 5v. Dito pumapasok ang breadboard at gumaganap bilang isang pamamahagi ng riles para sa lahat ng mga bahagi, Kung gumagamit ka ng isang NANO ang breadboard ay magsisilbi ng parehong layunin pati na rin pinapayagan kang i-plug ang lahat.
Para sa mga kable sundin ang mga koneksyon na ito.
- Kaliwa Joystick - GND at 5v sa kani-kanilang mga riles ng kuryente. SW - pin 9, VRx - A0, VRy - A1.
- Kanan Joystick - GND at 5v sa kani-kanilang mga riles ng kuryente. SW - pin 8, VRx - A2, VRy - A3.
- Rightest LED Matrix - GND at 5v sa kani-kanilang mga riles ng kuryente. DIN - 13, CS - 11, CLK - 12. (Tulad ng bawat linya 25)
- Ang lahat ng iba pang mga LED Matrice ay maaaring maging daisy na nakakadena ng output ng unang pupunta sa kanan papunta sa kaliwa upang ang code ay gumagana nang maayos.
- Opsyonal na Buzzer - Anode (+) hanggang sa 220Ω kasalukuyang paglilimita ng risistor sa pin 10, Cathode (-) - GND.
Hakbang 3: Alternatibong Mga Kable
Matapos ang pag-wire nito sa isang Arduino UNO upang makatipid ng puwang nagpasya akong ilagay ang Arduino IC mula sa UNO sa breadboard na may isang 16Mhz Crystal Oscillator at isang pares ng 22pF capacitors mula sa bawat panig patungo sa lupa. Sa palagay ko ito ay isang kapaki-pakinabang na pagbabago dahil ginagawang mas neater ang proyekto at mas tapos na subalit kailangan mong gumamit ng isang USB FTDI programmer upang mai-update ang programa.
Hakbang 4: Code + Paliwanag
Upang mai-upload ang code sa Arduino i-download ang LedControl library mula sa GitHub dito, github.com/wayoda/LedControl at idagdag ang Zip file o idagdag ito sa pamamagitan ng Library Manager sa loob ng IDE. Pagkatapos nito buksan ang naka-attach na sketch, piliin ang iyong Arduino sa board at mga setting ng port sa ilalim ng mga tool at i-upload ito sa arduino.
Paliwanag
Linya 1: Nagdaragdag ng library
Linya 5-23: Itinatakda ang lahat ng mga variable, pare-pareho at mga numero ng pin.
Linya 25: Itinatakda ang LED Martix at itinatakda ang mga control pin at kung gaano karaming ipinapakita.
Linya 27: Itinatakda ang Pag-reset ng Pag-andar.
Linya 30-35: Ang pagpapaandar ng shutdown upang i-on / i-off ang lahat ng mga pagpapakita nang magkasama.
Linya 38-43: Pag-andar ng SetIntensity upang maitakda nang magkasama ang ningning ng lahat ng mga ipinapakita.
Linya 46-51: I-clear ang Lahat ng pag-andar upang punasan ang lahat ng mga display nang magkasama.
Linya 53-64: joystick Function upang makuha ang posisyon ng mga joystick, i-map ang mga ito sa 7 posibleng posisyon ng paniki para sa pagpindot sa bola at pagkatapos ay ilipat ang paniki sa bagong posisyon.
Linya 67-435: Ang pagpapaandar na gumagalaw ng bola sa kaliwang manlalaro sa tinukoy na taas at bilis, sinusuri kung ang manlalaro ay na-hit ito at alinman sa nagdadala at itinatakda ang katayuan ng pag-crash sa totoo o bounces ang bola pabalik, nagdagdag ng 1 sa iskor at nagdaragdag ng bilis.
Linya 438-811: Ang pagpapaandar na gumagalaw ng bola sa tamang manlalaro sa tinukoy na taas at bilis, sinusuri kung ang manlalaro ay na-hit ito at alinman sa nagdadala at itinatakda ang katayuan ng pag-crash sa totoo o bounces ang bola pabalik, nagdagdag ng 1 sa iskor at nagdaragdag ng bilis.
Linya 813-823: Pag-andar para sa pagpapakita ng isang Smiley Face, Tick, Cross o Tanong ng Tanong sa tinukoy na display (0 sa kanan hanggang 3 sa kaliwa).
Linya 861-979: Pag-andar para sa pagpapakita ng mga numero 0-9 sa tinukoy na display.
Linya 981-1047: Pag-andar para sa pagpapakita ng iskor sa bawat panig ng manlalaro ng screen.
Linya 1049-1064: Pag-andar upang suriin kung handa na ang manlalaro.
Linya 1066-1076: Seksyon ng Pag-set up ng code para sa code na pinapatakbo nang isang beses kapag nagsimula ang programa.
Linya 1078-1136: Seksyon ng Main Loop para sa lohika ng laro kung saan ginagamit ang lahat ng mga pag-andar at kung saan ang nagpapanalo ay napagpasyahan at pagkatapos ay i-restart ang programa pagkatapos ng 5 segundo ng pagpapakita ng iskor.
Hakbang 5: Salamat sa Pagbasa
Salamat sa pagbabasa ng Instructable na ito ay isang nakakatuwang proyekto sa lockdown na nagkasama sa loob ng ilang araw habang natutunan ko ang tungkol sa Arduino program. Kung nasiyahan ka huwag mag-atubiling bumoto para dito sa paligsahan ng Arduino.
Inirerekumendang:
LED Table Tennis Ball-Ball: 16 Hakbang (na may Mga Larawan)
LED Table Tennis Ball-Ball: Backstory Matapos ang pagbuo ng isang patag na panel ng mga bola ng tennis table sa ilang sandali, nagsimula akong magtaka Kung posible na gumawa ng isang 3D panel mula sa mga table tennis ball. Pinagsama sa aking interes sa paggawa ng " art " mula sa umuulit na mga geometric na hugis ko
Table Tennis Scoreboard: 16 Hakbang (na may Mga Larawan)
Table Tennis Scoreboard: Masyadong tamad upang subaybayan ang iyong marka sa Tennis / Ping Pong? O baka may sakit ka lang na palaging kalimutan ito? Kung gayon, maaaring interesado ka sa pagbuo ng digital na Table Tennis Scoreboard na ito. Narito ang mga highlight: Mga puntos ng track , mga laro, server, at p
Tripod ng Tennis Ball: 4 na Hakbang (na may Mga Larawan)
Tennis Ball Tripod: I-recycle ang isang patay na bola ng tennis sa isang bulsa ng camera camera. Kumuha ng matalas na mga larawan gamit ang dingding, bakod, sanga ng puno, pintuan, hood ng kotse, poste ng kawayan, o isang palatandaan. opsyonal na mga butas sa pag-mount
Mga Tagapagsalita ng Vintage IPod (na may mga LED!): 7 Mga Hakbang (na may Mga Larawan)
Mga Tagapagsalita ng Vintage IPod (na may mga LED!): Gamit ang tamang mga supply, madaling gumawa ng iyong sariling de-kalidad na iPod o mp3 player dock. Gamit ang ilang mga scrap ng circuit board, mga sample na nagsasalita, at kahoy na aking inilatag sa paligid ng shop, nagawa ko ang isang pares ng disenteng tunog at maayos na hitsura
Ang Tennis Can LED Lantern: 4 Hakbang (na may Mga Larawan)
Ang Tennis Can LED Lantern: Nilikha ko ang parol na ito habang gumagala sa dilim na may isang LED touch light at isang lata ng mga bola ng tennis (na kilalang nakikipag-juggle ako sa mga okasyon). Bumubuo ito ng magandang sinag na ilaw kapag nakaupo sa isang mesa, at maaaring i-on