Sisukord:

Arduino LED -nupp, mis juhib animatsioonide töötlemist: 36 sammu (piltidega)
Arduino LED -nupp, mis juhib animatsioonide töötlemist: 36 sammu (piltidega)

Video: Arduino LED -nupp, mis juhib animatsioonide töötlemist: 36 sammu (piltidega)

Video: Arduino LED -nupp, mis juhib animatsioonide töötlemist: 36 sammu (piltidega)
Video: Контрольная лампа переменного тока с диммером Arduino AC 2024, November
Anonim
Image
Image
Arduino LED -nupp, mis juhib töötlevaid animatsioone
Arduino LED -nupp, mis juhib töötlevaid animatsioone
Arduino LED -nupp, mis juhib töötlevaid animatsioone
Arduino LED -nupp, mis juhib töötlevaid animatsioone

See nupppadi on valmistatud PCB -st ja muudest Sparkfuni toodetud komponentidest. Seda juhib Arduino Mega. Iga nupp on kena ja sihvakas ning rahuldust pakkuv ning selle sees on RGB -LED! Olen seda kasutanud töötlemisel kodeeritud animatsioonide juhtimiseks. Nuppude padi saadab iga nupuvajutuse korral teate, mis nupp see oli. Töötlemine võtab need sõnumid vastu ja muudab visandis muutujaid sõltuvalt sellest, mida vajutati.

Miks

LEDid on lahedad. Nuppe on mõnus lükata. Animeeritud geomeetrilised mustrid on toredad. Tahtsin kõik kolm ühendada. Ma viisin selle projekti peole, projitseerisin visuaali seinale ja lasin inimestel nuppudega mängida. VJ võiks seda kasutada ka performatiivsemalt, sarnaselt midi -kontrolleriga, kuid rohkem isetegemist.

Kuidas

Sellel projektil on neli põhiosa.

Lisatud Youtube'i video annab hea ülevaate sellest, kuidas nupppadi koos käib. See juhend sisaldab nii seda kui ka Arduino ja töötlemise koodi - (nende jaoks on lisavideoid töös)

  1. Nuppude kokku panemine - algab 1. sammust

    See hõlmab komponentide ettevalmistamist ja nende jootmist trükkplaadile

  2. Arduino kood - algab 10. sammust

    Selleks vajame maatriksi skaneerimise mõistmist, millest ma räägin.

  3. Töötluskood - algab 24. sammust

    Siin on lõputud võimalused, räägin läbi ühe näite, mille olen seni teinud.

  4. Arduino saatmine sõnumeid töötlema saatma - samm 16 saatmiseks, samm 30-31 vastuvõtmiseks

    See on kena ja lihtne, saadab sõnumi jadaühenduse kaudu.

Tase

Proovin kirjutada oma õpetusi nii, et keegi, kellel pole üldse teadmisi, saaks vähemalt sellele järgneda. Teil võib olla kasulik vaadata esmalt mõningaid sissejuhatavaid õpetusi töötlemise kohta. Alustaksin Daniel Shiffmani YouTube'i kanaliga.

Kood

Kogu kood (Arduino ja töötlemine) on minu githubis siin.

Autorid

Ma õppisin sellest õpetusest hulgaliselt https://learn.sparkfun.com/tutorials/button-pad-ho… ja suur osa Arduino koodist on pärit sealt, kuigi olen seda redigeerinud, et see toimiks mõnevõrra erinevalt kõigist sealsetest näidetest.

Samm: komponendid

Komponendid!
Komponendid!
Komponendid!
Komponendid!
Komponendid!
Komponendid!
Komponendid!
Komponendid!
  • 16 x 5 mm RGB LED -id (mitte adresseeritavad, vaid tavalised tavalised katoodid)
  • 16 x 1N4148 dioodi
  • Silikoonist nupp
  • Nuppude trükkplaat
  • Arduino Mega
  • Jumper kaablid

(Sparkfunist saate ka palju asju, et kogu asi natuke kenamalt majutada, kuid ma pole seda teinud)

Samm: valmistage dioodid ette

Valmistage dioodid ette
Valmistage dioodid ette
Valmistage dioodid ette
Valmistage dioodid ette
Valmistage dioodid ette
Valmistage dioodid ette

Painutage iga dioodi ja suruge see seejärel läbi PCB.

Jalad jäävad nööbipoolsest küljest välja, mida me ei taha. Nii et võtke diood uuesti välja ja lõigake jalad lühikeseks. (Teil võib olla mõningaid lõikeid, mis võimaldavad teil jalad lauaga samal tasapinnal lõigata, mis muudab teie elu lihtsamaks, kuid mul olid ainult tavalised käärid, nii et pidin need piisavalt lühikeseks lõikamiseks välja tõmbama.)

Enne lühikeseks lõikamist on äärmiselt oluline jalad painutada ja läbi trükkplaadi suruda. Kui lõikate need kõigepealt lühikeseks, ei saa te neid vormiks painutada.

Tehke 16 sellist väikest sipelgataolist asja.

Samm: jootke dioodid tahvlile

Jootke dioodid tahvlile
Jootke dioodid tahvlile
Jootke dioodid tahvlile
Jootke dioodid tahvlile
Jootke dioodid tahvlile
Jootke dioodid tahvlile

Asetage kõik dioodid tagasi tahvlile. Oluline on kontrollida dioodi suunda. Selle ühel küljel on must joon, mis on kooskõlas trükkplaadi joonega. (Vaata pilti)

Dioodide paika panemine on omamoodi vaevaline, mistõttu ütlesin, et kui teil on nippe, mis võimaldavad teil jalgu ilma lõikamata loputada, teeb see teie elu lihtsamaks. Mul seda polnud, nii et kasutasin pintsette, et need tagasi asetada, mis aitas natuke.

Jootke kõik dioodid oma kohale.

Samm: valmistage valgusdioodid ette

Valmistage LED -id ette
Valmistage LED -id ette
Valmistage LED -id ette
Valmistage LED -id ette
Valmistage LED -id ette
Valmistage LED -id ette
Valmistage LED -id ette
Valmistage LED -id ette

Lükake LED -id läbi tahvli ja lõigake jalad ära. Täpselt nagu dioodidega; enne jalgade lõikamist on oluline suruda jalad kõigepealt läbi laua, et need oleksid õige nurga all.

Jalade õige pikkusega lõikamisel on natuke katsetusi ja vigu. Kui teete need liiga pikaks, jäävad need välja, kuid liiga lühikeseks ja LED -i on raske tagasi saada.

Valmistage ette 16 sellist väikest amputeeritud meest.

Samm: jootke LED -id plaadile

Jootke LED -id plaadile
Jootke LED -id plaadile
Jootke LED -id plaadile
Jootke LED -id plaadile
Jootke LED -id plaadile
Jootke LED -id plaadile

Lükake kõik valgusdioodid tagasi plaadile.

Siin on jälle oluline orienteeritus. Valgusdioodide ühel küljel on lame serv ja see peaks joonduma trükkplaadi skeemi ringjoone tasase servaga. (Vaata pilti)

Vaadake, kas valgusdioodid on piisavalt kaugele surutud, pannes silikoonpadja lauale ja kontrollides, et need ei segaks nuppude vajutamist.

Jootke LED -id plaadile.

Märkus: mulle on sellest ajast peale teatatud, et kuna pole nii tähtis, kui natuke jalgu tagant välja jääb, võite LED -id lihtsalt läbi suruda, tagant jootma ja seejärel jalad ära lõigata.

6. samm: sorteerige piisavalt hüppajakaableid

Sorteeri piisavalt džemprikaableid
Sorteeri piisavalt džemprikaableid

Räägime natuke plaadist. Tahvel on paigutatud 4 veergu ja 4 rida LED -e/nuppe.

Igas veerus on vaja kahte ühendust, üks LED -maanduse jaoks ja üks nupu maandamiseks. Iga rea jaoks on vaja 4 ühendust, kuna vajame eraldi ühendust punase, rohelise ja sinise kanali jaoks, samuti ühendust nupu sisend. Siin on kaabli värvid ja tihvtide numbrid, mille valisin nende ühenduste jaoks.

Rida Mille jaoks see on Kaabli värv PIN-kood PCB silt
1. rida Punane Punane 22 PUNANE 1
Roheline Roheline 23 ROHELINE 1
Sinine Sinine 30 SININE1
Nuppude sisend Kollane 31 LÜLITI1
2. rida Punane Punane 24 PUNANE 2
Roheline Roheline 25 ROHELINE 2
Sinine Sinine 32 SININE2
Nuppude sisend Kollane 33 LÜLITI2
3. rida Punane Punane 26 PUNANE 3
Roheline Roheline 27 ROHELINE 3
Sinine Sinine 34 SININE3
Nuppude sisend Kollane 35 LÜLITI3
4. rida Punane Punane 28 PUNANE 4
Roheline Roheline 29 ROHELINE 4
Sinine Sinine 36 SININE 4
Nuppude sisend Kollane 37 LÜLITI4
Veerg Mille jaoks see on Kaabli värv PIN-kood PCB silt
Veerg 1 LED -maandus Valge 38 LED-GND-1
Nupp maa Must 39 SWT-GND-1
Veerg 2 LED -maandus Valge 40 LED-GND-2
Nupp maa Must 41 SWT-GND2
Veerg 3 LED -maandus Valge 42 LED-GND-3
Nupp maa Must 43 SWT-GND3
Veerg 4 LED -maandus Valge 44 LED-GND4
Nupp maa Must 45 SWT-GND4

Samm: valmistage ette hüppajakaablid

Valmistage ette hüppajakaablid
Valmistage ette hüppajakaablid
Valmistage ette hüppajakaablid
Valmistage ette hüppajakaablid

Igal hüppajakaablil on üks isane ots ja üks ots, mis on eemaldatud mõne mm traadist. Mulle meeldib kasutada mingisugust konteinerit, et jäädvustada traadist tükke, sest muidu satuvad need mu korterisse ja see võib olla hullem kui säde.

Samm: jootke hüppajakaablid plaadile ja ühendage need sisse

Jootke hüppajakaablid plaadi külge ja ühendage need sisse
Jootke hüppajakaablid plaadi külge ja ühendage need sisse
Jootke hüppajakaablid plaadi külge ja ühendage need sisse
Jootke hüppajakaablid plaadi külge ja ühendage need sisse

Kasutage paari sammu tagumist diagrammi, et kaablid joota trükkplaadi õigesse kohta ja ühendada Arduino õigete tihvtidega.

9. samm: ehitamine valmis

Ehitamine Valmis!
Ehitamine Valmis!

Võtke väike hetk, et pidulikult mõnele (veel mittetoimivale) nupule vajutada ja seejärel mõnele koodile pääseda!

10. samm: skemaatiline

Skeem
Skeem

See on skemaatiline trükkplaat ja selle külge joodetud asjad.

Hallid kastid kujutavad endast ühte nuppude / LED -ide kombinatsioone. Kui see tundub väga keeruline (see tegi mulle esimest korda, kui ma seda nägin), siis ärge muretsege, ma lagunen selle.

Kui soovite koodi ise läbi vaadata, on see minu githubis siin.

Samm: lihtsalt nupud

Ainult nupud
Ainult nupud
Ainult nupud
Ainult nupud

Valgusdioodid ja nupud on tegelikult üksteisest eraldatud (peale kõigi, mis on ühendatud Arduinoga), nii et kõigepealt vaadake lihtsalt nuppe.

Igas hallis kastis on üks nupp ja diood (need, mille külge me jootsime - selgitan natuke nende otstarvet).

Märkus. Olen kindel, et see on mõnele inimesele väga ilmne, kuid ma polnud selles kindel, kui ma seda esimest korda välja mõtlesin, nii et ma ütlen seda! Ridad (roheliselt) ja veerud (sinisega) ei ole ühendatud, vaid asetatakse üksteise külge. Asju ühendatakse ainult seal, kus on väike must täpp. Ühe nupulüliti sulgemine loob siiski rea ja veeru vahelise ühenduse.

12. samm: seadistage nööpnõelad

Seadistage nööpnõelad
Seadistage nööpnõelad
Seadistage nööpnõelad
Seadistage nööpnõelad
Seadistage nööpnõelad
Seadistage nööpnõelad

Nuppude jaoks kasutame veerge väljunditena ja ridu sisenditena.

Saame kontrollida, kas nuppu vajutatakse, sest kui rea ja veeru vahel on ühendus, jõuab väljundi pinge sisendini. Alustuseks väljastame seadistuses () kõigile veergudele kõrgepinge. Seadsime read üles tõmbavateks sisenditeks, mis tähendab, et vaikimisi loetakse neid ka kõrgeks.

13. samm: skannimine

Skaneerimine
Skaneerimine
Skaneerimine
Skaneerimine
Skaneerimine
Skaneerimine

Silmus, funktsioon nimega scan () läbib ühe veeru korraga ja määrab selle pinge madalaks.

Seejärel vaadatakse iga nupuühenduse rida, et näha, kas mõni neist loeb vähe.

Kui nupurida on madal, tähendab see, et seda rida ja veergu ühendav nupp on vajutatud.

14. samm: kõik nupuvajutused pole võrdsed

Kui nuppu kiiresti ja kindlalt vajutada, on pinge ülekanne veerult reale kena ja puhas.

Kui aga seda vajutatakse natuke aeglaselt või ebameeldivalt, võib pinge veidi väriseda, kuni nuppude ja PCB kontaktide vahel on hea ühendus.

See tähendab, et arduino võib tõlgendada nupuvajutust, mida inimene arvab vaid üheks, mitmeteks eraldi vajutusteks.

Soovitan: