- Componente necesare:
- Construcția afișajului elicei:
- Circuit și explicație de lucru:
- Explicație de programare:
Ați văzut elice în avioane sau în nave maritime, dacă nu în realitate, atunci în filme cu siguranță. În această sesiune vom proiecta un afișaj cu elice cu Arduino, LED-uri și un motor DC. În acest ecran cu elice, textul va părea să se rotească în formă de elice într-o formă circulară.
Afișajul elicei este într-un fel ca LED Matrix. Conține 8 LED-uri (diode emițătoare de lumină) care sunt aranjate sub forma unei matrice 8 * 1 (8 rânduri și 1 coloană). Acestea sunt aranjate sub formă de scară una peste alta. Aceste 8 LED-uri pot fi făcute pentru a afișa orice conținut, cum ar fi text, numere, simboluri etc. Acest lucru se realizează prin Percepția viziunii (POV), în care multe imagini statice sunt mutate rapid una câte una într-o secvență, ceea ce oferă o percepție a animației sau o imagine în mișcare. Cum se face acest lucru este explicat în tutorialul de mai jos.
Componente necesare:
- Arduino Uno
- Motor DC
- + Baterie LI-ION de 3,6 V
- LED (8 bucăți)
- Rezistor 1KΩ (8 bucăți)
Construcția afișajului elicei:
Mai întâi luați o bază stabilă; Am folosit un vechi DVD DRIVE pe PC care stătea în jur. Puteți obține o scândură de lemn sau o cutie de carton. Apoi faceți o gaură în mijlocul unității DVD (bază) și introduceți axa motorului DC în ea. Asigurați-vă că orificiul este suficient de strâns pentru a ține motorul și motorul se poate roti liber. Am folosit Feviquick pentru a pune axa în poziție.
Sprijiniți partea superioară a motorului pentru a egaliza denivelările inegale. Am folosit o placă cu puncte peste ea și am folosit din nou lipici rapid pentru ao lipi cu motorul de curent continuu.
Atașați bateria LI-ION deasupra. Dacă nu aveți baterie LI-ION de aceeași dimensiune, lăsați-o. După aceea, luați fiecare LED și testați-l cu butonul celulei sau orice altă sursă. Apoi luați niște rezistențe și lipiți-le cu LED-uri, conform imaginii și schemei de circuite prezentate mai jos.
(…)
Conectați LED-urile și rezistențele lipite cu Arduino UNO așa cum se arată în figura de mai jos și schema de circuit.
(…)
Montați UNO pe partea de sus a DC MOTOR și fixați-l cu ajutorul benzii de violoncel pentru a finaliza configurarea. Deci, configurarea finală a elicei va arăta ca mai jos:
Circuit și explicație de lucru:
Afișajul POV controlat de circuitul Arduino este foarte simplu, pur și simplu am conectat 8 LED-uri cu Arduino Uno conform schemei de mai jos.
PORTD, PIN0 ------------------ LED8 TERMINAL POZITIV
PORTD, PIN1 ------------------ LED7 TERMINAL POZITIV
PORTD, PIN2 ------------------ LED6 TERMINAL POZITIV
PORTD, PIN3 ------------------ LED5 TERMINAL POZITIV
PORTD, PIN4 ------------------ LED4 TERMINAL POZITIV
PORTD, PIN5 ------------------ LED3 TERMINAL POZITIV
PORTD, PIN6 ------------------ LED2 TERMINAL POZITIV
PORTD, PIN7 ------------------ LED1 TERMINAL POSITIV
La fel cum adăugăm mai multe coloane în 8x8 LED Matrix pentru a extinde afișajul, în același mod, în loc să adăugăm mai multe LED COLUMNS, mutăm primul LED COLUMN în al doilea loc LED COLUMN folosind mișcarea DC MOTOR
Pentru a înțelege întreaga situație, spuneți că dorim ca „A” să fie afișat de afișajul elicei. Luați în considerare că „acul” LED-ului este la poziția 1 la început, așa cum se arată în figura de mai jos. LED Needle este coloana a 8 LED-uri.
Acum vom alimenta motorul și acesta va începe să funcționeze.
La t = 0ms: acul va fi în POZIȚIE 1. În această poziție, toate cele opt LED-uri, de la TOP LED (MSB) la LED-ul de jos (LSB), sunt pornite.
La t = 1ms: acul va fi la POZIȚIA 2. La fel ca Poziția 1, în această poziție toate cele opt LED-uri, de la LED-ul TOP (MSB) la LED-ul BOTTOM (LSB), sunt pornite.
La t = 2ms: acul va fi la POZIȚIA 3. În această poziție, numai LED-urile 7, LED6 și LED3 rămân aprinse, iar LED-urile rămase sunt stinse.
La t = 3ms: acul va fi la POZIȚIA 4. La fel ca la Poziția 3, în această poziție doar LED7, LED6 și LED3 rămân aprinse și LED-urile rămase sunt stinse.
La t = 4ms: acul va fi la POZIȚIA 5. La fel ca la Poziția 3 și 4, în această poziție doar LED7, LED6 și LED3 rămân aprinse. LED-urile rămase sunt stinse.
La t = 5ms: acul va fi la POZIȚIA 6. În această poziție, toate cele opt LED-uri sunt din nou aprinse, ledul TOP (MSB) la ledul BOTTOM (LSB) sunt aprinse.
La t = 6ms: acul va fi la POZIȚIA 7. La fel ca la Poziția 6, în această poziție toate cele opt LED-uri rămân aprinse.
După cum s-a explicat mai sus, vom aprinde LED-urile corespunzătoare la pozițiile corespunzătoare pentru ac pentru a afișa caracterul necesar. Dacă viteza de mișcare a acului este mică, putem vedea fiecare coloană LED separat. Dar când viteza motorului este mare și acul se mișcă prea repede, afișajul va fi văzut ca afișând continuu caracterul „A”.
Explicație de programare:
Am programat Arduino să alimenteze LED-ul corespunzător la momente adecvate în timp ce se rotește, astfel încât coloana LED să afișeze textul „CIRCUIT DIGEST” în poziție circulară.
Programarea afișajului cu elice este ușor de înțeles. O matrice de caractere de 26x8 a fost luată ca ALPHA de caractere volatile. Această matrice este formată din 8 poziții ale acului pentru a afișa fiecare dintre cele 26 de alfabete, ceea ce îl face să fie matrice de 26x8. 26 de rânduri din matrice reprezintă cele 26 de alfabete și 8 coloane din fiecare rând reprezintă poziția opt a acului pentru a afișa caracterul în timp ce se rotește. Acum fiecare celulă constă dintr-un număr binar care reprezintă starea de pornire / oprire a 8 LED-uri într-o anumită poziție a acului. Amintiți-vă că acul se referă aici la linia de 8 LED-uri conectate la Arduino așa cum s-a explicat mai sus.
Acum trebuie doar să rotiți motorul de curent continuu și să utilizați o „ buclă pentru ” cu opt iterații pentru a afișa un caracter. De exemplu, dacă doriți să afișați 10 caractere, atunci trebuie să rulați 10 ' pentru bucle' cu opt iterații în fiecare. Deci, am folosit 13 pentru bucle pentru a afișa textul CIRCUIT DIGEST. Verificați codul complet al programului de mai jos cu un videoclip demonstrativ.
Deci, astfel puteți crea o frumoasă iluzie de Persistență a Viziunii (POV) cu Arduino, ca și cum un text se rotește ca o elice.