Sisukord:

Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -d: 4 sammu
Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -d: 4 sammu

Video: Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -d: 4 sammu

Video: Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -d: 4 sammu
Video: Антикризисная замена Arduino - LGT8F328P! Дефицит полупроводников 2024, Juuli
Anonim
Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -i
Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -i
Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -i
Testige paljast Arduino mängutarkvaraga, kasutades mahtuvuslikku sisendit ja LED -i

"Push-It" interaktiivne mäng, kasutades paljast Arduino plaati, väliseid osi ega juhtmeid pole vaja (kasutab mahtuvuslikku "puudutussisendit"). Ülaltoodud näitab, et see töötab kahel erineval tahvlil.

Push-sellel on kaks eesmärki.

  1. Kiireks demonstreerimiseks/kontrollimiseks, kas teie Arduino plaat töötab ja kas olete õigesti seadistatud uue koodivisandi allalaadimiseks. Näete, et see teostab sisendit ja väljundit (tajub digitaalse sisendi taset, väljundit pardal olevale LED -ile); salvestada ja taastada väärtus püsivast EEPROM-mälust. Seda kõike juhtmeid või seadmeid ühendamata.
  2. Pakkuge meelelahutuslikku ja väljakutsuvat mängu Arduino lauaga suheldes.

See õpetatav eeldab, et olete juba Arduino IDE installinud ja olete selle kasutamisega vähemalt minimaalselt tuttav. Kui ei, siis viitan teid nendele linkidele:

Arduinoga alustamine

Digisparki (alglaaduriga) toe lisamine olemasolevale Arduino 1.6.x IDE -le

Push-It töötab enamiku mis tahes Arduino tahvlitega, nt. Nano, Uno või DigiSpark Attiny85 plaat. Ma olen seda testinud Nano 3.1 ja DigiSparkiga. Tekstis, kui viitan tihvtide nimedele/numbritele, kasutatakse neid Nano -plaadil (erinevalt DigiSparkist).

Samm: omage vajalikke asju

Mis on lihtsalt mis tahes Arduino või sarnane plaat.

Kui teil seda veel pole, soovitan alustada DigiSpark Proga (~ 12 dollarit) või eBay Nano 3.0 -ga ~ 3 dollari eest (kuid teil on veel nädal või kaks oodata, kuni see saabub Hiinast); ja peate installima CH340 USB -draiveri). DigiSpark ~ 10 dollarit (mitte Pro) sobib selle ühe bitise videomängu jaoks väga hästi (seda eemaldatud seadet, millel on ainult 6 sisendit/väljundit, on veidi keerulisem üles laadida)

Lingid siin kasutatavale riistvarale:

Nano V3.0 Atmega328P eBays

Digispark USB arendusplaat

Samm: laadige kood alla ja laadige see alla

Tooge ja laadige kood alla
Tooge ja laadige kood alla

Kopeerige allolev kood arduino visandifaili (nt…/Push_It/Push_It.ino) Olen proovinud seda üsna hästi kommenteerida. Loodan, et leiate koodi kergesti arusaadavaks. Loogika, mille abil määrata, millal suurendada, vähendada ja millal mitte, on mõnevõrra keeruline, kuid see osa on samuti spetsiaalne kood ega ole üldkasulik. Lisateavet uue eskiisi (koodiprojekt) seadistamise kohta, mida kasutada koos Arduino IDE vaata:

Uue Arduino visandi loomine

Laadige eskiis „Push_It” meie mikrokontrollerisse vastavalt oma plaadi Arduino IDE juhistele.

3. samm: mängimine

Mängib
Mängib

Mängu eesmärk on panna LED (rongisiseselt) vilkuma võimalikult palju aega välkude komplektis, mis seejärel kordub

Mängu mängimine:

Push-It algab ühe välguga, mis seejärel kordub. Kui puudutate sõrme sisendnõela lähedal, kui LED põleb, vilgutab järgmine tsükkel LED -i kaks korda.

Iga kord, kui vajutate pseudonuppu välkude komplekti esimese välklambi ajal, lisatakse sellele komplekti veel üks välk. Sõrme tõstes/eemaldades ei ole üldiselt vahet.

Kuid kui vajutate enne või pärast esimest välku, väheneb komplekti välkude arv.

Kui te midagi muud ei tee, säilitatakse komplekti välkude arv. Lisaks, kui loendus ei muutu terve tsükli jooksul, salvestatakse loenduse number EEPROM -i mällu.

