Cuprins:

Utilizarea unei matrice LED ca scaner: 8 pași (cu imagini)
Utilizarea unei matrice LED ca scaner: 8 pași (cu imagini)

Video: Utilizarea unei matrice LED ca scaner: 8 pași (cu imagini)

Video: Utilizarea unei matrice LED ca scaner: 8 pași (cu imagini)
Video: FEMEIA De 399 De ANI ! #shorts 2024, Noiembrie
Anonim
Image
Image
Faceți Boxy Stuff din cărți de vizită învechite!
Faceți Boxy Stuff din cărți de vizită învechite!

De pagina principală a lui marciotMarcioT Urmăriți mai multe de la autor:

Faceți Boxy Stuff din cărți de vizită învechite!
Faceți Boxy Stuff din cărți de vizită învechite!
Ochelari DIY 2,5x până la 5x Opera / Concert
Ochelari DIY 2,5x până la 5x Opera / Concert
Ochelari DIY 2,5x până la 5x Opera / Concert
Ochelari DIY 2,5x până la 5x Opera / Concert
Detector de scurgeri de apă fără fir pentru întreaga casă și sistem de închidere a apei de urgență
Detector de scurgeri de apă fără fir pentru întreaga casă și sistem de închidere a apei de urgență
Detector de scurgeri de apă fără fir pentru întreaga casă și sistem de închidere a apei de urgență
Detector de scurgeri de apă fără fir pentru întreaga casă și sistem de închidere a apei de urgență

Despre: Sunt un hobbyist cu interes pentru software-ul open-source, imprimarea 3D, știința și electronica. Vă rugăm să vizitați magazinul meu sau pagina Patreon pentru a-mi susține munca! Mai multe despre marciot »

Camerele digitale obișnuite funcționează utilizând o gamă largă de senzori de lumină pentru a capta lumina, pe măsură ce este reflectată de un obiect. În acest experiment, am vrut să văd dacă aș putea construi o cameră înapoi: în loc să am o gamă de senzori de lumină, am doar un singur senzor; dar controlez fiecare dintre 1, 024 surse de lumină individuale într-o matrice LED de 32 x 32.

Modul în care funcționează este că Arduino luminează câte un LED la un moment dat, în timp ce folosește intrarea analogică pentru a monitoriza modificările senzorului de lumină. Acest lucru permite Arduino să testeze dacă senzorul poate „vedea” un anumit LED. Acest proces se repetă pentru fiecare dintre 1, 024 LED-uri individuale rapid pentru a genera o hartă de pixeli vizibili.

Dacă un obiect este plasat între matricea LED și senzor, Arduino este capabil să capteze silueta acelui obiect, care este luminat ca o „umbră” odată ce captura este finalizată.

BONUS: Cu modificări minore, același cod poate fi utilizat pentru a implementa un „stylus digital” pentru vopsirea pe matricea LED.

Pasul 1: piese utilizate în această versiune

Piese utilizate în această construcție
Piese utilizate în această construcție
Piese utilizate în această construcție
Piese utilizate în această construcție

Pentru acest proiect, am folosit următoarele componente:

  • Un Arduino Uno cu Breadboard
  • Matrice LED 32x32 RGB (fie de la AdaFruit sau Tindie)
  • Adaptor de alimentare 5V 4A (de la AdaFruit)
  • Adaptor de alimentare DC femelă de 2,1 mm la blocul cu șurub (de la AdaFruit)
  • Un fototranzistor clar, de 3 mm TIL78
  • Sârme de jumper

AdaFruit vinde, de asemenea, un scut Arduino care poate fi utilizat în locul firelor jumper.

Deoarece aveam câteva credite Tindie, mi-am luat matricea de la Tindie, dar matricea de la AdaFruit pare a fi identică, deci oricare dintre ele ar trebui să funcționeze.

Fototranzistorul provenea din colecțiile mele vechi de decenii. Era o piesă clară de 3 mm etichetată ca TIL78. Din câte îmi dau seama, acea parte este destinată IR și vine fie o carcasă clară, fie o carcasă întunecată care blochează lumina vizibilă. Deoarece matricea LED RGB stinge lumină vizibilă, trebuie utilizată versiunea clară.

Acest TIL78 pare să fi fost întrerupt, dar îmi imaginez că acest proiect ar putea fi realizat folosind fototransistori contemporani. Dacă găsiți ceva care funcționează, anunțați-mă și voi actualiza acest instructabil!

Pasul 2: Cablarea și testarea fototranzistorului

Cablarea și testarea fototranzistorului
Cablarea și testarea fototranzistorului

În mod normal, ai avea nevoie de un rezistor în serie cu fototranzistorul la putere, dar știam că Arduino avea capacitatea de a permite un rezistor de tragere intern pe oricare dintre pini. Am bănuit că aș putea profita de asta pentru a conecta fototranzistorul la Arduino fără componente suplimentare. S-a dovedit că bănuiala mea era corectă!

Am folosit fire pentru a conecta fototranzistorul la pinii GND și A5 de pe Arduino. Am creat apoi o schiță care a setat pinul A5 ca INPUT_PULLUP. Acest lucru se face în mod normal pentru comutatoare, dar în acest caz furnizează energie fototranzistorului!

#define SENSOR A5

void setup () {Serial.begin (9600); pinMode (SENSOR, INPUT_PULLUP); } void loop () {// Citiți continuu valoarea analogică și imprimați-o Serial.println (analogRead (SENSOR)); }

Această schiță imprimă valori la portul serial corespunzător luminozității ambientale. Folosind „Serial Plotter” la îndemână din meniul „Instrumente” din Arduino IDE, pot obține un grafic în mișcare de lumină ambientală! Pe măsură ce acoper și descopăr fototranzistorul cu mâinile, complotul se mișcă în sus și în jos. Grozav!

Această schiță este un mod frumos de a verifica dacă fototranzistorul este conectat cu polaritatea corectă: fototranzistorul va fi mai sensibil atunci când este conectat o direcție față de cealaltă.

Pasul 3: Cablarea cablului Matrix Ribbon la Arduino

Cablarea cablului Matrix Ribbon la Arduino
Cablarea cablului Matrix Ribbon la Arduino

Pentru a conecta matricea la Arduino, am trecut prin acest ghid la îndemână de la Adafruit. Pentru comoditate, am lipit diagrama și pinouts într-un document și am imprimat o pagină de referință rapidă pentru a o folosi în timp ce conectam totul.

Aveți grijă să vă asigurați că fila de pe conector se potrivește cu cea din diagramă.

Alternativ, pentru un circuit mai curat, puteți utiliza ecranul matricei RGB pe care AdaFruit îl vinde pentru aceste panouri. Dacă utilizați scutul, va trebui să lipiți un antet sau fire pentru fototranzistor.

Pasul 4: Conectarea Matrixului

Conectarea matricei
Conectarea matricei
Conectarea matricei
Conectarea matricei
Conectarea matricei
Conectarea matricei

Am înșurubat bornele furcii de pe cablurile de alimentare ale matricei la adaptorul jack, asigurându-mă că polaritatea a fost corectă. Deoarece o parte a terminalelor au fost lăsate expuse, am învelit totul cu bandă electrică pentru siguranță.

Apoi, am conectat conectorul de alimentare și cablul panglică, având grijă să nu deranjez firele jumperului în acest proces.

Pasul 5: Instalați biblioteca AdaFruit Matrix și testați Matrix

Instalați biblioteca AdaFruit Matrix și testați Matrix
Instalați biblioteca AdaFruit Matrix și testați Matrix

Va trebui să instalați „RGB matrix Panel” și AdaFruit „Adafruit GFX Library” în ID-ul dvs. Arduino. Dacă aveți nevoie de ajutor pentru a face acest lucru, tutorialul este cel mai bun mod de a merge.

Vă sugerez să rulați câteva exemple pentru a vă asigura că panoul dvs. RGB funcționează înainte de a continua. Recomand exemplul „plasma_32x32”, deoarece este destul de minunat!

Notă importantă: am constatat că, dacă aș alimenta Arduino înainte de a conecta sursa de 5V la matrice, matricea se va aprinde slab. Se pare că matricea încearcă să atragă puterea de pe Arduino și cu siguranță nu este bine! Deci, pentru a evita supraîncărcarea Arduino, porniți întotdeauna matricea înainte de a porni Arduino!

Pasul 6: Încărcați codul de scanare a matricei

Premiul II la Concursul Arduino 2019

Recomandat: