duminică, 9 martie 2014

ANIMATIE MATRICE 8X8 CU ARDUINO SI PROCESING


     In timp ce ma pregateam sa dezasamblez montajul din articolul trecut mi-a venit o idee : ce ar fi daca as trimite date de la PC la Arduino in asa fel incat sa se creeze o animatie pe matricea de leduri?



   La prima vedere parea destul de simplu insa pe masura ce am inceput sa scriu codul pentru PC lucrurile au inceput sa se complice, insa in final am reusit sa ating obiectivul propus.
    Ideea este urmatoarea: se pot inregistra maxim 8 frameuri, care printr-o simpla apasare de buton vor fi trimise prin interfata seriala catre Arduino acesta ruland fiecare frame o anumita perioada de timp, apoi trecand la urmatorul. Cum niste imagini fac mai mult decat 1000 de cuvinte sa vedem cum functioneaza programul:

BUTOANE DE COMANDA

     Asadar dupa alegerea tiparului (apsand ledurile dorite a fi aprinse pentru frame-ul respectiv) se apasa butonul "REC" . Se va observa ca dupa apsarea acestuia se vor intampla doua lucruri : primul culoarea numarului "FRAME CURENT" se va schimba in verde, semn ca frameul este inregistrat iar al doilea lucru care se intampla este ca vom putea trece la frame-ul urmator prin apasarea butonului ">>" :

PRIMUL FRAME

     Dupa inregistrare se poate trece la frame-ul urmator unde pentru o mai usoara orientare a fost deja copiat frameul anterior fara insa a fi inregistrat (se observa culoarea alba a numarului de frame):

FRAME-UL 2 NEINREGISTRAT


     Dupa editarile aferente se inregistreaza si acest frame :


FRAME-UL 2 INREGISTRAT
     Se continua acest algoritm pentru un numar de maximum 8 frame-uri iar cand cand au fost terminate inregistrarile se trimit catre Arduino apasand butonul "SEND".  Dupa primirea datelor, Arduino va rula programul independent de Processing, adica datele sunt salvate in ram. Daca se doreste stocarea definitiva a unui anumit tipar, acesta poate fi salvat in eeprom-ul lui Arduino. Eu nu mi-am batut prea tare capul cu asta deoarece am fost interesat doar de metoda propriu-zisa de comunicare. 
     Daca a fost gresit introdus unul din frame-uri sau daca se doreste modificarea tiparului butoanele "<<" si ">>" ne permit navigarea pana la frame-ul dorit. O data ajunsi acolo realizam modificarile dupa care le inregistram si le trimitem mai departe lui Arduino. Destul de simplu zic eu...  

      Deoarece codul este destul de lung si greu de urmarit voi atasat arhiva cu codurile sursa care se poate descarca de (download AICI (HERE) .

      Enjoy !!

Un comentariu:

  1. Hello Cristian,
    First of all: Your project is great!!
    I've downloaded the files ad made some mods, i would like to give you my version and also asking some tips but i Can't find your e-mail; mine is federico.trucchia@network.rca.ac.uk
    write to me if you want
    Best
    F.

    RăspundețiȘtergere