Sisukord:

Pongitennis koos LED -maatriksi, Arduino ja juhtkangidega: 5 sammu (koos piltidega)
Pongitennis koos LED -maatriksi, Arduino ja juhtkangidega: 5 sammu (koos piltidega)

Video: Pongitennis koos LED -maatriksi, Arduino ja juhtkangidega: 5 sammu (koos piltidega)

Video: Pongitennis koos LED -maatriksi, Arduino ja juhtkangidega: 5 sammu (koos piltidega)
Video: Truls Moregard vs Felix Lebrun | MS R16 | WTT Star Contender Goa 2024 2024, November
Anonim
Pongitennis koos LED -maatriksi, Arduino ja juhtkangidega
Pongitennis koos LED -maatriksi, Arduino ja juhtkangidega

See projekt on mõeldud nii algajatele kui ka kogenud tinistajatele. Põhitasandil saab seda teha leivaplaadi, hüppajate juhtmetega ja kinnitada vanarauale (kasutasin puitu) Blu-Tacki abil ja ilma jootmiseta. Kuid kõrgemal tasemel saab seda joota perfoplaadile või kohandatud PCB -le.

Kuna tegemist oli sulgemisprojektiga, ei olnud mul ligipääsu paljudele tööriistadele ega materjalidele, mistõttu jäi see Blu-Tacki abil veidi vanaks jääva puidutüki külge, kuid vaatamata sellele on see lõbus projekt, mis saab kokku kiiresti ja koosneb üldkasutatavatest osadest, mida saab Internetist odavalt leida.

Samm: osad

Pongimängu tegemiseks vajate;

  • 1x Arduino (mis tahes tüüp töötab)
  • 4x MAX7219 8x8 LED -maatriksit
  • 2x juhtkangid
  • 1x pieso -sumin (valikuline)
  • 15x naissoost-džemprijuhtmed (3x 5-liikmelised rühmad)
  • 15x isas-naissoost juhtmed (3x 5-liikmelised rühmad)
  • 18x isas-mees džemprijuhtmed
  • 1x leivalaud
  • 1x 220Ω takisti

Arduino Uno või Nano plaadi asemel võite kasutada Arduino leivaplaati;

  • 1x ATmega328p 28 -pin IC
  • 1x 16 kHz kristallostsillaator
  • 2x 22pF keraamilised kondensaatorid
  • 1x USB FTDI UART muundur
  • 1x 100uF elektrolüütkondensaator
  • 1x mikro -USB -katkestus (valikuline)

Tööriistad;

  • Arvuti Arduino IDE -ga (ja LedControl Library)
  • Asjakohane USB -kaabel teie Arduino jaoks
  • Power Bank mängu toiteks arvutist eemal

2. samm: juhtmestik

Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik

Juhtmestik on väga lihtne, kuna vajate vaid hüppajajuhtmeid, et ühendada maatriksite ja juhtkangide päised Arduinoga. Ainus komplikatsioon on toide, kuna Arduino Unol on ainult 3 GND -ühendust ja üks 5 -voldine ühendus. See on koht, kus leivaplaat tuleb sisse ja toimib kõigi komponentide toitejaotusrööpana. Kui kasutate NANO -d, teenib leivalaud sama eesmärki ja võimaldab teil kõik vooluvõrku ühendada.

Juhtmestiku jaoks järgige neid ühendusi.

  • Vasak juhtkang - GND ja 5v oma vastavatele rööbaspuudele. SW - tihvt 9, VRx - A0, VRy - A1.
  • Parempoolne juhtkang - GND ja 5v vastavatele rööbaspuudele. SW - tihvt 8, VRx - A2, VRy - A3.
  • Parempoolne LED -maatriks - GND ja 5v nende vastavatele rööbastele. DIN - 13, CS - 11, CLK - 12. (vastavalt reale 25)
  • Kõik muud LED -maatriksid saab esimese paremalt vasakule suunduva väljundi aheldada, nii et kood töötab korralikult.
  • Valikuline helisignaal - anood (+) kuni 220Ω voolu piirav takisti tihvtiga 10, katood (-) - GND.

Samm: alternatiivne juhtmestik

Alternatiivne juhtmestik
Alternatiivne juhtmestik
Alternatiivne juhtmestik
Alternatiivne juhtmestik
Alternatiivne juhtmestik
Alternatiivne juhtmestik

Pärast ruumi kokkuhoiu ühendamist Arduino UNO -ga otsustasin panna UNO -st pärit Arduino IC 16Mhz kristallostsillaatori ja paari 22pF kondensaatoriga mõlemalt poolt maapinnale. Ma arvan, et see oli väärt muudatus, kuna see muudab projekti korralikumaks ja viimistletumaks, kuid programmi värskendamiseks peate kasutama USB FTDI programmeerijat.

Samm: kood + selgitus

Koodi Arduinole üleslaadimiseks laadige GitHubist alla LedControli kogu, github.com/wayoda/LedControl ja lisage Zip -fail või lisage see IDE -s oleva teegihalduri kaudu. Pärast seda avage lisatud visand, valige oma Arduino tahvli ja pordi seadetes tööriistade alt ning laadige see üles arduino.

Selgitus

1. rida: lisab kogu

Rida 5-23: määrab kõik muutujad, konstandid ja pin-numbrid.

Rida 25: seadistab LED Martixi ja määrab juhtnupud ning kuvarite arvu.

Rida 27: seadistab lähtestamisfunktsiooni.

Rida 30-35: väljalülitusfunktsioon kõigi kuvarite koos sisse- ja väljalülitamiseks.

Rida 38-43: funktsioon SetIntensity, et määrata kõigi kuvarite heledus koos.

Rida 46-51: funktsioon ClearAll kõigi kuvarite kokku pühkimiseks.

Rida 53-64: juhtnupp Funktsioon juhtkangide asukoha määramiseks, kaardistage need 7 palli löömise võimalikku positsiooni ja seejärel liigutage kurikas uude asendisse.

Rida 67-435: funktsioon, mis liigutab palli määratud kõrguse ja kiirusega vasakule mängijale, kontrollib, kas mängija tabas seda ning kas jätkab ja seab kokkupõrke oleku tõeseks või põrkab palli tagasi, lisab skoorile 1 ja suurendab kiirust.

Rida 438-811: funktsioon, mis liigutab palli õigele mängijale määratud kõrgusel ja kiirusel, kontrollib, kas mängija tabas seda ning kas jätkab ja seab kokkujooksmise oleku tõeseks või põrkab palli tagasi, lisab skoorile 1 ja suurendab kiirust.

Rida 813-823: funktsioon naeratava näo, linnukese, risti või küsimärgi kuvamiseks määratud ekraanile (0 paremal kuni 3 vasakul).

Rida 861-979: funktsioon numbrite 0-9 kuvamiseks määratud ekraanile.

Rida 981-1047: funktsioon skoori kuvamiseks ekraani igale poole.

Rida 1049-1064: funktsioon, mis kontrollib, kas mängija on valmis.

Rida 1066-1076: Programmi käivitamisel üks kord käivitatava koodi koodi seadistusosa.

Rida 1078-1136: Mängusoogika põhisilmuse osa, kus kasutatakse kõiki funktsioone ja kus otsustatakse, kes võidab ja seejärel taaskäivitab programmi pärast 5 sekundit skoori näitamist.

Samm: Täname lugemise eest

Täname lugemise eest
Täname lugemise eest

Täname, et lugesite seda juhendit, see oli lõbus lukustusprojekt, mis tuli kokku paari päeva jooksul, kui sain rohkem teada Arduino programmeerimisest. Kui teile meeldis, andke julgelt Arduino võistlusel oma hääl.

Soovitan: