Turinys:

Išbandykite „Bare Arduino“su žaidimų programine įranga, naudojant talpinę įvestį ir LED: 4 žingsniai
Išbandykite „Bare Arduino“su žaidimų programine įranga, naudojant talpinę įvestį ir LED: 4 žingsniai

Video: Išbandykite „Bare Arduino“su žaidimų programine įranga, naudojant talpinę įvestį ir LED: 4 žingsniai

Video: Išbandykite „Bare Arduino“su žaidimų programine įranga, naudojant talpinę įvestį ir LED: 4 žingsniai
Video: Высокая плотность 2022 2024, Liepa
Anonim
Išbandykite „Bare Arduino“su žaidimų programine įranga, naudodami talpinę įvestį ir LED
Išbandykite „Bare Arduino“su žaidimų programine įranga, naudodami talpinę įvestį ir LED
Išbandykite „Bare Arduino“su žaidimų programine įranga, naudojant talpinę įvestį ir LED
Išbandykite „Bare Arduino“su žaidimų programine įranga, naudojant talpinę įvestį ir LED

„Push-It“interaktyvus žaidimas naudojant pliką „Arduino“plokštę, nereikia jokių išorinių dalių ar laidų (naudojamas talpinis „prisilietimo“įvestis). Aukščiau parodyta, kad jis veikia dviejose skirtingose lentose.

„Push-It“turi du tikslus.

  1. Norėdami greitai parodyti/patikrinti, ar jūsų „Arduino“plokštė veikia, ir ar tinkamai nustatėte, kad į ją atsisiųstumėte naują kodo eskizą. Galėsite pamatyti, kad jis atlieka įvestį ir išvestį (suvokia skaitmeninio įvesties lygį, išvestį į įmontuotą šviesos diodą); išsaugoti ir atkurti vertę iš nepastovios EEPROM atminties. Visa tai nepridedant jokių laidų ar prietaisų.
  2. Pateikite linksmą ir sudėtingą žaidimą, sąveikaujantį su „Arduino“lenta.

Šioje instrukcijoje daroma prielaida, kad jau įdiegėte „Arduino IDE“ir esate bent minimaliai susipažinęs su jo naudojimu. Jei ne, kreipiuosi į šias nuorodas:

Darbo su „Arduino“pradžia

„Digispark“(su įkrovos įkėlimo programa) palaikymo pridėjimas prie esamo „Arduino 1.6.x IDE“

„Push-It“veiks su dauguma bet kokių „Arduino“plokščių, pvz. „Nano“, „Uno“arba „DigiSpark Attiny85“plokštė. Aš ją išbandžiau naudodamas „Nano 3.1“ir „DigiSpark“. Tekste, kai nurodysiu kaiščių pavadinimus/numerius, jie bus naudojami kaip „Nano“plokštėje (priešingai nei „DigiSpark“).

1 žingsnis: turėkite tai, ko jums reikės

Tai tiesiog bet kuri „Arduino“ar panaši lenta.

Jei dar neturite, rekomenduoju pradėti naudotis „DigiSpark Pro“(~ 12 USD) arba „Nano 3.0“iš „eBay“už ~ 3 USD (tačiau turėsite papildomą savaitę ar dvi laukti, kol ji atkeliaus iš Kinijos); ir jums reikės įdiegti CH340 USB tvarkyklę). „DigiSpark“~ 10 USD (ne „Pro“) labai tinka šiam vieno bitų „vaizdo“žaidimui (šį pašalintą įrenginį, turintį tik 6 įvestis/išvestis, yra šiek tiek sudėtingiau įkelti)

Nuorodos į čia naudojamą aparatūrą:

„Nano V3.0 Atmega328P“„eBay“

„Digispark“USB kūrimo lenta

2 žingsnis: Gaukite ir atsisiųskite kodą

Atsisiųskite ir atsisiųskite kodą
Atsisiųskite ir atsisiųskite kodą

Nukopijuokite žemiau esantį kodą į arduino eskizo failą (pvz.,…/Push_It/Push_It.ino) Aš bandžiau jį gana gerai pakomentuoti. Tikiuosi, kad kodą rasite lengvai suprantamą. Logika nustatyti, kada didinti, mažinti ir kada ne, yra šiek tiek sudėtinga, tačiau ši dalis taip pat yra specializuotas kodas ir nėra visuotinai naudingas. Norėdami gauti daugiau informacijos apie naujo „eskizo“(kodo projekto), skirto naudoti su „Arduino IDE“žiūrėkite:

Naujo „Arduino“eskizo kūrimas

Atsisiųskite „Push_It“eskizą į mūsų mikrovaldiklį pagal „Arduino IDE“savo lentos instrukcijas.

3 žingsnis: Žaidimas

Žaidžia
Žaidžia

Žaidimo tikslas yra, kad šviesos diodas (įmontuotas) mirksėtų kuo daugiau kartų blyksčių rinkinyje, kuris pasikartos

Žaidžia žaidimą:

„Push-It“prasideda nuo vienos blykstės, kuri pasikartos. Jei paliesite pirštą šalia įvesties kaiščio, kol šviečia šviesos diodas, kitas ciklas du kartus sumirksės.

Kiekvieną kartą, kai paspaudžiate pseudo mygtuką pirmojo blykstės blyksnio metu, prie to rinkinio pridedama kita blykstė. Paprastai nesvarbu, kada pakeliate/nuimate pirštą.

Bet jei „paspausite“prieš arba po pirmojo blykstės, blyksčių skaičius serijoje sumažės.

Jei nieko daugiau nedarysite, blyksčių skaičius rinkinyje išlieka. Be to, kai skaičius nesikeičia visą ciklą, skaičiavimo numeris išsaugomas EEPROM atmintyje.

Kiekvieną kartą, kai pavyksta padidinti blykstės skaičių, laikas šiek tiek pagreitėja, todėl vis sunkiau pasiekti aukštą blykstės skaičių. Kai paslysite ir sumažinsite blyksčių skaičių, prieš kito ciklo pradžios blykstę bus ilgesnė pauzė. Tai yra papildomas iššūkis, nes gali padidėti tikimybė, kad šokinėsite iš ginklo. Taigi būkite budrūs.

Padidinę savo įrenginio blykstės skaičių, galite jį nunešti (arba išsiųsti paštu, o tai tinka „DigiSpark“) draugui, kur, prijungę jį prie tinklo, jie pamatys, kiek padidėjo blyksčių skaičius. į. Pastebėjau, kad buvo sudėtinga jį padidinti iki daugiau nei 8. Su tikru mygtuku man pavyko jį gauti iki daugiau nei keliolikos. Norėdami grįžti prie mažesnio skaičiaus, galite pakartotinai jį paspausti bet kuriuo metu prieš arba po pirmo blykstės. Be to, jei įjungimo metu įvesties kaištį perjungiate į žemę, skaičiavimas bus grąžintas į 1.

Atminkite, kad pradinė „DigiSpark“plokštė po įjungimo vėluoja 10 sekundžių, prieš tai ji pradės vykdyti „Push-It“kodą ir žaisti žaidimą. Jis naudoja šį laiką bandydamas kalbėti per USB kaiščius, kad gautų galimą naują atsisiuntimo kodo atnaujinimą.

Jei jūsų naudojamoje „Arduino“plokštėje yra USB TX šviesos diodas, šis šviesos diodas greitai mirksės, kai veiksmingai „paspausite“mygtuką. Šis šviesos diodas pradės ryškiau mirksėti, kai EEPROM skaičiaus vertė bus atnaujinta nauja verte. Šis grįžtamasis ryšys gali labai padėti jums žinoti, kada arba apsidraudžiate, ar veiksmingai sukėlėte įvykį „paspaustas mygtukas“. Jums gali tekti įsitikinti, kad neliesite grandinės įžeminimo (pvz., Metalo aplink mikro-USB jungtį), kad jūsų figūra iš tikrųjų sukeltų triukšmą atviroje įvesties kaištyje. Bus papildomų ir šiek tiek nenuspėjamų iššūkių dėl to, kad įvesties kaištis plaukioja (nėra traukiamas aukštyn ar žemyn dėl laidžios/varžinės apkrovos) ir kintantis signalo triukšmas, sklindantis per pirštą.

250 Hz kvadratinė banga išvedama į kaištį šalia įvesties kaiščio, o tai labai pagerina įpurškiamo įvesties signalo tikrumą, kai pirštas uždengia abu kaiščius.

Pastebėjau, kad „DigiSpark“plokštės atsakas yra gana nuosekliai nuspėjamas, kai šiek tiek suspaudžiami pirštai į lentos kampą, kuriame yra D3-D5.

Kai žaidžiu „Push-It“, man patinka tai daryti su plokšte, prijungta prie USB 5v mobiliojo akumuliatoriaus (žr. Nuotraukas). Paprastai juos galima nebrangiai rasti dėžėse šalia USB kintamosios srovės ir 12 V automatinių adapterių; daugumoje universalinių parduotuvių elektronikos skyriaus.

4 žingsnis: pasirenkami eksperimentai su išoriniais komponentais

Neprivalomi eksperimentai su išoriniais komponentais
Neprivalomi eksperimentai su išoriniais komponentais

Atkreipkite dėmesį: jei pridedate tikrą mygtuką, yra viena kodo eilutė, kurią reikia komentuoti, kaip nurodyta kode.

Naudodami garsiakalbį, vieną pusę į žemę, jei paliesite kitą laidą prie D4, išgirsite 250 Hz kvadratinės bangos garsą. D3 yra 500 Hz kvadratinė banga. Jei prijungsite garsiakalbį tarp D3 ir D4, išgirsite dviejų signalų sudėtį.

Labai įdomu prijungti šviesos diodą, o ne garsiakalbį, kaip nurodyta aukščiau. Nereikia nerimauti dėl įtampos, srovės lygio, rezistorių ar net poliškumo (blogiausiu atveju jis neužsidega, tada tiesiog pasukite jį). Pirmiausia pabandykite prijungti neigiamą (katodo) laidą prie žemės, o kitą - prie D3 arba D4. Dėl kvadratinių bangų šviesos diodas bus „iki pusės“. Be to, rezistoriaus nereikia, nes „MicroControllerUnits“išvestis yra ribota. Atlikau dabartinius matavimus, todėl atitinkamai „Attiny85“ir „Atmega328“MCU buvo 15ma ir 20ma. Šie lygiai yra maždaug pusė ribinės šių dalių vertės dėl to, kad važiuojančių kvadratinių bangų signalai yra 50% veikimo ciklo. Skaitiklio rodmenys iš tikrųjų yra vidutinė srovė per išbandytą grandinę.

Įdomu tai, kad jei sujungsite D3 ir D4 su šviesos diodu (žr. Paveikslėlį aukščiau ir į kairę), jis užsidegs bet kuriuo atveju ir bus maždaug ½ tokio ryškumo, kaip viena pusė prijungta prie žemės. Kviečiu susimąstyti, kodėl.

Rekomenduojamas: