Sadržaj:

Arduino LED gumb za dugmad koji pokreće obradu animacija: 36 koraka (sa slikama)
Arduino LED gumb za dugmad koji pokreće obradu animacija: 36 koraka (sa slikama)

Video: Arduino LED gumb za dugmad koji pokreće obradu animacija: 36 koraka (sa slikama)

Video: Arduino LED gumb za dugmad koji pokreće obradu animacija: 36 koraka (sa slikama)
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Novembar
Anonim
Image
Image
Arduino LED gumb za dugmad koji pokreće obradu animacija
Arduino LED gumb za dugmad koji pokreće obradu animacija
Arduino LED gumb za dugmad koji pokreće obradu animacija
Arduino LED gumb za dugmad koji pokreće obradu animacija

ŠtoOva jastučići s gumbima izrađeni su od PCB -a i drugih komponenti koje proizvodi Sparkfun. Vozi ga Arduino Mega. Svako dugme je lijepo i mekano i zadovoljavajuće za pritisak, a unutra ima RGB LED! Koristila sam ga za kontrolu animacija koje sam kodirala u Processing. Taster za slanje tastera šalje poruku kad god se pritisne dugme, govoreći koje je dugme u pitanju. Obrada prima ove poruke i mijenja varijable u skici ovisno o tome što je pritisnuto.

Zašto?

LED diode su hladne. Gumbi su zabavni za pritiskanje. Animirani geometrijski uzorci su lijepi. Hteo sam da kombinujem sve tri. Odveo sam ovaj projekt na zabavu, projicirao slike na zidu i pustio ljude da se igraju s gumbima. VJ bi ga također mogao koristiti na performativniji način, slično kao midi kontroler, ali više DIY.

Kako

Četiri su glavna dijela ovog projekta.

Priloženi video na Youtube -u daje dobar uvid u to kako tasteri zajedno idu zajedno. Ovaj Instructable pokriva to, kao i Arduino i Processing kod - (dodatni videozapisi za njih su u izradi)

  1. Sastavljanje tipki s gumbima - počinje u 1. koraku

    To uključuje pripremu komponenti i njihovo lemljenje na PCB

  2. Arduino kôd - počinje u koraku 10

    Za to nam je potrebno razumijevanje matričnog skeniranja, o čemu ću govoriti dalje.

  3. Kod obrade - započinje u koraku 24

    Ovdje postoje beskrajne mogućnosti, govorit ću kroz jedan primjer koji sam do sada dao.

  4. Dobivanje Arduina za slanje poruka u obradi - Korak 16 za slanje, Korak 30-31 za primanje

    Ovo je lijepo i jednostavno, šalje poruku putem serijske veze.

Nivo

Pokušavam svoje upute napisati na takav način da ih netko bez ikakvog znanja može barem pratiti. Možda će vam biti od pomoći da prvo pogledate neke uvodne vodiče o obradi. Počeo bih s YouTube kanalom Daniela Shiffmana.

Kod

Sav kôd (Arduino i Processing) nalazi se na mom githubu ovdje.

Krediti

Naučio sam hrpu iz ovog vodiča https://learn.sparkfun.com/tutorials/button-pad-ho… i veliki dio Arduino koda dolazi odatle, iako sam ga uredio da radi malo drugačije od bilo kojeg od tamošnjih primjera.

Korak 1: Komponente

Komponente!
Komponente!
Komponente!
Komponente!
Komponente!
Komponente!
Komponente!
Komponente!
  • 16 x 5 mm RGB LED diode (ne adresirane, samo obične uobičajene katode)
  • 16 x 1N4148 dioda
  • Silikonska podloga za dugme
  • Podloga od dugmeta PCB
  • Arduino Mega
  • Premosni kablovi

(Postoji i hrpa stvari koje možete nabaviti od Sparkfuna da uredite cijelu stvar malo urednije, ali ja to nisam učinio)

Korak 2: Pripremite diode

Pripremite diode
Pripremite diode
Pripremite diode
Pripremite diode
Pripremite diode
Pripremite diode

Savijte svaku diodu, a zatim je gurnite kroz PCB.

Noge vire sa strane dugmeta, što ne želimo. Zato izvadite diodu ponovo i kratko odrežite noge. (Možda ćete imati neke isječke koji će vam omogućiti da režete noge u ravnini s daskom dok je još tamo, što će vam olakšati život, ali imala sam samo normalne škare pa sam ih morala izvući da ih dovoljno skratim.)

