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 |
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 |
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 !!
Hello Cristian,
RăspundețiȘtergereFirst 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.