Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:amocanu:panou_de_afisaj_pe_matrici_led [2022/05/23 22:28]
alexandru.serban00 [Introducere]
pm:prj2022:amocanu:panou_de_afisaj_pe_matrici_led [2022/05/23 23:13] (current)
alexandru.serban00 [Download]
Line 10: Line 10:
 <note tip> <note tip>
 Prezentarea pe scurt a proiectului:​ Prezentarea pe scurt a proiectului:​
-  * Panou format din 8 matrici 8 x 8 LED-uri.  +  * Panoul este format din 8 matrici 8 x 8 LED-uri, afisarea facandu-se prin deplasarea textului la stanga (scroll stanga).  
-  * Permite afisarea de mesaje transmise prin bluetooth din smartphone, sau folosind serial monitor sau preluate ​din SD card, respectiv ora exacta.+  * Permite afisarea de mesaje transmise prin bluetooth din smartphone, sau folosind serial monitorsau prin preluare ​din SD card, respectiv ora exacta.
   * Este util pentru vizualizarea de informatii in diverse locuri publice in conditii naturale de iluminare.   * Este util pentru vizualizarea de informatii in diverse locuri publice in conditii naturale de iluminare.
   * Sursele de informatii afisate sunt diverse si pot fi schimbate cu usurinta.   * Sursele de informatii afisate sunt diverse si pot fi schimbate cu usurinta.
Line 128: Line 128:
  
   * **Mediul de dezvoltare folosit**: ​ Arduino IDE   * **Mediul de dezvoltare folosit**: ​ Arduino IDE
 +
  
   * **Biblioteci folosite**:   * **Biblioteci folosite**:
Line 142: Line 143:
  
 DS3231 - implementeaza functii pentru operarea cu circuitul RTC DS3231 DS3231 - implementeaza functii pentru operarea cu circuitul RTC DS3231
 +
  
    * **Sumarul comenzilor implementate in software-ul realizat**    * **Sumarul comenzilor implementate in software-ul realizat**
Line 166: Line 168:
  
 #​10<​ENTER> ​ afisare pe video invers. #​10<​ENTER> ​ afisare pe video invers.
 +
 +
 +
 +  * **Conceptul programului software**:
 +
 +Programului realizat pentru Arduino in vederea gestionarii Panoului de afisaj cu matrici LED este bazat pe urmatoarele:​
 +
 +- in functia setup se initializeaza diverse componente folosite: panoul de afisaj si parametrii de afisare (intensitate luminoasa, viteza scoll text), comunicatia seriala cu modulul bluetooth, respectiv cu serial monitor, comunicatia prin I2C;
 +
 +- in functia principala loop se asteapta comanda ce trebuie executata fie de la bluetooth, fie de la serial monitor, aceasta se parseaza si se aplica functiei ce realizeaza afisarea pe matricea de LED-uri.
 +
 +Pentru parsarea comenzii primite si executia acesteia au fost implementate o serie de functii (14 la numar) care sunt apelate in mod corespunzator:​
 +
 +  * String splitStr(String strToSplit, char sep, int noToken) - functie pentru aflarea token-ului cu indice noToken obtinut dupa split-uirea stringului strToSplit delimitat de separatorul sep;
 +
 +  * String copyStr(String strToCopy) - functie pentru copierea continutului unui string in alt string;
 +
 +  * void strRemoveNLCR(String &​strNLCR) - functie pentru stergerea caracterelor NL si CR de la finalul unui string;
 +
 +  * bool isNumStr(String strNum) - functie care verifica daca un string este de tip numeric (contine doar cifre);
 +
 +  * int readCmdStr(String &​strCmdValue,​ String strDisplay) - functie care afla tokenii in urma split-uirii unui string ce reprezinta comanda data (delimitat de spatiu);
 +
 +  * void getEnvData(String &​strDisplay) - functie care citeste circuitul RTC (timp, data, temperatura);​
 +
 +  * void setEnvData(String &​strDisplay) - unctie care programeaza RTC (timp si data);
 +
 +  * bool updateTimeCommand(String &​strDisplay) - functie care seteaza string-ul cu datele de la RTC actiualizate;​
 +
 +  * bool checkSD() - functie care verifica daca SD card a fost initializat;​
 +
 +  * void readSD(String &​strDisplay,​ String fileName_SD) - functie care citeste fisier din SD card;
 +
 +  * void writeSD(String &​strDisplay,​ String writeStr_SD,​ String fileName_SD) - functie care scrie in fisierul din SD card;
 +
 +  * void removeFileSD(String fileName_SD) - functie care sterge fisier din SD card;
 +
 +  * void listDirSD(File dir) - functie care listeaza fisierele si directoarele din radacina SD card la serial monitor si la bluetooth;
 +
 +  * void parseCommand(String &​strDisplay) - functie care determina tipul comenzii primite si retine rezultatul acesteia in string-ul strDisplay.
 +
  
 </​note>​ </​note>​
Line 190: Line 233:
 ===== Concluzii ===== ===== Concluzii =====
  
-Toate functionalitatile proiectate pentru panoul de afisaj cu matrici LED au fost implementate cu succes si acesta poate fi folosit in scopuri de afisare mesaje in diverse spatii.+Toate functionalitatile proiectate pentru panoul de afisaj cu matrici LED au fost implementate cu succes si acesta poate fi folosit in scopuri de afisare mesaje in diverse spatii ​chiar in conditii naturale de iluminare.
  
 Proiectul a reprezentat o buna oportunitate pentru a exersa proiectarea si realizarea concreta a unui sistem embedded avand module conectate prin principalele interfete de comunicatii (UART, SPI si I2C). Proiectul a reprezentat o buna oportunitate pentru a exersa proiectarea si realizarea concreta a unui sistem embedded avand module conectate prin principalele interfete de comunicatii (UART, SPI si I2C).
Line 199: Line 242:
  
 <note warning> <note warning>
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării ​proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script ​de compilare şi copiere automată ​pe uC crează întotdeauna o impresie bună ;-).+Arhiva ​proiectului ​Panou de afisaj ​pe matrici LED 
 + 
 +{{:​pm:​prj2022:​amocanu:​panou_afisaj_pe_matrici_led.zip|}}
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. 
 </​note>​ </​note>​
  
pm/prj2022/amocanu/panou_de_afisaj_pe_matrici_led.1653334124.txt.gz · Last modified: 2022/05/23 22:28 by alexandru.serban00
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