Iga kord, kui teil õnnestub välkude arvu suurendada, kiirendab ajastus pisut, muutes välkude arvu suurendamise üha raskemaks. Kui teete libisemise üles ja välkude arv väheneb, on enne järgmise tsükli algvälku pikem paus. See pakub täiendavat väljakutset, kuna see võib suurendada tõenäosust, et püstolist hüppate. Nii et olge valvel.

Kui olete oma seadme välklampide arvu saavutanud, võite selle oma sõbrale saata (või saata postiga, mille jaoks DigiSpark sobib) sõbrale, kus ta pärast ühendamist näeb, kui suure välgu arvuga olete oma üles tõstnud et. Ma leidsin, et selle lõpetamine kuni 8 -ni on keeruline. Kui nupp on kinnitatud, on mul õnnestunud see saada üle tosina. Madalama arvu taastamiseks võite seda korduvalt vajutada igal ajal enne või pärast esimest välku. Ka siis, kui lülitate sisselülitamisnupu maandamise ajal maapinnale, lähtestatakse loendus väärtusele 1.

Pange tähele, et originaal DigiSparki plaadil on pärast sisselülitamist 10-sekundiline viivitus, enne mida ta hakkab täitma "Push-It" koodi ja mängima. See kasutab seda aega USB -nööpnõelte kaudu rääkimiseks, et saada allalaadimiskoodi võimalik värskendus.

Kui teie kasutusel oleval Arduino plaadil on USB TX -LED, hakkab sellel LED -il kiire pisike välk, kui olete tõhusalt nuppu vajutanud. Kui EEPROM -i loendusväärtust värskendatakse uue väärtusega, hakkab see LED vilkuma rohkem. See tagasiside aitab teil palju teada saada, millal või kindlustate, et olete nupuvajutusega sündmuse tõhusalt käivitanud. Peate võib-olla tagama, et te ei puudutaks vooluahela maandust (näiteks metalli mikro-USB-pistiku ümber), nii et teie figuur tekitaks tõepoolest avatud sisendpoldile müra. Lisanduvad ja mõnevõrra ettearvamatud väljakutsed, mis tulenevad asjaolust, et sisendtihvt hõljub (juhtiv/takistuslik koormus ei tõmba seda üles ega alla) ja sõrmest tuleb muutuvat signaalimüra.

250 Hz ruutlaine väljastatakse sisendtihvti kõrval olevale tihvtile, mis parandab oluliselt süstitud sisendsignaali kindlust, kui teie sõrm katab mõlemad tihvtid.

Leidsin, et DigiSparki tahvli vastus on üsna järjekindlalt etteaimatav sõrmede väiksele pigistamisele plaadi nurgale, kus on D3-D5.

"Push-It" mängides meeldib mulle seda teha, kui tahvel on ühendatud USB 5v mobiilse akuga (vt fotosid). Neid võib üldjuhul odavalt leida prügikastidest USB vahelduvvoolu ja 12 V automaatadapterite kõrval; enamikus kaubamajade elektroonikaosakonnas.

4. samm: valikulised katsed väliste komponentidega

Valikulised katsed väliste komponentidega
Valikulised katsed väliste komponentidega

Pange tähele: kui lisate tõelise nupu, on üks koodirida, mida tuleb koodis märgitud viisil kommenteerida.

Kõlariga, üks külg maapinnale, kui puudutate teist juhet D4 -ni, kuulete 250 Hz ruutlaine heli. D3 juures on 500 Hz ruutlaine. Kui ühendate kõlari D3 ja D4 vahel, kuulete kahe signaali ühendit.

LED -i ühendamine kõlari asemel, nagu ülalpool, on väga huvitav. Pole vaja muretseda pinge, voolu taseme, takistite või isegi polaarsuse pärast (halvemal juhul ei sütti, siis lihtsalt keerake see ümber). Proovige kõigepealt negatiivse (katood) juhtmega, mis on ühendatud maaga, ja teisega kas D3 või D4. Ruudukujuliste lainete tõttu süttib LED pooleldi. Lisaks ei ole vaja takistada, kuna MicroControllerUnits väljund on voolupiiranguga. Tegin praegused mõõtmised, mille tulemuseks olid Attiny85 ja Atmega328 MCU -d vastavalt 15ma ja 20ma. Need tasemed on ligikaudu pool nende osade praegusest piiratud väärtusest, mis on tingitud kandva ruutlaine signaalide 50% töötsüklist. Arvesti näidud on tegelikult testitud vooluahela voolu keskmine.

Huvitav on see, et kui ühendate D3 ja D4 vahel LED -iga (vt pilti ülal ja vasakul), süttib see mõlemal juhul ja umbes poole heledusega, nagu ühe küljega maapinnaga ühendatud. Kutsun teid üles mõtlema, miks.

Soovitan: