Innholdsfortegnelse:
- Trinn 1: Komponentene
- Trinn 2: Forbered dioder
- Trinn 3: Lodd dioder på brettet
- Trinn 4: Forbered lysdiodene
- Trinn 5: Lodd lysdiodene på brettet
- Trinn 6: Sorter ut nok hoppekabler
- Trinn 7: Forbered hoppekablene
- Trinn 8: Lodd jumperkablene til brettet og sett dem inn
- Trinn 9: Bygg ferdig
- Trinn 10: Skjematisk
- Trinn 11: Bare knappene
- Trinn 12: Sett opp knappestifter
- Trinn 13: Skanning
- Trinn 14: Ikke alle knappetrykk skapes like
Video: Arduino LED -knappepute som driver behandling av animasjoner: 36 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Hva Denne knappputen er laget av en PCB og andre komponenter produsert av Sparkfun. Den drives av en Arduino Mega. Hver knapp er fin og squishy og tilfredsstillende å trykke på, og den har en RGB LED inni! Jeg har brukt den til å kontrollere animasjoner jeg har kodet i Processing. Knappene sender en melding når en knapp trykkes, og sier hvilken knapp det var. Behandlingen mottar disse meldingene og endrer variabler i skissen avhengig av hva som ble trykket.
Hvorfor
Lysdioder er kule. Knapper er morsomme å trykke på. Animerte geometriske mønstre er fine. Jeg ønsket å kombinere alle tre. Jeg tok dette prosjektet til en fest, projiserte det visuelle på veggen og lot folk leke med knappene. Det kan også brukes av en VJ på en mer performativ måte, omtrent som en midi -kontroller, men mer DIY.
Hvordan
Det er fire hoveddeler i dette prosjektet.
Den vedlagte Youtube -videoen gir en god titt på hvordan knappeputen henger sammen. Denne instruksen dekker det så vel som Arduino- og behandlingskoden - (flere videoer for de som er under arbeid)
-
Å sette knappeknappen sammen - Starter i trinn 1
Dette innebærer å forberede komponentene og lodde dem til PCB
-
Arduino -koden - starter i trinn 10
For dette trenger vi en forståelse av matriseskanning, som jeg vil snakke gjennom.
-
Behandlingskoden - starter i trinn 24
Det er uendelige muligheter her. Jeg skal snakke gjennom ett eksempel jeg har laget så langt.
-
Få Arduino til å sende meldinger til Processing - Trinn 16 for sending, Trinn 30-31 for mottak
Dette er fint og enkelt, det sender meldingen over en seriell tilkobling.
Nivå
Jeg prøver å skrive opplæringen min på en slik måte at noen med absolutt ingen kunnskap i det minste kan følge med. Det kan være nyttig å først se noen introduksjonsopplæringer om behandling. Jeg ville begynne med Daniel Shiffmans YouTube -kanal.
Kode
All koden (Arduino og prosessering) er på githuben min her.
Studiepoeng
Jeg lærte en haug fra denne opplæringen https://learn.sparkfun.com/tutorials/button-pad-ho… og mye av Arduino-koden er derfra, selv om jeg har redigert den for å fungere litt annerledes enn noen av eksemplene der.
Trinn 1: Komponentene
- 16 x 5 mm RGB -lysdioder (ikke adresserbare, bare vanlige katodene)
- 16 x 1N4148 dioder
- Knappepute i silikon
- Knappeplate PCB
- Arduino Mega
- Hoppekabler
(Det er også en haug med ting du kan få fra Sparkfun for å huse det hele litt mer pent, men jeg har ikke gjort dette)
Trinn 2: Forbered dioder
Bøy hver diode og skyv den deretter gjennom kretskortet.
Bena stikker ut på knappesiden, noe vi ikke vil ha. Så ta ut dioden igjen og kutt beina. (Du kan ha noen snips som lar deg klippe bena i flukt med brettet mens det fortsatt er der, noe som vil gjøre livet ditt lettere, men jeg hadde bare en vanlig saks, så jeg måtte trekke dem ut for å klippe dem kort nok.)
Det er super viktig å bøye bena og skyve dem gjennom PCB før du klipper dem korte. Hvis du kutter dem først først, vil du ikke kunne bøye dem til form.
Lag 16 av disse små maurlignende tingene.
Trinn 3: Lodd dioder på brettet
Plasser hver av dioder tilbake i brettet. Det er viktig å sjekke retningen til dioden. Den har en svart linje på den ene siden som er på linje med linjen på PCB. (Se bildet)
Å få dioder på plass er litt rotete, og det er derfor jeg sa at hvis du har snips som lar deg kutte beina uten å fjerne dem, vil det gjøre livet ditt lettere. Jeg hadde ikke det, så jeg brukte pinsett til å plassere dem tilbake, noe som hjalp litt.
Lodd hver av dioder på plass.
Trinn 4: Forbered lysdiodene
Skyv lysdiodene gjennom brettet og klipp deretter av bena. Akkurat som med dioder; Det er viktig å skyve bena gjennom brettet først, for å få dem spredt til riktige vinkler, før du skjærer bena.
Det er litt prøving og feiling med å kutte beina til riktig lengde. Hvis du gjør dem for lange, stikker de ut, men for korte, og det er vanskelig å få LED -en tilbake.
Forbered 16 av disse små amputerte gutta.
Trinn 5: Lodd lysdiodene på brettet
Skyv alle lysdiodene tilbake i brettet.
Orienteringen er viktig igjen her. Den ene siden av lysdiodene har en flat kant, og denne skal være på linje med den flate kanten av sirkelen på PCB -diagrammet. (Se bildet)
Se om lysdiodene skyves langt nok inn ved å legge silikonputen over brettet og kontrollere at de ikke forstyrrer knappene som skyves.
Lodd lysdiodene på brettet.
Merk: Det har siden blitt påpekt for meg at siden det ikke betyr så mye om litt av beina stikker ut på baksiden, kan du bare skyve lysdiodene gjennom, lodde dem på baksiden og deretter kutte bena av.
Trinn 6: Sorter ut nok hoppekabler
La oss snakke litt om brettet. Brettet er ordnet i 4 kolonner og 4 rader med lysdioder/knapper.
Hver av kolonnene krever 2 tilkoblinger, en for LED -bakken og en for knappens bakke. Hver av radene krever 4 tilkoblinger, fordi vi trenger en separat tilkobling for de røde, grønne og blå kanalene, samt en tilkobling for Her er kabelfargene og pin -tallene jeg valgte for hver av disse tilkoblingene.
Rad | Hva det er til | Kabelfarge | PIN-kode | PCB -etikett |
Rad 1 | rød | rød | 22 | RØD1 |
Grønn | Grønn | 23 | GRØNN1 | |
Blå | Blå | 30 | BLÅ1 | |
Knappinngang | Gul | 31 | BRYTER 1 | |
Rad 2 | rød | rød | 24 | RØD2 |
Grønn | Grønn | 25 | GRØNN2 | |
Blå | Blå | 32 | BLÅ2 | |
Knappinngang | Gul | 33 | BRYTER2 | |
Rad 3 | rød | rød | 26 | RØD3 |
Grønn | Grønn | 27 | GRØNN 3 | |
Blå | Blå | 34 | BLÅ3 | |
Knappinngang | Gul | 35 | BRYTER 3 | |
Rad 4 | rød | rød | 28 | RØD4 |
Grønn | Grønn | 29 | GRØNN 4 | |
Blå | Blå | 36 | BLÅ4 | |
Knappinngang | Gul | 37 | BRYTER 4 |
Kolonne | Hva det er til | Kabelfarge | PIN-kode | PCB -etikett |
Kol 1 | LED bakken | Hvit | 38 | LED-GND-1 |
Knappjord | Svart | 39 | SWT-GND-1 | |
Kol 2 | LED bakken | Hvit | 40 | LED-GND-2 |
Knappjord | Svart | 41 | SWT-GND2 | |
Kol 3 | LED bakken | Hvit | 42 | LED-GND-3 |
Knappjord | Svart | 43 | SWT-GND3 | |
Kol 4 | LED bakken | Hvit | 44 | LED-GND4 |
Knappjord | Svart | 45 | SWT-GND4 |
Trinn 7: Forbered hoppekablene
Hver startkabel trenger en hannende, og en ende som er strippet for noen få mm ledning. Jeg liker å bruke en slags beholder for å fange avskårne trådbiter, for ellers havner de over hele leiligheten min og er muligens verre enn glitter.
Trinn 8: Lodd jumperkablene til brettet og sett dem inn
Bruk diagrammet fra et par skritt tilbake for å få kablene loddet til de riktige stedene på kretskortet, og plugget inn i de riktige pinnene på Arduino.
Trinn 9: Bygg ferdig
Ta et lite øyeblikk til å feire trykk på noen (ennå ikke -funksjonelle) knapper, og la oss deretter komme inn på noen kode!
Trinn 10: Skjematisk
Dette er en skjematisk oversikt over PCB og tingene vi har loddet til det.
De grå boksene representerer hver av knappene / LED -kombinasjonene. Hvis dette ser super komplisert ut (det gjorde meg første gangen jeg så det), så ikke bekymre deg, jeg kommer til å bryte det ned.
Hvis du bare vil se gjennom koden selv, er den på githuben min her.
Trinn 11: Bare knappene
Lysdiodene og knappene er faktisk atskilt fra hverandre (bortsett fra at alle er koblet til Arduino), så det er bare å se på knappene først.
Hver grå boks inneholder en knapp og en diode (de vi loddet på - jeg skal forklare formålet med dem om litt).
Merk: Jeg er sikker på at dette er veldig åpenbart for noen mennesker, men jeg var ikke sikker på det da jeg først begynte å finne ut av dette, så jeg skal si det! Radene (i grønt) og kolonnene (i blått) er ikke koblet sammen, de er bare lagt på tvers av hverandre. Ting er bare koblet til der det er en liten svart prikk. Å lukke en av knappbryterne skaper imidlertid en forbindelse mellom raden og kolonnen.
Trinn 12: Sett opp knappestifter
For knappene skal vi bruke kolonnene som utganger og radene som innganger.
Vi kan sjekke om en knapp trykkes fordi hvis det er en forbindelse mellom en rad og en kolonne, vil spenningen fra utgangen nå inngangen. For å starte, i oppsettet () sender vi ut en høyspenning til alle kolonnene. Vi setter radene til å trekke opp innganger, noe som betyr at de som standard også leser høyt.
Trinn 13: Skanning
I sløyfen går en funksjon som kalles scan () gjennom en kolonne om gangen og setter spenningen til å være lav.
Deretter ser den på hver knappeforbindelsesrad for å se om noen av dem leser lavt.
Hvis en knapprad leser lavt, betyr det at knappen som forbinder den raden og kolonnen har blitt trykket.
Trinn 14: Ikke alle knappetrykk skapes like
Hvis knappen trykkes raskt og fast, vil spenningsoverføringen fra kolonnen til raden være fin og ren.
Imidlertid, hvis den presses litt sakte eller vanvittig, kan spenningen rive litt til det er en god forbindelse mellom knappeknappen og kontaktene på kretskortet.
Dette betyr at et knappetrykk som et menneske tror er bare ett, kan tolkes av arduinoen som flere separate trykk.
Anbefalt:
Lysstyrkekontroll, Arduino (med animasjoner): 7 trinn
Brightness Control, Arduino (med animasjoner): I løpet av de siste årene har jeg bygget to flipperspill (pinballdesign.com) og to robothoder (grahamasker.com) som hver er kontrollert av Arduinos. Etter å ha hatt en karriere som maskiningeniør, har jeg det bra med utformingen av mekanismene, men jeg
SCARA Robot: Lær om fremover og omvendt kinematikk !!! (Plot Twist Lær hvordan du lager et sanntidsgrensesnitt i ARDUINO ved hjelp av BEHANDLING !!!!): 5 trinn (med bilder)
SCARA Robot: Lær om fremover og omvendt kinematikk !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using Processing !!!!): En SCARA -robot er en veldig populær maskin i bransjens verden. Navnet står både for Selective Compliant Assembly Robot Arm eller Selective Compliant Articulated Robot Arm. Det er i utgangspunktet en robot med tre frihetsgrader, som er de to første
POV GLOBE Med animasjoner: 6 trinn
POV GLOBE With Animations: Hei Makers, I dag vil jeg fortelle deg om et nytt prosjekt. POV Globe. Visjonens utholdenhet. En rask introduksjon til POV eller vedvarende syn: Enhver lysspenningslampe blinker faktisk av og på med en frekvens på 60 Hz eller 60 ganger i sekundet. Hjernen vår per
Creative Edge: Animasjoner i Powerpoint: 9 trinn
Creative Edge: Animasjoner i Powerpoint: Det er ikke mange som bruker Microsoft Powerpoint for å utnytte potensialet fullt ut, på en måte der resultatene kan være ganske oppsiktsvekkende. For det meste, etter å ha kommet ut av college og vært en del av næringslivet, så har jeg sett presentasjoner i meg
Ta opp lyd for videoer og animasjoner: noen få raske tips og triks: 8 trinn
Ta opp lyd for videoer og animasjoner: noen få raske tips og triks: Hvis du er en håpefull artist, eller bare et barn som liker å lage animasjoner for YouTube noen ganger, kan det hende du har et par problemer med å spille inn lyden. visuelt bra kan en video eller animasjon være, hvis folk som ser den kan