Cuprins:

Buton LED Arduino care conduce procesarea animațiilor: 36 de pași (cu imagini)
Buton LED Arduino care conduce procesarea animațiilor: 36 de pași (cu imagini)

Video: Buton LED Arduino care conduce procesarea animațiilor: 36 de pași (cu imagini)

Video: Buton LED Arduino care conduce procesarea animațiilor: 36 de pași (cu imagini)
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Iulie
Anonim
Image
Image
Buton cu LED Arduino care conduce la procesarea animațiilor
Buton cu LED Arduino care conduce la procesarea animațiilor
Buton cu LED Arduino care conduce la procesarea animațiilor
Buton cu LED Arduino care conduce la procesarea animațiilor

Ce acest buton este fabricat folosind un PCB și alte componente fabricate de Sparkfun. Este condus de un Arduino Mega. Fiecare buton este apăsat și plăcut și satisfăcător de apăsat și are un LED RGB în interior! L-am folosit pentru a controla animațiile pe care le-am codat în Procesare. Tasta de butoane trimite un mesaj ori de câte ori este apăsat un buton, spunând care buton este. Prelucrarea primește aceste mesaje și modifică variabilele în schiță în funcție de ceea ce a fost apăsat.

De ce

LED-urile sunt reci. Butoanele sunt distractive de împins. Modelele geometrice animate sunt frumoase. Am vrut să le combin pe toate trei. Am dus acest proiect la o petrecere, am proiectat imaginile pe perete și am lăsat oamenii să se joace cu butoanele. Ar putea fi, de asemenea, utilizat de un VJ într-un mod mai performant, la fel ca un controler midi, dar mai mult DIY.

Cum

Acest proiect are patru părți principale.

Videoclipul Youtube atașat oferă o privire bună asupra modului în care butonul de butoane merge împreună. Acest instructable acoperă atât codul Arduino, cât și codul de procesare - (videoclipuri suplimentare pentru acestea sunt în lucru)

  1. Punerea butonului împreună - Începe la Pasul 1

    Aceasta implică pregătirea componentelor și lipirea acestora pe PCB

  2. Codul Arduino - Începe la Pasul 10

    Pentru aceasta, avem nevoie de o înțelegere a scanării matriciale, prin care voi vorbi.

  3. Codul de procesare - Începe la Pasul 24

    Există nenumărate posibilități aici, voi vorbi printr-un exemplu pe care l-am făcut până acum.

  4. Obținerea Arduino-ului să trimită mesaje către Procesare - Pasul 16 pentru trimitere, Pasul 30-31 pentru primire

    Acest lucru este frumos și simplu, trimite mesajul printr-o conexiune serială.

Nivel

Încerc să îmi scriu tutorialele în așa fel încât cineva fără absolut cunoștințe să poată urma cel puțin. S-ar putea să vă fie de ajutor să vizionați mai întâi câteva tutoriale introductive despre procesare. Aș începe cu canalul YouTube al lui Daniel Shiffman.

Cod

Tot codul (Arduino și Procesare) se află aici pe github.

credite

Am învățat o grămadă din acest tutorial https://learn.sparkfun.com/tutorials/button-pad-ho… și o mare parte din codul Arduino este de acolo, deși l-am editat pentru a funcționa ușor diferit de oricare dintre exemplele de acolo.

Pasul 1: Componentele

Componentele!
Componentele!
Componentele!
Componentele!
Componentele!
Componentele!
Componentele!
Componentele!
  • LED-uri RGB 16 x 5 mm (nu sunt adresabile, doar cele obișnuite cu catod obișnuit)
  • 16 x diode 1N4148
  • Buton din silicon
  • PCB cu buton
  • Arduino Mega
  • Cabluri jumper

(Există, de asemenea, o grămadă de lucruri pe care le poți obține de la Sparkfun pentru a adăuga totul mai îngrijit, dar nu am făcut asta)

Pasul 2: Pregătiți diodele

Pregătiți diodele
Pregătiți diodele
Pregătiți diodele
Pregătiți diodele
Pregătiți diodele
Pregătiți diodele

Îndoiți fiecare diodă și apoi împingeți-o prin PCB.

Picioarele ies din partea butonului, ceea ce nu vrem. Deci scoateți din nou dioda și tăiați picioarele scurt. (S-ar putea să aveți câteva tăieturi care vă vor permite să tăiați picioarele la culoare cu scândura în timp ce este încă acolo, ceea ce vă va ușura viața, dar am avut doar foarfece normale, așa că a trebuit să le scot pentru a le tăia suficient de scurt.)

Este foarte important să îndoiți picioarele și să le împingeți prin PCB înainte de a le tăia scurt. Dacă le tai mai întâi scurt, nu le vei putea îndoi în formă.

Faceți 16 dintre aceste mici chestii asemănătoare furnicilor.

Pasul 3: lipiți diodele pe tablă

Lipiți diodele pe tablă
Lipiți diodele pe tablă
Lipiți diodele pe tablă
Lipiți diodele pe tablă
Lipiți diodele pe tablă
Lipiți diodele pe tablă

Așezați fiecare dintre diode înapoi în tablă. Este important să verificați orientarea diodei. Are o linie neagră pe o parte care se aliniază cu linia de pe PCB. (Vezi imaginea)

Punerea în funcțiune a diodelor este oarecum complicată, motiv pentru care am spus că dacă aveți fragmente care vă vor permite să tăiați picioarele la culoare fără a le îndepărta, vă va ușura viața. Nu aveam asta, așa că am folosit o pensetă pentru a le pune înapoi, ceea ce a ajutat puțin.

Lipiți fiecare dintre diode în loc.

Pasul 4: Pregătiți LED-urile

Pregătiți LED-urile
Pregătiți LED-urile
Pregătiți LED-urile
Pregătiți LED-urile
Pregătiți LED-urile
Pregătiți LED-urile
Pregătiți LED-urile
Pregătiți LED-urile

Împingeți LED-urile prin tablă și apoi tăiați picioarele. La fel ca în cazul diodelor; Este important să împingeți picioarele mai întâi prin tablă, pentru a le răspândi la unghiurile corecte, înainte de a tăia picioarele.

Există un pic de încercare și eroare cu tăierea picioarelor la lungimea potrivită. Dacă le faceți prea lungi, vor ieși, dar prea scurte și este dificil să readuceți LED-ul înăuntru.

Pregătiți 16 dintre acești băieți amputați.

Pasul 5: lipiți LED-urile pe placă

Lipiți LED-urile pe tablă
Lipiți LED-urile pe tablă
Lipiți LED-urile pe tablă
Lipiți LED-urile pe tablă
Lipiți LED-urile pe tablă
Lipiți LED-urile pe tablă

Împingeți toate LED-urile înapoi în placă.

Orientarea este din nou importantă aici. O parte a LED-urilor are o margine plană și aceasta ar trebui să se alinieze cu marginea plană a cercului de pe diagrama PCB. (Vezi imaginea)

Vedeți dacă LED-urile sunt împinse suficient de mult, punând tamponul de silicon peste bord și verificând dacă nu interferează cu butoanele care sunt apăsate.

Lipiți LED-urile pe placă.

Notă: De atunci mi s-a subliniat că, din moment ce nu contează atât de mult dacă un picior de picioare iese pe spate, ai putea să împingi LED-urile prin ele, să le lipi în spate și apoi să le tai.

Pasul 6: Sortează suficient cabluri jumper

Sortează suficient cabluri jumper
Sortează suficient cabluri jumper

Să vorbim puțin despre tablă. Placa este aranjată în 4 coloane și 4 rânduri de LED-uri / Butoane.

Fiecare dintre coloane necesită 2 conexiuni, una pentru masa LED și una pentru masa butonului. Fiecare dintre rânduri necesită 4 conexiuni, deoarece avem nevoie de o conexiune separată pentru canalele roșu, verde și albastru, precum și o conexiune pentru Iată culorile cablului și numerele de pin pe care le-am selectat pentru fiecare dintre aceste conexiuni.

Rând Pentru ce este Culoarea cablului Numarul pin Etichetă PCB
Rândul 1 roșu roșu 22 RED1
Verde Verde 23 VERDE1
Albastru Albastru 30 ALBASTRU1
Introducere buton Galben 31 COMUTATOR 1
Rândul 2 roșu roșu 24 ROSU 2
Verde Verde 25 VERDE2
Albastru Albastru 32 ALBASTRU2
Introducere buton Galben 33 COMUTATOR2
Rândul 3 roșu roșu 26 RED3
Verde Verde 27 VERDE3
Albastru Albastru 34 ALBASTRU3
Introducere buton Galben 35 COMUTATOR3
Rândul 4 roșu roșu 28 RED4
Verde Verde 29 VERDE4
Albastru Albastru 36 ALBASTRU4
Introducere buton Galben 37 COMUTATOR4
Coloană Pentru ce este Culoarea cablului Numarul pin Etichetă PCB
Col 1 Masă cu LED alb 38 LED-GND-1
Buton la sol Negru 39 SWT-GND-1
Col 2 Masă cu LED alb 40 LED-GND-2
Buton la sol Negru 41 SWT-GND2
Col 3 Masă cu LED alb 42 LED-GND-3
Buton la sol Negru 43 SWT-GND3
Col 4 Masă cu LED alb 44 LED-GND4
Buton la sol Negru 45 SWT-GND4

Pasul 7: Pregătiți cablurile Jumper

Pregătiți cablurile jumper
Pregătiți cablurile jumper
Pregătiți cablurile jumper
Pregătiți cablurile jumper

Fiecare cablu jumper are nevoie de un capăt tată și un capăt care este dezbrăcat de câțiva mm de sârmă. Îmi place să folosesc un fel de container pentru a captura biți de sârmă dezbrăcate, altfel ajung în tot apartamentul meu și este probabil mai rău decât sclipici.

Pasul 8: lipiți cablurile jumper pe placă și conectați-le

Lipiți cablurile jumper pe placă și conectați-le
Lipiți cablurile jumper pe placă și conectați-le
Lipiți cablurile jumper pe placă și conectați-le
Lipiți cablurile jumper pe placă și conectați-le

Utilizați diagrama de la câțiva pași înapoi pentru a obține cablurile lipite în locurile corecte de pe PCB și conectate la pinii corecți de pe Arduino.

Pasul 9: Construiți terminat

Construiți gata!
Construiți gata!

Luați un moment mic pentru a apăsa celebrativ câteva butoane (încă nefuncționale) și apoi să intrați în cod!

Pasul 10: Schematic

Schematic
Schematic

Aceasta este o schemă a PCB-ului și a lucrurilor pe care le-am lipit.

Fiecare casetă gri reprezintă una dintre combinațiile de butoane / LED-uri. Dacă acest lucru pare foarte complicat (mi-a făcut-o prima dată când l-am văzut), atunci nu vă faceți griji, o să vă descompun.

Dacă doriți doar să căutați singur codul, este pe github-ul meu aici.

Pasul 11: Doar butoanele

Doar butoanele
Doar butoanele
Doar butoanele
Doar butoanele

LED-urile și butoanele sunt de fapt separate una de cealaltă (în afară de toate fiind conectate la Arduino), așa că permiteți să ne uităm mai întâi la butoane.

Fiecare cutie gri conține un buton și o diodă (pe cele pe care am lipit - voi explica puțin scopul celor).

Notă: Sunt sigur că acest lucru este foarte evident pentru unii oameni, dar nu eram sigur de asta când am început să descopăr acest lucru, așa că o să spun! Rândurile (în verde) și coloanele (în albastru) nu sunt conectate, sunt doar așezate una peste cealaltă. Lucrurile sunt conectate numai acolo unde există un punct negru mic. Închiderea unuia dintre butoanele de comutare creează o conexiune între rând și coloană.

Pasul 12: Configurați pinii butonului

Configurați pinii butonului
Configurați pinii butonului
Configurați pinii butonului
Configurați pinii butonului
Configurați pinii butonului
Configurați pinii butonului

Pentru butoane, vom folosi coloanele ca ieșiri și rândurile ca intrări.

Vom putea verifica dacă este apăsat un buton, deoarece dacă există o conexiune între un rând și o coloană, atunci tensiunea de la ieșire va ajunge la intrare. Pentru a începe, în setare () vom emite o tensiune înaltă la toate coloanele. Am setat rândurile să fie intrări în sus, ceea ce înseamnă că, în mod implicit, citesc, de asemenea, mare.

Pasul 13: scanare

Scanare
Scanare
Scanare
Scanare
Scanare
Scanare

În buclă, o funcție numită scan () trece printr-o coloană la un moment dat și setează tensiunea sa să fie scăzută.

Apoi se uită la fiecare rând de conectare a butoanelor, pentru a vedea dacă vreunul dintre ele citește jos.

Dacă un rând de butoane este redus, atunci înseamnă că butonul care conectează rândul și coloana respectivă a fost apăsat.

Pasul 14: Nu toate butoanele sunt create la fel

Dacă butonul este apăsat rapid și ferm, atunci transferul de tensiune de la coloană la rând va fi frumos și curat.

Cu toate acestea, dacă este împins un pic încet sau înfricoșător, atunci tensiunea ar putea să tremure puțin până când există o conexiune bună între butonul și contactele de pe PCB.

Aceasta înseamnă că o apăsare de buton pe care un om crede că este doar una, ar putea fi interpretată de arduino ca mai multe apăsări separate.

Recomandat: