Cuprins:
- Pasul 1: Având lucrurile de care ai nevoie
- Pasul 2: preluați și descărcați codul
- Pasul 3: Joacă
- Pasul 4: Experimente opționale cu componente externe
Video: Testați Bare Arduino, cu software de joc care utilizează intrare capacitivă și LED: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Joc interactiv „Push-It” folosind o placă Arduino goală, fără piese externe sau cabluri necesare (utilizează o intrare „tactilă” capacitivă). Afișat mai sus, demonstrează că rulează pe două plăci diferite.
Push-Are două scopuri.
- Pentru a demonstra / verifica rapid că placa dvs. Arduino funcționează și că sunteți configurat corect pentru a descărca o nouă schiță de cod pe ea. Veți putea vedea că efectuează intrare și ieșire (detectează nivelul de intrare digitală, ieșire la LED-ul de la bord); stocați și recuperați o valoare din memoria EEPROM nevolatilă. Totul fără a atașa fire sau dispozitive.
- Oferiți un joc distractiv și provocator interacționând cu o placă Arduino.
Această instrucțiune presupune că ați instalat deja un IDE Arduino și că sunteți cel puțin minim familiarizați cu utilizarea acestuia. Dacă nu, vă trimit la aceste linkuri:
Noțiuni introductive despre Arduino
Adăugarea suportului Digispark (cu bootloader) la IDE Arduino 1.6.x existent
Push-It va funcționa cu majoritatea oricărei plăci Arduino, de ex. o placă Nano, Uno sau DigiSpark Attiny85. Am testat-o cu un Nano 3.1 și un DigiSpark. În text, când mă refer la numele / numerele pinilor, vor fi așa cum sunt folosiți pe placa Nano (spre deosebire de DigiSpark).
Pasul 1: Având lucrurile de care ai nevoie
Care este pur și simplu orice Arduino sau o placă comparabilă.
Dacă nu aveți deja unul, vă recomand să începeți cu un DigiSpark Pro (~ 12 USD) sau un Nano 3.0 de la eBay pentru ~ 3 USD (dar veți avea o săptămână sau două în plus să așteptați să vină din China; și va trebui să instalați un driver USB CH340). DigiSpark ~ 10 $ (non Pro) se potrivește foarte bine pentru acest joc „video” cu un singur bit (Această unitate decupată, având doar 6 E / S, este puțin mai dificilă de încărcat)
Link-uri către hardware-ul utilizat aici:
Nano V3.0 Atmega328P pe eBay
Placa de dezvoltare USB Digispark
Pasul 2: preluați și descărcați codul
Copiați codul de mai jos într-un fișier schiță arduino (de exemplu… / Push_It / Push_It.ino) Am încercat să comentez destul de bine. Sper să găsiți codul ușor de înțeles. Logica pentru a determina când să crească, să scadă și când să nu este oarecum complicată, dar acea porțiune este, de asemenea, un cod specializat și nu are o utilitate generală. Pentru mai multe detalii despre configurarea unei noi „schițe” (proiect de cod) pentru a fi utilizat ID-ul Arduino vezi:
Crearea unei noi schițe Arduino
Descărcați schița „Push_It” în microcontolerul nostru conform instrucțiunilor Arduino IDE pentru placa dvs.
Pasul 3: Joacă
Scopul jocului este de a face ca LED-ul (la bord) să clipească cât mai mult timp posibil într-un set de flash-uri care apoi se repetă
Jucand jocul:
Push-It începe cu un singur bliț, care apoi se va repeta. Dacă atingeți degetul lângă pinul de intrare în timp ce LED-ul este aprins, următorul ciclu va lumina intermitent LED-ul de două ori.
De fiecare dată când apăsați butonul pseudo în timpul primei blițuri a unui set de blițuri, un alt bliț va fi adăugat la acel set. În general, nu contează când ridicați / scoateți degetul.
Dar dacă „împingeți” înainte sau după primul bliț, numărul de blițuri dintr-un set va fi redus.
Dacă nu mai faceți nimic, numărul de blițuri dintr-un set este menținut. Mai mult, atunci când numărul rămâne neschimbat pentru un ciclu complet, numărul contorului este stocat în memoria EEPROM.
De fiecare dată când reușiți să măriți numărul de bliți, viteza de sincronizare crește puțin, făcând din ce în ce mai greu să ajungeți la un număr mare de bliți. Când faceți o alunecare și numărul de blițuri se reduce, va exista o pauză mai lungă înainte de blițul de pornire al ciclului următor. Aceasta oferă o provocare suplimentară, deoarece poate crește probabilitatea să sari cu arma. Așadar, rămâneți alert.
Odată ce ați obținut unitatea până la un număr mare de blițuri, îl puteți duce (sau trimite prin poștă, pentru care DigiSpark este bun) unui prieten, unde, după conectare, vor vedea cât de mare este numărul dvs. de blițuri pe care l-ați ridicat. la. Mi s-a părut că a renunțat la provocare să-l duc la mai mult de 8. Cu un buton real atașat am reușit să-l ridic la peste o duzină. Pentru a reveni la un număr mai mic, puteți să îl apăsați în mod repetat oricând înainte sau după primul bliț. De asemenea, dacă treceți pinul de intrare la masă în timpul unei porniri, numărul va fi resetat la 1.
Rețineți că placa originală DigiSpark are o întârziere de 10 secunde după pornire, înainte de care va începe să execute codul „Push-It” și să joace jocul. Folosește acest timp pentru a încerca să vorbească prin pinii USB pentru a primi o posibilă nouă actualizare a codului de descărcare.
Dacă placa Arduino pe care o utilizați are un LED USB TX pe acesta, acest LED va avea un bliț mic rapid când ați „apăsat butonul” în mod eficient. Acest LED va clipi mai semnificativ atunci când valoarea contorului din EEPROM este actualizată cu o nouă valoare. Acest feedback vă poate ajuta foarte mult să știți când sau să vă asigurați că ați declanșat în mod eficient un eveniment „apăsat pe buton”. Este posibil să trebuiască să vă asigurați că nu atingeți masa circuitului (cum ar fi metalul din jurul unui conector micro-USB), astfel încât figura dvs. să inducă într-adevăr zgomot pe pinul de intrare deschis. Vor fi provocări adăugate și oarecum imprevizibile datorită faptului că pinul de intrare este plutitor (nu este tras în sus sau în jos de o sarcină conductivă / rezistivă) și zgomotul semnalului variabil care vine prin degetul tău.
O undă pătrată de 250Hz este trimisă către un pin de lângă pinul de intrare, ceea ce îmbunătățește foarte mult siguranța unui semnal de intrare injectat atunci când degetul acoperă ambii pini.
Am găsit că răspunsul plăcii DigiSpark este destul de consecvent previzibil la o mică apăsare a degetelor în colțul plăcii unde se află D3-D5.
Când joc „Push-It”, îmi place să fac acest lucru cu placa conectată la un acumulator mobil USB 5v (vezi fotografiile). Acestea pot fi găsite, în general, ieftin în coșurile de gunoi lângă cele ale adaptoarelor USB AC și 12v; în majoritatea oricăror magazine universale.
Pasul 4: Experimente opționale cu componente externe
Vă rugăm să rețineți: dacă atașați un buton real, există o linie de cod care trebuie comentată, așa cum se menționează în cod.
Cu un difuzor, de o parte la masă, dacă atingeți celălalt cablu la D4 veți auzi sunetul unei unde pătrate de 250 Hz. La D3 există o undă pătrată de 500Hz. Dacă conectați difuzorul între D3 și D4, veți auzi un compozit din cele două semnale.
Este foarte interesant să conectați un LED în loc de difuzor ca mai sus. Nu este nevoie să vă faceți griji cu privire la tensiune, niveluri de curent, rezistențe sau chiar polaritate pentru acest subiect (caz mai rău nu se aprinde, apoi doar întoarceți-l). Încercați, în primul rând, cu cablul negativ (catod) conectat la masă și celălalt fie la D3, fie la D4. LED-ul va fi „pe jumătate” aprins, din cauza undelor pătrate. În plus, nu este necesară nicio rezistență, deoarece ieșirea unităților MicroController este limitată în prezent. Am făcut măsurători de curent rezultând 15ma și 20ma pentru MCU-urile Attiny85 și respectiv Atmega328. Aceste niveluri sunt aproximativ jumătate din valoarea limitată curentă pentru aceste piese datorită naturii ciclului de funcționare de 50% a semnalelor de undă pătrată de conducere. Citirile contorului sunt de fapt o medie a curentului prin circuitul testat.
Interesant, dacă faceți o legătură între D3 și D4 cu LED-ul (a se vedea imaginea de mai sus și în stânga), acesta se va aprinde în ambele sensuri și la aproximativ ½ luminozitatea, așa cum a făcut-o cu o parte conectată la masă. Te invit să te gândești de ce.
Recomandat:
556 Time oferă intrare de ceas la 2 contoare de decenii care vor conduce 20 de LED-uri: 6 pași
Timpul 556 asigură intrarea ceasului la 2 contoare de decenii care vor conduce 20 de LED-uri: Acest instructable va arăta cum un temporizator 556 va furniza intrări de ceas la 2 contoare de deceniu. Contoare de deceniu va acționa 20 de LED-uri
Sistem de alarmă wireless Arduino care utilizează senzori existenți: 9 pași (cu imagini)
Sistem de alarmă wireless Arduino care utilizează senzori existenți: acest proiect poate fi construit în aproximativ o jumătate de oră la un cost de aproximativ 20 USD dacă aveți senzori de alarmă wireless de 433 MHz sau 315 MHz. Poate fi, de asemenea, un proiect complet nou cu senzori de alarmă fără fir, cum ar fi detectoarele de mișcare în infraroșu și reed s
Sistem de alarmă de incendiu care utilizează Arduino [în câțiva pași simpli]: 3 pași
Sistem de alarmă la incendiu care utilizează Arduino [în câțiva pași simpli]: Căutați să faceți un proiect simplu și interesant cu Arduino care, în același timp, ar putea fi cu adevărat util și potențial salvator de vieți? Dacă da, ați venit la locul potrivit pentru a învăța ceva nou și inovator. În această postare suntem plecați
Intrare tactilă capacitivă ESP32 utilizând „dopuri metalice” pentru butoane: 5 pași (cu imagini)
Intrare tactilă capacitivă ESP32 utilizând „dopuri metalice” pentru butoane: În timp ce finalizam deciziile de proiectare pentru un viitor proiect ESP32 bazat pe kitul WiFi care necesită intrare cu trei butoane, o problemă vizibilă a fost că kitul WiFi 32 nu are un singur buton mecanic, totuși, doar trei butoane mecanice, f
Cum se utilizează terminalul Mac și cum se utilizează funcțiile cheie: 4 pași
Cum să utilizați terminalul Mac și cum să utilizați funcțiile cheie: Vă vom arăta cum să deschideți terminalul MAC. De asemenea, vă vom arăta câteva caracteristici în Terminal, cum ar fi ifconfig, schimbarea directoarelor, accesarea fișierelor și arp. Ifconfig vă va permite să vă verificați adresa IP și anunțul MAC