Cum salvam date in EEPROM si cum le citim si utlilizam

Discutii despre placile de dezvoltare compatibile Arduino
User avatar
Levy
Gold User
Posts: 1540
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Cum salvam date in EEPROM si cum le citim si utlilizam

Unread postby Levy » 06 Mar 2022 19:00

Dupa cum scrie in titlu, ne vom ocupa de salvarea datelor in EEPROM, pentru mine este prima incercare. :haha:

Ideea mi-a venit saptamana trecuta, cand avand de lucru cu niste proiectoare RGB, care erau comandate de telecomenzi cu infrarosu, am avut neplacuta surpriza, ca dupa pornire aceste proiectoare intotdeauna porneau pe culoarea rosie, dupa care culorile erau complet aleatorii. Cu asa ceva, era destul de greu de proiectat culorile drapelului Ukrainei pe o cladire. Deci explicat mai detaliat, dupa ce se setau culorile la fiecare proiector in parte, dupa ce decuplai tensiunea si porneau proiectoarele, nu mai aveai drapelul, ci culori in ordine aleatoare, porneau pe rosu, dupa care lua lucorile la rand. In primul rand nu era o culoare statica (se schimbau continuu) iar in al doilea rand nu memora ultima culoare, sau o culoare memorata pe care o doreai, astfel incat sa poti proiecta ce culori vrei pe pereti.

M-am gandit ca nu poate fi atat de complicata memorarea culorii a nuantei si a luminozitatii proiectorului, si pentru asta am incercat sa fac asta in Arduinoi in loc de proiectoare, pentru teste am folosit o bucata de banda WS2812B la 5V, ramasa din alt proiect. Mai multe detalii despre acel priect aici. Dar sa revenim la oile noastre, adica la ledurile noastre.

Schema electrica o puteti vedea aici:

Image

Iar codul pe care l-am incarcat in Arduino i-l puteti gasi aici, sau in descrierea videoclipului.

Un videoclip scurt cu functionarea acestui mic montaj.

phpBB [video]


Necesar pentru o realizare rapida a acestuia aveti nevoie de:

- un breadboard
Image

- un modul sursa de alimentare 5V pentru arduino
Image

- un arduino nano sau un alt microcontroled compatibil
Image

- un senzor de infrarosu
Image

- o telecomanda in infrarosu
Image

- o bucata de banda led WS2812B la 5V, eu am avut doar 39 de leduri pe sir
Image

- cateva fire, pentru conexiuni
Image

Montajul este de dificultate minima, astfel cred ca orice incepator i-l poate realiza, intr-un timp relativ scurt, si cu investitii minime.
Se poate folosi orice telecomada cu infrarosu, insa in cazul folosirii unei alte telecomenzi decat cea din acest video, va fi necesara capturarea cheilor in consola seriala, este inclusa si aceea parte in codul acestui montaj, si inlocuirea tastelor din acest cod cu cele pe care le vreti de la telecomanda diferita.

Spor la bricolat ! :drink2:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
delta2k2
Site Admin
Posts: 1990
Joined: 11 Sep 2013 15:18
Location: Over the rainbow ...

Re: Cum salvam date in EEPROM si cum le citim si utlilizam

Unread postby delta2k2 » 07 Mar 2022 14:56

Doar o completare privind EEPROM size:

ATmega328P are 1024 bytes
ATmega168 and ATmega8 are 512 bytes
ATmega1280 and ATmega2560 are 4 KB (4096 bytes)

Deci, atenție la ce adresă scrieți datele.
User avatar
Levy
Gold User
Posts: 1540
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Cum salvam date in EEPROM si cum le citim si utlilizam

Unread postby Levy » 07 Mar 2022 20:42

In acest caz a fost folosit un arduino nano cu un microcontroler ATmega328P.

ATENTIE !!!
In acest video si in documentatie, a intervenit o eroare !
Pentru ca schema electrica am facut-o in tinkercad, sirul de leduri adresabile, are terminalele desenate in tinkercad in mod cu totul altfel decat sint ele dispuse in realitate !

Nu stiu daca in realitate exista sir de leduri care sa aiba conexiunile in acest fel.
Image

In realitate, sirul de leduri, cel putin pe care-l am acum la dispozitie, are conexiunile in acest fel
Image
Care dupa cum vedeti, este complet diferit de cea din tinkercad !

Deci, daca vreti sa faceti acest test, atentie la ce scrie pe banda led pe care o aveti la dispozitie, si conectati corect
GND la GND,
+5V la +5V
si pinul de control, la pinul digital definit in softwareul incarcat in arduino.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1540
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Cum salvam date in EEPROM si cum le citim si utlilizam

Unread postby Levy » 07 Mar 2022 21:08

Ca o curiozitate, am sa pun si preturile componentelor, care au fost cumparate acum cateva luni, si deja nu le mai gasim la asemenea preturi, nici macar pe AliExpress.

Image

Image

Image

Image
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image

Return to “Arduino”

Who is online

Users browsing this forum: No registered users and 8 guests