Innholdsfortegnelse:

Bruke en LED -matrise som skanner: 8 trinn (med bilder)
Bruke en LED -matrise som skanner: 8 trinn (med bilder)

Video: Bruke en LED -matrise som skanner: 8 trinn (med bilder)

Video: Bruke en LED -matrise som skanner: 8 trinn (med bilder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Image
Image
Gjør Boxy Stuff ut av foreldede visittkort!
Gjør Boxy Stuff ut av foreldede visittkort!

Av marciotMarcioTs hjemmeside Følg mer av forfatteren:

Gjør Boxy Stuff ut av foreldede visittkort!
Gjør Boxy Stuff ut av foreldede visittkort!
DIY 2,5x til 5x opera/konsertbriller
DIY 2,5x til 5x opera/konsertbriller
DIY 2,5x til 5x opera/konsertbriller
DIY 2,5x til 5x opera/konsertbriller
Hele hjemmet trådløs vannlekkagedetektor og nødvannavstengningssystem
Hele hjemmet trådløs vannlekkagedetektor og nødvannavstengningssystem
Hele hjemmet trådløs vannlekkagedetektor og nødvannavstengningssystem
Hele hjemmet trådløs vannlekkagedetektor og nødvannavstengningssystem

Om: Jeg er en hobbyist med interesse for åpen kildekode-programvare, 3D-utskrift, vitenskap og elektronikk. Besøk butikken min eller Patreon -siden for å støtte arbeidet mitt! Mer om marciot »

Vanlige digitale kameraer fungerer ved å bruke et stort utvalg av lyssensorer for å fange lys mens det reflekteres fra et objekt. I dette eksperimentet ønsket jeg å se om jeg kunne bygge et bakoverkamera: i stedet for å ha en rekke lyssensorer, har jeg bare en enkelt sensor; men jeg kontrollerer hver av 1, 024 individuelle lyskilder i en 32 x 32 LED -matrise.

Måten det fungerer på er at Arduino lyser én LED om gangen, mens du bruker den analoge inngangen til å overvåke endringer i lyssensoren. Dette gjør at Arduino kan teste om sensoren kan "se" en bestemt LED. Denne prosessen gjentas raskt for hver av de 0, 024 individuelle lysdiodene raskt for å generere et kart over synlige piksler.

Hvis et objekt plasseres mellom LED -matrisen og sensoren, er Arduino i stand til å fange silhuetten til objektet, som lyser opp som en "skygge" når opptaket er fullført.

BONUS: Med mindre justeringer kan den samme koden brukes til å implementere en "digital stylus" for maling på LED -matrisen.

Trinn 1: Deler som brukes i denne bygningen

Deler som brukes i denne bygningen
Deler som brukes i denne bygningen
Deler som brukes i denne bygningen
Deler som brukes i denne bygningen

For dette prosjektet brukte jeg følgende komponenter:

  • En Arduino Uno med brødbrett
  • 32x32 RGB LED -matrise (enten fra AdaFruit eller Tindie)
  • 5V 4A strømadapter (fra AdaFruit)
  • Kvinnelig likestrømadapter 2.1 mm kontakt til skrueklemme (fra AdaFruit)
  • En klar, 3 mm TIL78 fototransistor
  • Jumper ledninger

AdaFruit selger også et Arduino -skjold som kan brukes i stedet for hoppetråder.

Siden jeg hadde noen Tindie -studiepoeng, fikk jeg matrisen min fra Tindie, men matrisen fra AdaFruit ser ut til å være identisk, så en av dem burde fungere.

Fototransistoren kom fra mine tiår gamle samlinger av deler. Det var en klar 3 mm del merket som en TIL78. Så vidt jeg kan fortelle, er den delen ment for IR og kommer enten et klart tilfelle eller et mørkt hylster som blokkerer synlig lys. Siden RGB LED -matrisen slukker synlig lys, må den klare versjonen brukes.

Denne TIL78 ser ut til å ha blitt avviklet, men jeg forestiller meg at dette prosjektet kan lages ved hjelp av moderne fototransistorer. Gi meg beskjed hvis du finner noe som fungerer, så oppdaterer jeg denne instruksen!

Trinn 2: Tilkobling og testing av fototransistoren

Kabling og testing av fototransistoren
Kabling og testing av fototransistoren

Normalt vil du trenge en motstand i serie med fototransistoren på tvers av strøm, men jeg visste at Arduino hadde muligheten til å aktivere en intern opptrekksmotstand på hvilken som helst av pinnene. Jeg mistenkte at jeg kunne dra nytte av det for å koble til fototransistoren til Arduino uten ekstra komponenter. Det viste seg at min anelse var riktig!

Jeg brukte ledninger for å koble fototransistoren til GND- og A5 -pinnene på Arduino. Jeg laget deretter en skisse som satte A5 -pinnen som en INPUT_PULLUP. Dette gjøres normalt for brytere, men i dette tilfellet gir det strøm til fototransistoren!

#define SENSOR A5

ugyldig oppsett () {Serial.begin (9600); pinMode (SENSOR, INPUT_PULLUP); } void loop () {// Les analog verdi kontinuerlig og skriv den ut Serial.println (analogRead (SENSOR)); }

Denne skissen skriver ut verdier til den serielle porten som tilsvarer lysstyrken i omgivelsene. Ved å bruke den praktiske "Serial Plotter" fra "Verktøy" -menyen i Arduino IDE, kan jeg få en bevegelig tomt med omgivende lys! Når jeg dekker og avdekker fototransistoren med hendene, beveger plottet seg opp og ned. Hyggelig!

Denne skissen er en fin måte å sjekke om fototransistoren er koblet til med riktig polaritet: fototransistoren vil være mer følsom når den kobles til en retning mot den andre.

Trinn 3: Koble opp Matrix -båndkabelen til Arduino

Kabling av matrisebåndkabelen til Arduino
Kabling av matrisebåndkabelen til Arduino

For å koble matrisen til Arduino gikk jeg gjennom denne praktiske guiden fra Adafruit. For enkelhets skyld limte jeg diagrammet og pinoutene inn i et dokument og skrev ut en hurtigreferanseside for bruk mens jeg koblet alt sammen.

Pass på at tappen på kontakten stemmer overens med den i diagrammet.

Alternativt, for en renere krets, kan du bruke RGB -matriseskjoldet som AdaFruit selger for disse panelene. Hvis du bruker skjoldet, må du lodde i et topptekst eller ledninger for fototransistoren.

Trinn 4: Koble til matrisen

Koble til matrisen
Koble til matrisen
Koble til matrisen
Koble til matrisen
Koble til matrisen
Koble til matrisen

Jeg skrudde ned gaffelterminalene på matrisens strømledninger til jackadapteren, og sørget for at polariteten var riktig. Siden en del av terminalene ble avslørt, pakket jeg det hele inn med elektrisk tape for sikkerhets skyld.

Deretter koblet jeg til strømkontakten og båndkabelen, og passet på å ikke forstyrre hoppetrådene i prosessen.

Trinn 5: Installer AdaFruit Matrix Library og test matrisen

Installer AdaFruit Matrix Library og test matrisen
Installer AdaFruit Matrix Library og test matrisen

Du må installere "RGB -matrisepanelet" og AdaFruit "Adafruit GFX -biblioteket" i Arduino IDE. Hvis du trenger hjelp til å gjøre dette, er opplæringen den beste måten å gå.

Jeg foreslår at du kjører noen av eksemplene for å sikre at RGB -panelet fungerer før du fortsetter. Jeg anbefaler eksempelet "plasma_32x32", da det er ganske fantastisk!

Viktig merknad: Jeg fant ut at hvis jeg satte på Arduino før jeg koblet til 5V -forsyningen til matrisen, ville matrisen lyse svakt. Det ser ut til at matrisen prøver å hente strøm fra Arduino, og det er definitivt ikke bra for det! Så for å unngå overbelastning av Arduino, slå alltid på matrisen før du slår på Arduino!

Trinn 6: Last inn matriseskanningskoden

Andre pris i Arduino -konkurransen 2019

Anbefalt: