This is an old revision of the document!


Masinuta cautatoare de comori

Introducere

Proiectul “Mașinută Căutătoare de Comori” reprezintă o extensie a unei platforme robotice existente cu funcționalități avansate de detectare și interacțiune cu mediul înconjurător. Scopul principal este transformarea unui kit preconceput într-un sistem inteligent personalizat care poate identifica și colecta obiecte bazate pe culoare.

Ideea de la care am pornit a fost de a îmbunătăți o mașinută cu funcția predefinita de urmărire linie și de a adăuga un element de joc interactiv care să o transforme într-un sistem personalizat și mai complex.

Acest proiect este util atât pentru dezvoltarea personală, oferindu-mi posibilitatea de a aprofunda cunoștințele despre diferite protocoale de comunicație (GPIO, UART, I2C) și integrarea senzorilor, cât și pentru comunitate, demonstrând cum se poate transforma un kit comercial într-un sistem personalizat cu funcționalități extinse.

Descriere generală

Schema bloc:

Protocoale de Comunicație

- GPIO: Control motoare, LED-uri, speaker

- I2C: Comunicare cu senzorul de culoare TCS34725 și ecranul OLED, precum si relatie master-slave intre Marble Pico, respectiv Arduino Uno

- UART: Comunicare cu DFPlayer Mini și modulul Bluetooth

- PWM: Control viteză motoare

Modulele Sistemului

Modulul de Control:

- Microcontroller Arduino care gestionează miscarile masinii, conexiunea Bluetooth cu aplicatia mobila - Microcontroller Marble Pico pentru gestionarea Arduino (prin master-slave) la gasirea unei “comori” si al restului componentelor

Modulul de Senzori

- Senzor culoare pentru identificarea “comorilor”

- Senzori IR pentru urmărirea liniei (hartii)

Modulul de Acționare

- Motoare DC plus LED-uri pentru semnalizare vizuală.

- Modul convertor de tensiune de la 5V la 3.3V

- Ecran OLED și DFPlayer Mini pentru afișarea parametrilor și notificări audio.

Funcționare

Mașinuta poate fi controlată manual, insa poate intra in modul Hunting in care fie merge inainte in continuu, fie urmareste un traseu cu linie neagra, detectând și alarmând utilizatorul in cazul găsirii unor obiecte de culori specifice (“comori”, eu am ales de culoare neagra). Sistemul oferă feedback vizual și auditiv intr-un mod pe care nu il voi dezvalui inca ;).

Hardware Design

Lista preliminară de piese:

- Kit mașinută robotică (bază, motoare, roți)

- Microcontrollere (Arduino Uno, Marble Pico)

- Senzor de culoare TCS34725

- Ecran OLED I2C

- Modul DFPlayer Mini

- Card microSD

- Speaker 2W 32 Ohm

- Senzori IR pentru urmărirea liniei

- Baterii și regulator de tensiune

- Cabluri și componente electronice auxiliare

Software Design

Mediu de dezvoltare: Arduino IDE

Librării planificate:

- Adafruit_TCS34725 pentru senzorul de culoare

- Adafruit_SSD1306 pentru ecranul OLED

- DFRobotDFPlayerMini pentru modulul audio

- Raspberry Pi Pico RP2040

- Librarii predefinite in kit-ul masinii

Algoritmi și structuri planificate:

Algoritm de detecție a culorii:

- Citirea valorilor RGB de la senzorul TCS34725

- Compararea cu valorile predefinite pentru identificarea “comorilor”

- Declansarea comportamentului de alertare

Algoritm de urmărire a liniei:

- Citirea valorilor de la senzorii IR

- Ajustarea direcției motoarelor pentru a menține traseul

Interfață utilizator:

- Afișarea parametrilor si a mesajelor de feedback pe ecranul OLED

- Generarea de feedback audio pentru evenimente specifice (gasire obiect, cautare obiect etc.)

Mașină de stare pentru modurile de funcționare:

- Urmărire linie (Cautare comori)

- Control manual

- Raportare statistici

Algoritm de interpretare a comenzilor primite prin bluetooth de la o aplicatie mobila:

- Folosirea unei librarii externe de interpretare a caracterelor venite ca input

- Executarea unei functii (deplasare, schimbare viteza, schimbarea modului) in functie de aceste caractere

Realizarea conexiunii master-slave intre Marble Pico, respectiv Arduino:

- Trimiterea de comenzi din Marble Pico la adresa Arduino prin I2C de executare a functiilor din codul slave

Rezultate Obţinute

Această secțiune va fi completată pe măsură ce proiectul avansează, documentând:

- Funcționalitățile implementate cu succes - Performanța sistemului în diverse scenarii - Probleme întâmpinate și soluțiile aplicate

Am implementat aproape in totalitate tot ce am mentionat la Software Design </note> ===== Concluzii ===== <note tip> Această secțiune va fi completată la finalizarea proiectului, incluzând: - Evaluarea obiectivelor îndeplinite - Lecții învățate în timpul implementării - Direcții viitoare de dezvoltare </note> ===== Download ===== <note tip> Fișierele proiectului vor fi disponibile după implementare, incluzând: - Codurile sursă cu documentație - Scheme detaliate ale circuitelor - Fișier README cu instrucțiuni de utilizare - ChangeLog pentru a urmări evoluția proiectului </note> ===== Jurnal ===== ===== Bibliografie/Resurse ===== <note> Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware**.

Export to PDF

pm/prj2025/rnedelcu/iulian.popa3007.1748371372.txt.gz · Last modified: 2025/05/27 21:42 by iulian.popa3007
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