Ionuţ-Cornel NICA (78390) - POV

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

  • Proiectul consta in creearea efectului Persistence of Vision(POV).
  • Scopul este realizarea unui dispozitiv ce are atasat o coloana de led-uri si care se roteste foarte rapid prin intermediul unui motor ce are ca efect formarea unei imagini text. Rezultatul se obtine prin suprapunerea mai multor imagini similare, deoarece acestea nu se pot distinge de ochiul uman la o succesiunea mai rapida de 0.1 secunde.
  • Ideea am preluat-o din arhiva cu proiecte mai vechi si mi s-a parut o modalitate interesanta de a reda imagini sau creea animatii fara a folosi un ecran propriu zis.

Descriere generală

Schema Bloc:

  • Suportul rotativ va contine placuta cu microcontroler-ul, o placuta separata ce contine Led-uri de aceeasi culoare si o baterie(probabil de 9V);
  • Suportul este conectat la un motor pentru a efectua rotirea acestuia la o viteza foarte mare pentru a creea efectul vizual;
  • Sursa are ca scop alimentarea motorului pentru a controla viteza lui de rotatie;
  • Voi utiliza un senzor Hall si un magnet pentru a recalcula rpm ale motorului, pentru a recalibra dispozitivul( aprinderea ledurilor );

Hardware Design

Lista de piese:

  • Placa de baza:
    • microcontroler ATmega324;
    • piesele de baza;
  • Placa cu Led-uri:
    • 8 led-uri de aceeasi culoare;
    • 8 rezistente de 470;
    • conector la placa de baza;
  • Motor 9V DC;
  • Baterie 5V pentru alimnetare placa de baza;
  • Baterie 9V pentru motor conectata la intrerupator;
  • Suport pentru a prinde motorul cu celelalte component;
  • Modul cu Senzor Hall YS-27;
  • Magnet;
  • Intrerupator pentru a porni motorul, ON/OFF;

Schema Electrica:

Software Design

Mediu de dezvoltare:

  • limbaj de programare: C;
  • am utilizat compilatorul oferit de AtmelStudio pentru a obtine fisierul .hex;
  • am folosit HIDBootFlash pentru a incarca fisierul .hex pe AtMega;
  • editor: AtmelStudio;

Detalii implementare:

  • am utilizat o matrice de litere din anii trecuti pentru a scrie text;
  • fiecare litera este reprezentata pe 5 bytes;
  • fiecare byte reprezinta o configuratie(high/low) pentru fiecare dintre cele 8 leduri;
  • text-ul pe care doresc sa-l afisez este definit static;
  • mai folosesc un vector in care tin fiecare byte din text plus spatiile dintre litere;
  • ledurile sunt setate conform configuratiiolr din vector la fiecare intrerupere:
    • cauzata de un timer ales special;
    • cauzata de trecerea prin dreptul unui magnet a senzorului Hall;
  • folosesc un timer setat in mod CTC, TOP OCR1A si prescaler 1024 pt a incetini counter-ul;

Rezultate Obţinute

Motor + intrerupator: motor.jpg Supportul Rotativ: suport.jpg Motor + suport: motorsisuport.jpg Rezultatul final: suportfinal.jpg rezultatfinal.jpg

Concluzii

Proiectul a fost destul de interesant. Parte cea mai grea a fost motajul realizat si echilibrarea suportului rotativ. Codul scris pentru aprinderea ledurilor nu a reprezentat o problema, intrucat am gasit multe tutoriale si proiecte din anii trecuti care ofereau destule informatii. Nu am reusit totusi sa realizez o afisare perfecta, folosndu-ma de senzorul Hall pentru determinarea unei rotati.

Download

Jurnal

Bibliografie/Resurse

pm/prj2018/dghilinta/nicaionut.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