This is an old revision of the document!


ColorTrack - Color Quality Logger

Sistem embedded pentru verificarea culorii și jurnalizarea detecțiilor

Autor: Greere Stefan
Grupa: 334CA

Introducere

ColorTrack este un sistem embedded bazat pe microcontrollerul ATmega328P, proiectat pentru verificarea culorii unor obiecte, etichete sau ambalaje în cadrul unui proces simplu de control al calității.

Ideea proiectului pornește de la un scenariu practic în care culoarea unui obiect trebuie verificată rapid și consecvent. De exemplu, într-un proces de producție sau sortare, anumite piese pot trebui identificate ca fiind roșii, verzi sau albastre, iar rezultatele verificărilor și numarul exemplarelor trebuie păstrate pentru consultare ulterioară. Astfel, ColorTrack poate fi privit ca un prototip de sistem de control al calității la scară redusă, în care culoarea unui obiect este verificată automat, iar rezultatul este salvat pentru trasabilitate.

Față de un detector simplu de culoare, proiectul adaugă o componentă de jurnalizare. Fiecare detecție este înregistrată într-un fișier de pe cardul microSD, împreună cu momentul măsurării de la apăsarea butonului de start și valorile citite de la senzor. Astfel, dispozitivul poate fi folosit nu doar pentru afișarea instantanee a culorii, ci și pentru păstrarea unui istoric al verificărilor.

Scopul proiectului este realizarea unui sistem capabil să:

  • detecteze culoarea dominantă a unui obiect;
  • afișeze rezultatul pe un ecran LCD;
  • semnalizeze culoarea detectată printr-un LED RGB;
  • transmită informații prin interfața serială pentru debugging;
  • salveze fiecare detecție pe un card microSD;
  • permită consultarea ulterioară a istoricului de verificări.

Descriere generală

ColorTrack funcționează ca un sistem simplu de verificare a culorii unui obiect. Utilizatorul plasează obiectul în fața senzorului de culoare și pornește procesul de detecție folosind un buton. Microcontrollerul citește semnalul furnizat de senzor, determină culoarea dominantă și afișează rezultatul pe LCD.

În paralel, sistemul aprinde LED-ul corespunzător culorii detectate și transmite informații prin interfața serială. Pentru păstrarea istoricului verificărilor, fiecare detecție este salvată într-un fișier pe cardul microSD.

Datele salvate pe cardul microSD pot avea un format de tip CSV:

timp_ms,culoare,red,green,blue
1532,ROSU,34,72,81
8120,VERDE,70,28,64
12450,ALBASTRU,91,78,29

Modulele principale ale sistemului sunt:

  • microcontrollerul ATmega328P - coordonează întregul sistem;
  • senzorul TCS230 - detectează culoarea obiectului;
  • LCD-ul 1602 I2C/TWI - afișează culoarea detectată și starea sistemului;
  • LED-ul RGB - oferă feedback vizual rapid;
  • modulul microSD - salvează istoricul detecțiilor;
  • butonul de start - pornește procesul de verificare;
  • interfața serială - permite afișarea informațiilor pentru debugging și monitorizare.

Fluxul general de funcționare este următorul:

  1. sistemul este alimentat și inițializează modulele hardware;
  2. utilizatorul apasă butonul de start;
  3. obiectul este plasat în fața senzorului de culoare;
  4. senzorul furnizează valorile corespunzătoare componentelor de culoare;
  5. microcontrollerul determină culoarea dominantă;
  6. rezultatul este afișat pe LCD;
  7. LED-ul corespunzător este aprins;
  8. datele sunt trimise prin interfața serială;
  9. detecția este salvată pe cardul microSD.

Hardware Design

Componente folosite

Componentă Cantitate Scop
Microcontroller ATmega328P 1 Unitatea centrală a proiectului; coordonează citirea senzorului, afișarea rezultatului și salvarea datelor.
Senzor de culoare TCS230 1 Detectează culoarea obiectului prin măsurarea componentelor roșu, verde și albastru.
LCD 1602 cu interfață I2C 1 Afișează culoarea detectată și starea sistemului.
Modul microSD 1 Permite conectarea cardului microSD la microcontroller prin SPI.
Card microSD 1 Stochează fișierul de log cu istoricul detecțiilor.
LED RGB 1 Semnalizează vizual culoarea detectată folosind canalele roșu, verde și albastru.
Rezistențe pentru LED 3 Limitează curentul prin cele trei canale ale LED-ului RGB.
Buton 1 Declanșează procesul de detecție a culorii.
Breadboard 1 Permite realizarea și testarea montajului fără lipire.
Fire jumper mai multe Realizează conexiunile dintre microcontroller și modulele proiectului.
Sursă de alimentare 1 Alimentează microcontrollerul și modulele conectate.
Interfață de programare pentru microcontroller 1 Permite încărcarea firmware-ului pe microcontroller.

Senzor de culoare TCS230

Senzorul de culoare este folosit pentru determinarea culorii dominante a obiectului plasat în fața sa. Acesta are pini pentru selectarea filtrului de culoare și un pin de ieșire pe care se obține un semnal digital dependent de culoarea detectată.

În cadrul proiectului, senzorul va fi folosit pentru citirea componentelor roșu, verde și albastru. Pe baza valorilor obținute, microcontrollerul va decide culoarea dominantă a obiectului verificat.

LCD 1602 I2C/TWI

LCD-ul este folosit pentru afișarea rezultatului detecției și a stării sistemului. Utilizarea interfeței I2C/TWI reduce numărul de pini necesari pentru conectarea ecranului la microcontroller.

Pe LCD pot fi afișate mesaje precum:

ColorTrack
Asteptare...

sau:

Culoare:
ROSU

Modul microSD

Modulul microSD este folosit pentru salvarea istoricului detecțiilor. Comunicarea cu microcontrollerul se realizează prin SPI.

Cardul microSD permite păstrarea unui fișier de log care poate fi analizat ulterior pe calculator. Acest lucru este important pentru partea de trasabilitate a proiectului, deoarece fiecare verificare poate fi salvată.

Fișierul de log poate conține:

  • timpul scurs de la pornirea sistemului;
  • culoarea detectată;
  • valorile citite de la senzor;
  • eventual un identificator al detecției.

LED RGB

LED-ul RGB este folosit pentru semnalizarea vizuală a rezultatului. Pentru fiecare culoare detectată, sistemul aprinde LED-ul in culoarea corespunzătoare: Acest feedback vizual permite utilizatorului să observe rapid rezultatul verificării, fără a urmări permanent LCD-ul sau terminalul serial.

Buton de start

Butonul este folosit pentru declanșarea procesului de verificare. Utilizatorul poate plasa obiectul în fața senzorului și apoi poate porni citirea prin apăsarea butonului.

Această abordare este utilă pentru controlul calității, deoarece fiecare detecție este declanșată explicit și poate fi salvată ca intrare separată în jurnal.

Interfață serială

Interfața serială este folosită pentru debugging și monitorizare. Prin aceasta se pot transmite către calculator informații despre starea sistemului, valorile citite de la senzor și culoarea detectată.

Alimentare

Sistemul este alimentat de la o sursă externă sau prin intermediul plăcii de dezvoltare folosite. Modulele trebuie alimentate conform specificațiilor lor, având grijă în special la modulul microSD, deoarece cardurile microSD funcționează la 3.3V.

Software Design

Această secțiune va fi completată în etapa dedicată implementării software.

Pentru moment, aplicația este gândită ca un firmware modular, care va controla perifericele microcontrollerului și va coordona procesul de detecție, afișare și jurnalizare.

Mediul de dezvoltare planificat:

  • avr-gcc;
  • avr-libc;

Module software planificate:

  • modul pentru inițializarea și controlul pinilor GPIO;
  • modul pentru citirea senzorului de culoare;
  • modul pentru afișarea mesajelor pe LCD prin I2C/TWI;
  • modul pentru comunicația SPI cu cardul microSD;
  • modul pentru transmiterea mesajelor prin interfața serială;
  • modul pentru gestionarea stărilor sistemului;
  • modul pentru salvarea detecțiilor într-un fișier de log.

Logica aplicației va fi organizată în jurul unor stări principale:

  • așteptare;
  • detecție;
  • afișare rezultat;
  • salvare pe cardul microSD;
  • tratare erori.

Detaliile de implementare, structura codului, funcțiile folosite și eventualele biblioteci externe vor fi documentate în milestone-ul dedicat părții software.

Rezultate Obţinute

Această secțiune va fi completată după realizarea montajului și testarea sistemului.

Rezultatele urmărite sunt:

  • detectarea corectă a culorilor principale;
  • afișarea rezultatului pe LCD;
  • aprinderea LED-ului corespunzător culorii detectate;
  • transmiterea datelor prin interfața serială;
  • salvarea detecțiilor într-un fișier pe cardul microSD;
  • obținerea unui jurnal de verificări care poate fi analizat ulterior.

Exemplu de rezultat așteptat pe LCD:

Culoare:
VERDE

Exemplu de rezultat așteptat în fișierul de log:

timp_ms,culoare,red,green,blue
1532,ROSU,34,72,81
8120,VERDE,70,28,64
12450,ALBASTRU,91,78,29

Vor fi adăugate poze cu montajul final, schema electrică și exemple de fișiere generate pe cardul microSD.

Concluzii

ColorTrack propune un sistem embedded pentru verificarea culorii unor obiecte și salvarea rezultatelor într-un jurnal de detecții. Proiectul are o utilitate practică în zona de control al calității la scară redusă, unde culoarea unui obiect poate fi un criteriu de validare sau sortare.

Prin acest proiect sunt integrate mai multe componente hardware și protocoale de comunicație. Senzorul de culoare furnizează informațiile necesare pentru identificarea obiectului, LCD-ul și LED-urile oferă feedback utilizatorului, iar modulul microSD permite salvarea rezultatelor pentru analiză ulterioară.

Un avantaj important al proiectului este faptul că rezultatele nu sunt doar afișate temporar, ci sunt păstrate într-un fișier. Astfel, sistemul poate fi folosit pentru trasabilitate, verificări repetate și analiză ulterioară.

Limitarea principală a variantei de bază este faptul că sistemul nu salvează ora reală, ci doar timpul scurs de la pornire. Pentru salvarea datei și orei reale, proiectul poate fi extins prin adăugarea unui modul RTC.

Posibile îmbunătățiri viitoare:

  • adăugarea unui modul RTC pentru dată și oră reală;
  • adăugarea unui servomotor pentru sortare automată;
  • calibrare automată a senzorului;
  • detectarea unui număr mai mare de culori;
  • realizarea unei carcase pentru poziționarea constantă a obiectului față de senzor;
  • generarea unor statistici pe baza fișierului de log.

Download

Această secțiune va fi completată la finalul proiectului.

Arhiva finală va conține:

  • codul sursă al proiectului;
  • schema electrică;
  • schema bloc;
  • poze cu montajul;
  • fișier README;
  • eventual un exemplu de fișier de log generat pe cardul microSD.

Jurnal

Săptămâna 1

Am ales tema proiectului și am stabilit direcția generală: un sistem de verificare a culorilor pentru aplicații simple de control al calității.

Săptămâna 2

Am stabilit componentele principale ale sistemului: microcontroller ATmega328P, senzor de culoare TCS230, LCD 1602 I2C, LED RGB, modul microSD si am comandat piesele necesare.

Săptămâna 3

Am definit utilitatea practică a proiectului și am realizat schema bloc a sistemului si documentatia.

* Mai departe se va completa sectiunea pe parcurs.

Bibliografie/Resurse

Resurse Hardware

  • Datasheet ATmega328P;
  • Datasheet TCS230 Color Sensor;
  • Documentație LCD 1602 cu interfață I2C;
  • Documentație modul microSD;
  • Documentație protocol SPI;
  • Documentație protocol I2C/TWI;
  • Documentație USART pentru microcontrollere AVR.

Resurse Software

  • Documentație avr-gcc;
  • Documentație avr-libc;
  • Exemple pentru comunicație SPI pe AVR;
  • Exemple pentru comunicație I2C/TWI pe AVR;
  • Exemple pentru comunicație USART pe AVR;
  • Documentație pentru lucrul cu sisteme de fișiere FAT/FAT32 pe card SD.

Export to PDF

pm/prj2026/vlad.radulescu2901/ioan_stefan.greere.1778265452.txt.gz · Last modified: 2026/05/08 21:37 by ioan_stefan.greere
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