Izuzetno je važno saviti noge i gurnuti ih kroz PCB prije nego što ih skratite. Ako ih prvo skratite, nećete ih moći saviti u oblik.

Napravite 16 ovih malih stvari poput mrava.

Korak 3: Lemite diode na ploču

Lemite diode na ploču
Lemite diode na ploču
Lemite diode na ploču
Lemite diode na ploču
Lemite diode na ploču
Lemite diode na ploču

Vratite svaku diodu na ploču. Važno je provjeriti orijentaciju diode. Na jednoj strani ima crnu liniju koja se poravnava s linijom na PCB -u. (Vidi sliku)

Postavljanje dioda je pomalo škrto, pa sam zato rekao da ako imate isječke koji će vam omogućiti da isečete noge u ravnini bez uklanjanja, to će vam olakšati život. Nisam to imao pa sam ih pincetom vratio na mjesto, što je malo pomoglo.

Lemite svaku diodu na mjesto.

Korak 4: Pripremite LED diode

Pripremite LED diode
Pripremite LED diode
Pripremite LED diode
Pripremite LED diode
Pripremite LED diode
Pripremite LED diode
Pripremite LED diode
Pripremite LED diode

Gurnite LED diode kroz ploču, a zatim odrežite noge. Baš kao i kod dioda; važno je prvo gurnuti noge kroz dasku kako bi se raširile pod pravilnim uglovima, prije rezanja nogu.

Postoji malo pokušaja i grešaka s rezanjem nogu na pravu dužinu. Ako ih predugo učinite, one će štrčati, ali suviše su kratke i teško je vratiti LED diodu nazad.

Pripremite 16 ovih malih amputiranih momaka.

Korak 5: Lemite LED diode na ploču

Lemite LED diode na ploču
Lemite LED diode na ploču
Lemite LED diode na ploču
Lemite LED diode na ploču
Lemite LED diode na ploču
Lemite LED diode na ploču

Gurnite sve LED diode nazad u ploču.

Orijentacija je ovdje opet važna. Jedna strana LED dioda ima ravnu ivicu i to bi se trebalo poravnati s ravnom ivicom kruga na PCB dijagramu. (Vidi sliku)

Provjerite jesu li LED diode dovoljno duboko ugurane stavljanjem silikonske podloge preko ploče i provjerom da ne ometaju pritisnute tipke.

Lemite LED diode na ploču.

Napomena: Od tada mi je ukazano da, budući da nije toliko važno ako malo nogu strši na leđima, mogli ste samo progurati LED diode, lemiti ih straga, a zatim odrezati noge.

Korak 6: Odvojite dovoljno prespojnih kabela

Odvojite dovoljno kratkospojnih kabela
Odvojite dovoljno kratkospojnih kabela

Razgovarajmo malo o ploči. Ploča je raspoređena u 4 kolone i 4 reda LED/dugmadi.

Svaka od kolona zahtijeva 2 veze, jednu za LED uzemljenje i jednu za uzemljenje tipki. Svaki red zahtijeva 4 veze, jer nam je potrebna zasebna veza za crveni, zeleni i plavi kanal, kao i veza za ovdje su boje kabela i brojevi pinova koje sam odabrao za svaku od tih veza.

Red Za šta služi Boja kabla PIN broj PCB Label
Red 1 Crveno Crveno 22 RED1
Zeleno Zeleno 23 ZELENO1
Plava Plava 30 PLAVA1
Unos dugmeta Žuta 31 SWITCH1
Red 2 Crveno Crveno 24 RED2
Zeleno Zeleno 25 GREEN2
Plava Plava 32 PLAVA2
Unos dugmeta Žuta 33 SWITCH2
Red 3 Crveno Crveno 26 RED3
Zeleno Zeleno 27 ZELENO3
Plava Plava 34 PLAVA3
Unos dugmeta Žuta 35 SWITCH3
Red 4 Crveno Crveno 28 RED4
Zeleno Zeleno 29 ZELENO4
Plava Plava 36 PLAVA4
Unos dugmeta Žuta 37 SWITCH4
Kolona Za šta služi Boja kabla PIN broj PCB Label
Col 1 LED uzemljenje Bijela 38 LED-GND-1
Taster uzemljen Crna 39 SWT-GND-1
Kolona 2 LED uzemljenje Bijela 40 LED-GND-2
Taster uzemljen Crna 41 SWT-GND2
Col 3 LED uzemljenje Bijela 42 LED-GND-3
Taster uzemljen Crna 43 SWT-GND3
Kolona 4 LED uzemljenje Bijela 44 LED-GND4
Taster uzemljen Crna 45 SWT-GND4

Korak 7: Pripremite prespojne kablove

Pripremite prespojne kablove
Pripremite prespojne kablove
Pripremite prespojne kabele
Pripremite prespojne kabele

Za svaki kratkospojnik potreban je jedan muški kraj i jedan kraj koji je ogoljen od nekoliko mm žice. Volim koristiti neku vrstu kontejnera za hvatanje ogoljenih dijelova žice jer u protivnom završe po cijelom stanu i moguće je da je gore od svjetlucanja.

Korak 8: Lemite prespojne kablove na ploču i priključite ih

Lemite prespojne kablove na ploču i priključite ih
Lemite prespojne kablove na ploču i priključite ih
Lemite prespojne kablove na ploču i priključite ih
Lemite prespojne kablove na ploču i priključite ih

Upotrijebite tabelu od nekoliko koraka unatrag da biste kabele zalijepili na odgovarajuća mjesta na PCB -u i priključili na ispravne pinove na Arduinu.

Korak 9: Izgradnja završena

Build Done!
Build Done!

Odvojite mali trenutak da slavljenički pritisnete neke (još uvijek nefunkcionalne) tipke, a zatim prijeđimo na neki kod!

Korak 10: Shema

Shematski
Shematski

Ovo je shema PCB -a i stvari koje smo na njega lemili.

Svi sivi okviri predstavljaju jednu od kombinacija dugmadi / LED -a. Ako ovo izgleda super komplicirano (meni se učinilo prvi put kad sam ga vidio), ne brinite, pokvarit ću ga.

Ako samo želite sami pregledati kôd, on je na mom githubu ovdje.

Korak 11: Samo dugmad

Samo dugmad
Samo dugmad
Samo dugmad
Samo dugmad

LED diode i gumbi su zapravo odvojeni jedno od drugog (osim što su svi spojeni na Arduino), pa prvo pogledajmo gumbe.

Svaka siva kutija sadrži jedno dugme i diodu (one na koje smo lemili - malo ću objasniti njihovu svrhu).

Napomena: Siguran sam da je to nekim ljudima očigledno, ali nisam bio siguran u to kad sam ovo počeo shvaćati pa ću to reći! Redovi (zeleno) i stupci (plavo) nisu povezani, samo su postavljeni jedan preko drugog. Stvari su povezane samo tamo gdje postoji mala crna tačka. Zatvaranje jednog od prekidača gumba stvara vezu između retka i stupca.

Korak 12: Postavite pinove dugmadi

Igle za dugmad za postavljanje
Igle za dugmad za postavljanje
Igle za dugmad za postavljanje
Igle za dugmad za postavljanje
Igle za dugmad za podešavanje
Igle za dugmad za podešavanje

Za dugmad ćemo koristiti kolone kao izlaze, a redove kao ulaze.

Moći ćemo provjeriti je li pritisnuto dugme jer ako postoji veza između retka i stupca tada će napon s izlaza doći do ulaza. Za početak, u setup () izlazimo visoki napon na sve stupce. Namjestili smo redove za povlačenje ulaza, što znači da po defaultu čitaju i visoko.

Korak 13: Skeniranje

Skeniranje
Skeniranje
Skeniranje
Skeniranje
Skeniranje
Skeniranje

U petlji funkcija koja se zove scan () prolazi jedan po jedan stupac i postavlja njen napon na nizak.

Zatim pregleda svaki red veze dugmeta, da vidi da li neko od njih čita nisko.

Ako red dugmeta glasi nisko, to znači da je pritisnuto dugme koje povezuje taj red i stupac.

Korak 14: Nisu svi pritisnuti gumbi jednaki

Ako se dugme pritisne brzo i čvrsto, onda će prenos napona iz kolone u red biti lep i čist.

Međutim, ako se pritisne polako ili nesigurno, napon bi mogao malo podrhtati sve dok ne postoji dobra veza između tipkovnice i kontakata na PCB -u.

To znači da bi pritisak na dugme za koje čovjek misli da je samo jedan mogao biti protumačen arduinom kao nekoliko zasebnih pritiska.

Preporučuje se: