Sadržaj:

Testirajte Bare Arduino, sa softverom za igre koji koristi kapacitivni ulaz i LED: 4 koraka
Testirajte Bare Arduino, sa softverom za igre koji koristi kapacitivni ulaz i LED: 4 koraka

Video: Testirajte Bare Arduino, sa softverom za igre koji koristi kapacitivni ulaz i LED: 4 koraka

Video: Testirajte Bare Arduino, sa softverom za igre koji koristi kapacitivni ulaz i LED: 4 koraka
Video: Leap Motion SDK 2024, Novembar
Anonim
Testirajte Bare Arduino, sa softverom za igre pomoću kapacitivnog ulaza i LED diode
Testirajte Bare Arduino, sa softverom za igre pomoću kapacitivnog ulaza i LED diode
Testirajte Bare Arduino, sa softverom za igre pomoću kapacitivnog ulaza i LED diode
Testirajte Bare Arduino, sa softverom za igre pomoću kapacitivnog ulaza i LED diode

"Push-It" interaktivna igra koja koristi golu Arduino ploču, nisu potrebni vanjski dijelovi niti ožičenje (koristi kapacitivni ulaz na dodir). Gore prikazano, pokazuje da radi na dvije različite ploče.

Push-It ima dvije svrhe.

  1. Za brzo demonstriranje/provjeru radi li vaša Arduino ploča i jeste li pravilno postavljeni za preuzimanje nove skice koda na nju. Moći ćete vidjeti da obavlja ulaz i izlaz (osjetite nivo digitalnog ulaza, izlaz na ugrađenu LED diodu); pohraniti i oporaviti vrijednost iz trajne EEPROM memorije. Sve bez priključivanja žica ili uređaja.
  2. Omogućite zabavnu i izazovnu igru u interakciji s Arduino pločom.

Ovo uputstvo pretpostavlja da ste već instalirali Arduino IDE i da ste barem minimalno upoznati s njegovom upotrebom. Ako ne, upućujem vas na ove veze:

Početak rada s Arduinom

Dodavanje Digisparka (sa pokretačkim programom) podrške postojećem Arduino 1.6.x IDE -u

Push-It će raditi s većinom bilo koje Arduino ploče, npr. Nano, Uno ili DigiSpark Attiny85 ploču. Testirao sam je sa Nano 3.1 i DigiSpark -om. U tekstu kada govorim o nazivima/brojevima pinova oni će se koristiti kao na Nano ploči (za razliku od DigiSparka).

Korak 1: Imajte stvari koje će vam trebati

Što je jednostavno bilo koja Arduino ili slična ploča.

Ako još nemate, preporučujem da započnete s DigiSpark Pro -om (~ 12 USD) ili Nano 3.0 sa eBay -a za ~ 3 USD (ali imat ćete dodatnih tjedan ili dvije da čekate da stigne iz Kine; i morat ćete instalirati CH340 USB upravljački program). DigiSpark ~ 10 USD (nije Pro) vrlo je pogodan za ovu jednobitnu 'video' igru (Ova skinuta jedinica, sa samo 6 U/I, malo je komplikovanija za učitavanje)

Linkovi na hardver koji se ovdje koristi:

Nano V3.0 Atmega328P na eBayu

Digispark USB razvojna ploča

Korak 2: Dohvatite i preuzmite kôd

Preuzmite i preuzmite kôd
Preuzmite i preuzmite kôd

Kopirajte donji kod u arduino datoteku skice (npr.…/Push_It/Push_It.ino) Pokušao sam to prilično dobro komentirati. Nadam se da će vam kôd biti lako razumljiv. Logika za određivanje kada povećati, smanjiti, a kada ne, donekle je komplicirana, ali taj dio je također specijalizirani kod i nije općenito koristan. Za više detalja o postavljanju nove 'skice' (kodni projekt) koji će se koristiti s Arduino IDE pogledajte:

Kreiranje nove Arduino skice

Preuzmite skicu 'Push_It' u naš mikrokontroler prema Arduino IDE uputama za vašu ploču.

Korak 3: Igranje

Igranje
Igranje

Cilj igre je da LED dioda (na ploči) treperi što je više moguće u nizu bljeskova koji se zatim ponavljaju

Igranje igre:

Push-Start započinje jednim bljeskom, koji će se zatim ponoviti. Ako dodirnete prst blizu ulaznog pina dok je LED uključena, sljedeći ciklus LED će zasvijetliti dva puta.

Svaki put kada pritisnete pseudo dugme tokom prvog bljeska u nizu bljeskova, tom bitu će se dodati još jedan blic. Općenito nije važno kada podignete/uklonite prst.

Ali ako 'pritisnete' prije ili nakon prvog bljeska, broj bljeskova u setu će se smanjiti.

Ako ne učinite ništa više, broj bljeskova u setu se održava. Nadalje, kada se brojanje ne mijenja tijekom cijelog ciklusa, broj se pohranjuje u memoriju EEPROM -a.

