Color Sorter

Ioniță Elena-Silvia
331CC

Introducere

Proiectul constă în realizarea unui sistem care sortează pe culori diverse lucruri mici (mingii colorate, bomboane, nasturi, mărgele, pastile) cu ajutorul unei plăcuțe Arduino.

Scopul proiectului este ca senzorul de culoare să identifice corect culorile și să le separe în recipiente specifice culorii.

Un astfel de sistem poate fi utilizat în diverse aplicații industriale, cum ar fi sortarea produselor în fabrici, reciclarea materialelor sau chiar în agricultură pentru sortarea fructelor și legumelor.

Descriere generală

Ca o scurtă prezentare, sistemul de sortare se bazează pe următorul mecanism: obiectele vor cădea pe o platforma atașată la servomotorul de sus. După ce senzorul de culoare scanează culoarea, servomotorul de jos se rotește conform culorii selectate, apoi servomotorul de sus deschide trapa pentru a putea cădea obiectul colorat. Ulterior procesul se va repeta până când termină toate obiectele de sortat sau până când este întrerupt de utilizator.

Hardware Design

Listă de piese:

  • Placa de dezvoltare compatibilă Arduino Nano v3
  • Senzor culoare TCS3200
  • 2 x Servomotor SG90
  • Breadboard 400 puncte
  • Fire

Schemă electrică:

Schema fizica:

Software Design

Mediul de dezvoltare:
- Arduino IDE

Biblioteci:
- Servo.h

Implementare:
Am implementat un sistem de detectare a culorilor folosind un senzor de culoare și două servomotoare pentru manipularea obiectelor în funcție de culoarea detectată. Sistemul detectează diferite culori și poziționează un servomotor pentru a sorta obiectele pe baza culorii detectate, în timp ce alt servomotor deschide și închide o trapă pentru a elibera obiectele detectate.

Funcții folosite:
- setup(): aceasta funcția rulează o singură dată la pornirea programului. Configurarea inițială include setarea pinilor pentru senzorul de culoare, atașarea servomotoarelor la pinii de control, stabilirea poziției inițiale a servomotoarelor.
Detalii implementare:

  • Setez pinii S0, S1, S2, S3 ca ieșiri și sensorOut ca intrare.
  • Configurez senzorul de culoare pentru o scalare de 20%.
  • Atașez servomotoarele topServo și bottomServo la pinii 7 și 8.
  • Inițializez poziția servomotoarelor (trapa închisă și poziția de așteptare).


- loop(): aceasta este funcția principală care rulează continuu. În cadrul acestei funcții citeșc valoarea de la senzorul de culoare, care determină culoarea detectată și se efectuează acțiuni în funcție de aceasta (poziționarea servomotorului și deschiderea/inchiderea trapei).


- openTrap(): deschide trapa prin deplasarea servomotorului topServo la unghiul de deschidere definit.


- closeTrap(): închide trapa prin deplasarea servomotorului topServo la unghiul de închidere definit.

Cod:
codcolorsorter.txt

Rezultate Obţinute

Am atașat un scurt videoclip pentru a putea prezenta mai ușor rezultatele proiectului:
https://youtu.be/z2SeQFCDzW0

Concluzii

A fost destul de plăcut și interesant să lucrez la acest proiect deoarece prin implementarea acestuia, am învățat despre senzorii de culoare, controlul servomotoarelor și programarea microcontrolerelor. Cei drept senzorul de culoare mi-a dat ceva bătăi de cap, deoarece citea valori diferite în funcție de lumina care bătea pe el.

Eu am implementat o variantă simplă, doar pentru 4 culori dar codul și hardware-ul pot fi adaptate și extinse pentru a detecta și sorta o gamă mai largă de culori sau pentru a include mai multe categorii.

Download

Am adăugat arhiva cu fişierele obţinute în urma realizării proiectului: surse, scheme, câteva imagini si videoclipul cu acesta: ionita_elena-silvia_331cc.zip

Jurnal

Bibliografie/Resurse

pm/prj2024/vstoica/elena_silvia.ionita.txt · Last modified: 2024/05/28 00:51 by elena_silvia.ionita
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