Satura rādītājs:

Tenisa teniss ar LED matricu, Arduino un kursorsviras: 5 soļi (ar attēliem)
Tenisa teniss ar LED matricu, Arduino un kursorsviras: 5 soļi (ar attēliem)

Video: Tenisa teniss ar LED matricu, Arduino un kursorsviras: 5 soļi (ar attēliem)

Video: Tenisa teniss ar LED matricu, Arduino un kursorsviras: 5 soļi (ar attēliem)
Video: Fiquei 2 anos sem cortar o cabelo! 2024, Novembris
Anonim
Tenisa teniss ar LED matricu, Arduino un kursorsviras
Tenisa teniss ar LED matricu, Arduino un kursorsviras

Šis projekts ir paredzēts gan iesācējiem, gan pieredzējušiem meistariem. Pamata līmenī to var izdarīt ar maizes dēli, džemperu vadiem un pielīmēt pie lūžņu materiāla gabala (es izmantoju koku) ar Blu-Tack un bez lodēšanas. Tomēr augstākā līmenī to var pielodēt uz plātnes vai pielāgotas PCB.

Tā kā šis bija slēgšanas projekts, man nebija piekļuves daudziem instrumentiem vai materiāliem, tāpēc ar Blu-Tack tas bija iestrēdzis koka gabalā, kas ir nedaudz par mazu, tomēr, neskatoties uz to, tas ir jautrs projekts, kas sanāk kopā ātri un sastāv no parasti pieejamām detaļām, kuras tiešsaistē var atrast lēti.

1. darbība: detaļas

Lai izveidotu nepieciešamo tenisa spēli;

  • 1x Arduino (derēs jebkura veida)
  • 4x MAX7219 8x8 LED matricas
  • 2x kursorsviras
  • 1x pjezo skaņas signāls (pēc izvēles)
  • 15x sieviešu un sieviešu džemperu vadi (3x grupas no 5)
  • 15x vīriešu un sieviešu džemperu vadi (3x grupas no 5)
  • 18x vīriešu-vīriešu džemperu vadi
  • 1x maizes dēlis
  • 1x 220Ω rezistors

Arduino Uno vai Nano dēļa vietā jūs varat izmantot maizes dēli, kura pamatā ir Arduino;

  • 1x ATmega328p 28 pin IC
  • 1x 16 kHz kristāla oscilators
  • 2x 22pF keramikas kondensatori
  • 1x USB FTDI UART pārveidotājs
  • 1x 100uF elektrolītiskais kondensators
  • 1x Micro USB pārtraukums (pēc izvēles)

Instrumenti;

  • Dators ar Arduino IDE (un LedControl bibliotēku)
  • Attiecīgais USB kabelis jūsu Arduino
  • Power Bank, lai darbinātu spēli prom no datora

2. solis: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Elektroinstalācija ir ļoti vienkārša, jo viss, kas jums nepieciešams, ir savienojuma vadi, lai savienotu Matrices un kursorsviru galvenes ar Arduino. Vienīgā komplikācija ir jauda, jo Arduino Uno ir tikai 3 GND savienojumi un viens 5 V savienojums. Šeit tiek ievietots maizes dēlis un tas darbojas kā strāvas sadales sliede visām sastāvdaļām. Ja izmantojat NANO, maizes dēlis kalpos tam pašam mērķim, kā arī ļaus jums visu pieslēgt.

Elektroinstalācijai sekojiet šiem savienojumiem.

  • Kreisā kursorsvira - GND un 5v līdz attiecīgajām jaudas sliedēm. SW - pin 9, VRx - A0, VRy - A1.
  • Labā kursorsvira - GND un 5v līdz attiecīgajām jaudas sliedēm. SW - 8. tapa, VRx - A2, VRy - A3.
  • Labākā LED matrica - GND un 5v līdz attiecīgajām jaudas sliedēm. DIN - 13, CS - 11, CLK - 12. (saskaņā ar 25. rindu)
  • Visas pārējās LED matricas var tikt savienotas ar ķēdi pie pirmās izejas, kas iet no labās uz kreiso pusi, lai kods darbotos pareizi.
  • Papildu skaņas signāls - anods (+) līdz 220Ω strāvas ierobežošanas rezistors līdz 10. tapai, katods (-) - GND.

3. darbība. Alternatīva elektroinstalācija

Alternatīva elektroinstalācija
Alternatīva elektroinstalācija
Alternatīva elektroinstalācija
Alternatīva elektroinstalācija
Alternatīva elektroinstalācija
Alternatīva elektroinstalācija

Pēc savienošanas ar Arduino UNO, lai ietaupītu vietu, es nolēmu novietot Arduino IC no UNO uz maizes dēļa ar 16Mhz kristāla oscilatoru un pāri 22pF kondensatoriem no katras puses līdz zemei. Es uzskatu, ka šī bija vērtīga modifikācija, jo tas padara projektu izskatīgāku un pabeigtāku, tomēr, lai atjauninātu programmu, jums jāizmanto USB FTDI programmētājs.

4. darbība: kods + skaidrojums

Lai augšupielādētu kodu Arduino, lejupielādējiet LedControl bibliotēku no GitHub šeit, github.com/wayoda/LedControl un pievienojiet ZIP failu vai pievienojiet to, izmantojot IDE bibliotēkas pārvaldnieku. Pēc tam atveriet pievienoto skici, rīku panelī un porta iestatījumos atlasiet savu Arduino un augšupielādējiet to arduino.

Skaidrojums

1. rinda: pievieno bibliotēku

5-23. Rinda: nosaka visus mainīgos, konstantes un tapu skaitļus.

25. rinda: uzstāda LED Martix un nosaka vadības tapas un displeju skaitu.

27. rinda: iestata atiestatīšanas funkciju.

30.-35. Rinda: izslēgšanas funkcija, lai kopā ieslēgtu/izslēgtu visus displejus.

38.-43. Rinda: funkcija SetIntensity, lai kopā iestatītu visu displeju spilgtumu.

46-51. Rinda: ClearAll funkcija visu displeju tīrīšanai.

53.-64. Līnija: kursorsvira Funkcija, lai iegūtu kursorsviru stāvokli, kartējiet tos uz 7 iespējamām nūjas pozīcijām, lai trāpītu bumbu, un pēc tam pārvieto nūju uz jauno pozīciju.

67. – 435. Līnija: funkcija, kas pārvieto bumbu pie kreisā spēlētāja norādītajā augstumā un ātrumā, pārbauda, vai spēlētājs nav trāpījis, un vai nu turpina, un iestata avārijas statusu uz patiesu, vai arī atsit bumbu atpakaļ, pievieno rezultātu 1 un palielina ātrumu.

438. – 811. Līnija: funkcija, kas pārvieto bumbu pie pareizā spēlētāja norādītajā augstumā un ātrumā, pārbauda, vai spēlētājs nav trāpījis, un turpina un nosaka avārijas statusu uz patiesu vai atvaira bumbu, pievieno rezultātu 1 un palielina ātrumu.

813-823. Rinda: funkcija smaidošas sejas, ērces, krusta vai jautājuma zīmes parādīšanai norādītajā displejā (0 no labās puses līdz 3 kreisajā pusē).

861. – 979. Rinda: funkcija ciparu parādīšanai no 0 līdz 9 norādītajā displejā.

981. – 1047. Rinda: funkcija rezultātu parādīšanai katrai ekrāna spēlētāja pusei.

1049-1064. Rinda: funkcija, lai pārbaudītu, vai atskaņotājs ir gatavs.

1066-1076. Rinda: koda iestatīšanas sadaļa, kas tiek palaista vienu reizi, kad programma tiek palaista.

Rinda 1078-1136: Galvenā cilpa spēles loģikai, kur tiek izmantotas visas funkcijas un kur tiek uzvarēts, un pēc 5 sekunžu rādīšanas tā restartē programmu.

5. darbība. Paldies, ka lasījāt

Paldies, ka lasījāt
Paldies, ka lasījāt

Paldies, ka izlasījāt šo pamācību, tas bija jautrs bloķēšanas projekts, kas sanāca pāris dienu laikā, kad uzzināju vairāk par Arduino programmēšanu. Ja jums patika, lūdzu, balsojiet par to Arduino konkursā.

Ieteicams: