Iulian PANĂ - Nume proiect

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Acest proiect isi propune sa ofere o animatie bazata pe fenomenul Persistance Of Vision(fun facts la [1]),fenomen definit stiintific ca fiind fenomenul de inertie a retinei care face ca o imagine sa persiste pe retina circa 1/25 sec.

Acest fenomen sta la baza multor animatii si efecte vizuale interesante,ceea ce m-a determinat sa aleg aceasta tema.Datorita timpului si resurselor limitate am ales o animatie relativ simpla si anume un ceas digital.

Descriere generală

Schema bloc a proiectului are urmatoarele module principale:

  • Alimentarea - va furniza tensiunea de alimentarea a ansamblului de componente.
  • Motor - va produce rotatia ansamblului de componente.
  • Bara de leduri - va fi controlata de microcontroler pentru a se genera animatia bazata pe fenomenul POV.
  • Microcontrolerul - va controla activitatea ledurilor.
  • Convertor LM7805 - va produce tensiunea corecta de alimentare a microcontrolerului(5V).

Schema bloc software:

Hardware Design

Lista de piese:

  • 9 LED-uri rosii
  • 9 rezistente 2K2
  • 2 baterii de 9V
  • placuta cu cablaj imprimat PM2015
  • placuta de test
  • adaptor baterie 9V cu mufa jack
  • cooler
  • 40 conectori de tip pini headeri
  • generator pentru alimentare cooler 12V

Schema electrica:

Software Design

Pentru programarea microcontrolerului am folosit limbajul C și WinAvr.

Programul consta in definirea unei matrici de patternuri,fiecare linie din matrice corespunzand unei cifre ce trebuie afisata, si afisarea acestora cu un delay corespunzator in functie de necesitati.

Datorita faptului ca ventilatorul are sensul de rotatie invers acelor de ceasornic, in bucla inifinita am afisat formatul hh:mm:ss de la sfarsit la inceput. Afisarea se face efectiv prin activarea ledurilot conectate pe porturile B si D.

Pentru a incrementa numarul de secunde am setat un timer care sa genereze o intrerupere la fiecare secunda(exemplu la [x]) si in tratarea ei incrementez niste variabile globale corespunzatoare secundei,minutului si orei. De asemenea am implementat si o functie de setare a ceasului,practic putem seta ora dorita de la care se incepe afisarea.

Rezultate Obţinute

Rezultatul a fost un proiect functional, insa din cauza faptului ca acesta nu are o viteza de rotatie constanta ceasul afisat se roteste usor.Am incercat sa compensez viteza de rotatie mai scazuta datorata greutatii placii prin delay-uri cat mai mici la afisarea unei cifre, insa nu am reusit 100% acest lucru.

Concluzii

  • Proiectul este foarte interesant si momentan afiseaza informatii rudimentare.
  • O sa incerc ca pe vara sa dezvolt animatii mai interesante.
  • Problema este fixarea ansamblului, orice oscilatie provenita din neechilibrarea placii se traduce in probleme la afisare.O sa incerc sa gasesc o solutie la problema asta.

Download

Codul sursa:pov_sursa.zip

Bibliografie/Resurse

pm/prj2015/iantoche/pov-clock.txt · Last modified: 2021/04/14 17:07 (external edit)
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