Svaki put kad uspijete povećati broj bljeskova, vrijeme se malo ubrzava, pa je sve teže i teže doći do velikog broja bljeskova. Kada napravite klizanje prema gore i smanji se broj bljeskova, bit će duža pauza prije početnog bljeska sljedećeg ciklusa. Ovo predstavlja dodatni izazov jer može povećati vjerovatnoću da ćete skočiti iz pištolja. Zato budite oprezni.

Nakon što ste podigli jedinicu do velikog broja bljeskova, možete je odnijeti (ili poslati poštom, za šta je DigiSpark dobar) prijatelju, gdje će nakon uključivanja vidjeti koliko ste povećali broj bljeskova to. Smatrao sam da je izazov postaviti ga na više od 8. Sa pričvršćenim dugmetom uspio sam ga povećati na više od desetak. Da biste se vratili na manji broj, možete ga više puta pritisnuti prije ili nakon prvog bljeska. Takođe, ako preskočite ulazni pin na masu tokom uključivanja, broj će se vratiti na 1.

Imajte na umu da originalna DigiSpark ploča ima kašnjenje od 10 sekundi nakon uključivanja, prije čega će početi izvoditi 'Push-It' kod i igrati igru. Ovo vrijeme koristi za pokušaj razgovora putem USB pinova kako bi primio moguće ažuriranje koda za preuzimanje.

Ako Arduino ploča koju koristite ima USB TX LED diodu na sebi, ova LED dioda će imati kratki mali bljesak kada ste efektivno 'pritisnuli dugme'. Bit će značajnijeg treptanja ove LED diode kad god se vrijednost brojanja u EEPROM -u ažurira novom vrijednošću. Ove povratne informacije mogu vam uvelike pomoći u saznanju kada ste ili osigurati da ste efektivno pokrenuli događaj 'pritisnutog gumba'. Možda ćete morati paziti da ne dodirujete masu strujnog kruga (poput metala oko mikro-USB konektora) tako da vaša figura doista izaziva šum na otvorenom ulaznom pinu. Bit će dodanih i pomalo nepredvidivih izazova zbog činjenice da ulazni pin pluta (ne povlači se prema gore ili prema dolje zbog kondukcijskog/otpornog opterećenja) i promjenjivog šuma signala koji dolazi kroz vaš prst.

Kvadratni val od 250Hz izlazi na pin pored ulaznog pina što uvelike poboljšava sigurnost ubrizganog ulaznog signala kada vaš prst pokrije oba pina.

Otkrio sam da je odgovor DigiSpark ploče prilično dosljedno predvidljiv na malo stiskanja prstiju do ugla ploče gdje se nalaze D3-D5.

Kad sviram 'Push-It', volim to raditi s pločom spojenom na USB 5v mobilnu bateriju (pogledajte fotografije). Oni se općenito mogu jeftino pronaći u kantama pored onih sa USB AC i 12v auto adapterima; u većini bilo koje robne kuće odjel elektronike.

Korak 4: Opcionalni eksperimenti s vanjskim komponentama

Opcionalni eksperimenti s vanjskim komponentama
Opcionalni eksperimenti s vanjskim komponentama

Napomena: Ako priložite pravo dugme, postoji jedan red koda koji treba komentirati, kako je navedeno u kodu.

Sa zvučnikom, jedna strana prema zemlji, ako dodirnete drugi vodič prema D4, čut ćete zvuk kvadratnog vala od 250 Hz. Na D3 postoji kvadratni val od 500Hz. Ako spojite zvučnik između D3 i D4, čut ćete kompozit dva signala.

Priključivanje LED umjesto zvučnika, kao što je gore, vrlo je zanimljivo. Nema potrebe brinuti o naponu, nivoima struje, otpornicima, pa čak ni polaritetu (u gorem slučaju ne svijetli, samo ga okrenite). Pokušajte, prije svega, s negativnim (katodnim) kablom spojenim na masu, a drugi na D3 ili D4. LED će biti "napola" upaljena, zbog kvadratnih valova. Nadalje, nije potreban otpornik jer je izlaz jedinica mikrokontrolera trenutno ograničen. Napravio sam trenutna mjerenja koja su rezultirala 15ma i 20ma za MCU Attiny85 i Atmega328 respektivno. Ovi nivoi su oko polovice trenutne ograničene vrijednosti za ove dijelove zbog prirode radnog ciklusa od 50% signala pogonskih kvadratnih valova. Očitavanja brojila su zapravo prosjek struje kroz testirano kolo.

Zanimljivo je da ako premostite između D3 i D4 pomoću LED diode (pogledajte sliku gore i lijevo), ona će zasvijetliti u oba smjera, a na otprilike ½ svjetline kao i kada je jedna strana spojena na uzemljenje. Pozivam vas da razmislite zašto.

Preporučuje se: