Turinys:

Teniso tenisas su LED matrica, „Arduino“ir vairasvirtėmis: 5 žingsniai (su nuotraukomis)
Teniso tenisas su LED matrica, „Arduino“ir vairasvirtėmis: 5 žingsniai (su nuotraukomis)

Video: Teniso tenisas su LED matrica, „Arduino“ir vairasvirtėmis: 5 žingsniai (su nuotraukomis)

Video: Teniso tenisas su LED matrica, „Arduino“ir vairasvirtėmis: 5 žingsniai (su nuotraukomis)
Video: UNBELIEVABLE POINT !! [🏓🤯] Xu Xin 2024, Lapkritis
Anonim
Teniso tenisas su LED matrica, „Arduino“ir vairasvirtėmis
Teniso tenisas su LED matrica, „Arduino“ir vairasvirtėmis

Šis projektas skirtas pradedantiesiems ir patyrusiems meistrams. Pradiniame lygmenyje tai galima padaryti su duonos lenta, trumpikliais ir pritvirtinti prie metalo laužo (aš naudoju medieną) su „Blu-Tack“ir be litavimo. Tačiau aukštesniame lygyje jis gali būti lituojamas prie perforavimo plokštės arba pasirinktinio PCB.

Kadangi tai buvo uždarymo projektas, neturėjau prieigos prie daugybės įrankių ar medžiagų, todėl kodėl jis prilipo prie medžio laužo, kuris yra šiek tiek per mažas naudojant „Blu-Tack“, tačiau, nepaisant to, tai yra įdomus projektas greitai ir susideda iš dažniausiai prieinamų dalių, kurias pigiai galima rasti internete.

1 žingsnis: dalys

Norėdami sukurti teniso žaidimą, kurio jums reikia;

  • 1x „Arduino“(bet koks tipas veiks)
  • 4x MAX7219 8x8 LED matricos
  • 2x vairasvirtės
  • 1x pjezo garsinis signalas (pasirinktinai)
  • 15x moterų ir moterų jungiamieji laidai (3x grupės po 5)
  • 15x vyrų ir moterų jungiamieji laidai (3x 5 grupės)
  • 18 kartų vyriški-vyriški jungiamieji laidai
  • 1x duonos lenta
  • 1x 220Ω rezistorius

Vietoj „Arduino Uno“ar „Nano“plokštės galite naudoti „Arduino“duonos lentą;

  • 1x ATmega328p 28 kontaktų IC
  • 1x 16kHz kristalų osciliatorius
  • 2x 22pF keraminiai kondensatoriai
  • 1x USB FTDI UART keitiklis
  • 1x 100uF elektrolitinis kondensatorius
  • 1x „Micro USB Breakout“(pasirinktinai)

Įrankiai;

  • Kompiuteris su „Arduino IDE“(ir „LedControl“biblioteka)
  • Atitinkamas „Arduino“USB kabelis
  • „Power Bank“, kad įjungtumėte žaidimą nuo kompiuterio

2 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai

Laidai yra labai paprasti, nes jums tereikia jungiamųjų laidų, kad matricų ir vairasvirtių antraštes prijungtumėte prie „Arduino“. Vienintelė komplikacija yra galia, nes „Arduino Uno“turi tik 3 GND jungtis ir vieną 5 V jungtį. Čia yra duonos plokštė ir ji veikia kaip visų komponentų maitinimo paskirstymo bėgelis. Jei naudojate NANO, duonos lenta bus skirta tam pačiam tikslui ir leis jums viską prijungti.

Norėdami prijungti laidus, vadovaukitės šiomis jungtimis.

  • Kairė vairasvirtė - GND ir 5v prie atitinkamų maitinimo bėgių. SW - 9 kaištis, VRx - A0, VRy - A1.
  • Dešinė vairasvirtė - GND ir 5v prie atitinkamų maitinimo bėgių. SW - 8 kaištis, VRx - A2, VRy - A3.
  • Dešiniausioji LED matrica - GND ir 5v prie atitinkamų maitinimo bėgių. DIN - 13, CS - 11, CLK - 12. (pagal 25 eilutę)
  • Visos kitos šviesos diodų matricos gali būti susietos iš pirmojo išėjimo iš dešinės į kairę, kad kodas tinkamai veiktų.
  • Pasirenkamas garsinis signalas - anodas (+) per 220Ω srovės ribojimo rezistorių iki 10 kaiščio, katodas (-) - GND.

3 žingsnis: alternatyvus laidas

Alternatyvus laidas
Alternatyvus laidas
Alternatyvus laidas
Alternatyvus laidas
Alternatyvus laidas
Alternatyvus laidas

Prijungęs jį prie „Arduino UNO“, norėdamas sutaupyti vietos, nusprendžiau įdėti „Arduino IC“iš UNO ant duonos lentos su 16Mhz kristalų osciliatoriumi ir pora 22pF kondensatorių iš kiekvienos pusės į žemę. Manau, kad tai buvo verta modifikacija, nes dėl to projektas atrodo tvarkingesnis ir baigtas, tačiau norint atnaujinti programą, reikia naudoti USB FTDI programuotoją.

4 žingsnis: kodas + paaiškinimas

Norėdami įkelti kodą į „Arduino“, atsisiųskite „LedControl“biblioteką iš „GitHub“čia, github.com/wayoda/LedControl ir pridėkite ZIP failą arba pridėkite jį per bibliotekos tvarkyklę IDE. Po to atidarykite pridėtą eskizą, pasirinkite savo „Arduino“lentos ir prievado nustatymuose po įrankiais ir įkelkite jį į „arduino“.

Paaiškinimas

1 eilutė: prideda biblioteką

5-23 eilutė: nustato visus kintamuosius, konstantas ir kaiščių skaičius.

25 eilutė: nustato „Martix“šviesos diodą ir nustato valdymo kaiščius bei kiek ekranų.

27 eilutė: nustato atstatymo funkciją.

30-35 eilutė: išjungimo funkcija, skirta įjungti/išjungti visus ekranus kartu.

38-43 eilutė: „SetIntensity“funkcija, skirta kartu nustatyti visų ekranų ryškumą.

46-51 eilutė: „ClearAll“funkcija, skirta išvalyti visus ekranus kartu.

53-64 eilutė: vairasvirtė Funkcija, skirta gauti vairasvirtės padėtį, susieti jas su 7 galimomis lazdos padėtimis, kad būtų galima pataikyti kamuolį, o tada perkelti lazdą į naują padėtį.

67-435 eilutė: funkcija, kuri perkelia kamuolį į kairįjį žaidėją nurodytu aukščiu ir greičiu, patikrina, ar žaidėjas pataikė į jį ir tęsia ir nustato avarijos būseną į teisingą arba atmuša kamuolį, prideda 1 prie rezultato ir padidina greitį.

438-811 eilutė: funkcija, kuri perkelia kamuolį į tinkamą žaidėją nurodytu aukščiu ir greičiu, patikrina, ar žaidėjas pataikė į jį ir tęsia ir nustato avarijos būseną į teisingą arba atmuša kamuolį, prideda 1 prie rezultato ir padidina greitį.

813-823 eilutė: šypsenėlės, varnelės, kryžiaus ar klaustuko rodymo funkcija nurodytame ekrane (nuo 0 dešinėje iki 3 kairėje).

861-979 eilutė: funkcija rodyti skaičius nuo 0 iki nurodyto ekrano.

981-1047 eilutė: funkcija rodyti rezultatą kiekvienai žaidėjo ekrano pusei.

1049-1064 eilutė: funkcija, skirta patikrinti, ar grotuvas yra pasirengęs.

1066-1076 eilutė: kodo, kuris paleidžiamas vieną kartą paleidus programą, kodo sąrankos skyrius.

1078-1136 eilutė: žaidimo logikos pagrindinė ciklo dalis, kurioje naudojamos visos funkcijos ir kur sprendžiama, kas laimi, o po 5 sekundžių rodant rezultatą ji paleidžia programą iš naujo.

5 žingsnis: ačiū, kad perskaitėte

Ačiū, kad skaitote
Ačiū, kad skaitote

Dėkojame, kad perskaitėte šį „Instructable“, tai buvo įdomus uždarymo projektas, susibūręs per porą dienų, kai sužinojau daugiau apie „Arduino“programavimą. Jei patiko, drąsiai balsuokite už tai „Arduino“konkurse.

Rekomenduojamas: