Persistence of Vision

Autor: Stoica Vlad Marian 331CB

Introducere

Proiectul își propune crearea unui dispozitiv de tip ”persistence of vision”. Prin aprinderea consecutivă a led-urilor, ochiul percepe lumina pentru mai mult timp decât durata ei adevarata, putând fi afișate diferite texte/imagini sub forma unei mișcări continue. Folosind această iluzie, se pot implementa diferite efecte vizuale, poate chiar si un joc de tipul snake, folosind un controller sau o telecomanda cu IR.

Persistance of vision este o iluzie optică ce apare atunci când ochiul uman percepe durata unei imagini pentru mai mult timp decât stimulul vizual.

Descriere Generala

Hardware Design

  • Arduino Nano V3
  • Mini-breadboard
  • Kit telecomanda IR
  • Motor 220V
  • Fire conectoare
  • Led-uri RGB
  • Placa PCB pentru Led-uri
  • Rezistențe (100 ohm)
  • Variator de tensiune in CA

Schema electrica a circuitului pentru led-uri si arduino:

Circuitul acesta este montat pe o placuta de lemn, echilibrata pe varful motorului. Motorul are aproximativ 18000 rpm, fiind foarte puternic, de accea este nevoie de un variator de tensiune.

Dupa ce s-a realizat tot montajul din imaginea de mai sus pe placuta de lemn, aceasta se echilibreaza in varful motorului, pentru a gasi centrul de greutate, eliminand posibile dezechilibrari din momentele in care proiectul functioneaza.

Schema motor si potentiometru:

Software Design

Pentru implementarea software, pinii de output sunt setati in “setup”. Se face import si la o biblioteca speciala pentru a putea folosi telecomanda cu IR.

Se creeaza o functie de display in care led-urile se aprind in functie de litera pe care dorim sa o formam. Fiecare litera are un coding anume, iar in “loop”, se face o bucla si se itereaza pe fiecare litera a unui text pe care dorim sa il afisam.

Pentru a implementa un joc precum snake, este necesara aprinderea unui singur led si “mutarea” lui printr-un field bine determinat.

Pentru axa Oy, trebuie doar facut switch pe led-urile aprinse.

Pentru axa Ox, este necesara determinarea unui punct de start si unul de finish (daca nu se doreste afisarea pe toata suprafata “cilindrului” format).

Astfel, se creeaza o variabila de timp (dTime) care spune dupa cat timp sa se aprinda din nou led-ul pentru a da efectul ca se muta mai in fata sau mai in spate. Pentru a mari snake-ul, se face un array cu punctele care trebuie aprinse, fiind o diferenta de dTime intre aprinderea lor.

Rezultate Obținute

In urma realizarii montajului din imaginile de mai sus, am obtinut urmatorul efect:

https://youtube.com/shorts/I6Z6alyv5B4?feature=share

https://youtube.com/shorts/t8sv051SXwk

Led-urile nu sunt programate inca si camera nu poate tine pasul cu viteza la care motorul se roteste.

Concluzii

In urma realizarii proiectului, una din concluziile trase este ca partea Hardware pentru un proiect mai avansat necesita multa fizica si intelegere a functionarii tuturor pieselor.

De asemenea, pentru fiecare piesa fizica, este necesara cunoasterea si citirea specificatiilor inainte de inceperea realizarii montajului (ca sa nu va dati comanda de un motor prea slab si rezistente care nu se potrivesc led-urilor…cum am facut eu :O ).

Rezultatul este unul multumitor, am invatat cum sa fac un dispozitiv care are un “joc de lumini” cool. 8-)

Download

Jurnal

  • 05.04.2022 - Studierea tematicii proiectului si a pieselor necesare
  • 15.04.2022 - Au ajuns piesele pentru proiect
  • 20.05.2022 - Finalizarea partii Hardware a proiectului
  • 27.05.2022 - Finalizarea partii Software a proiectului

Bibliografie/Resurse

pm/prj2022/dene/pov.txt · Last modified: 2022/05/30 15:09 by vlad_marian.stoica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0