This is an old revision of the document!
Ideea de la care am pornit a fost de a îmbunătăți o mașinută cu funcții predefinite (evitare obstacole, urmărire linie, anti-cădere, transport automat) ș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, SPI) ș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.
Protocoale de Comunicație
- GPIO: Control motoare, senzori digitali, LED-uri, buzzer
- I2C: Comunicare cu senzorul de culoare TCS34725 și ecranul OLED
- UART: Comunicare cu DFPlayer Mini și modulul Bluetooth opțional
- SPI: Interfațare cu cardul microSD pentru stocarea datelor
- PWM: Control viteză motoare și poziționare servo
Modulele Sistemului
Modulul de Control: Microcontroller STM32/Arduino care gestionează toate operațiunile, procesează datele și implementează algoritmii de decizie.
Modulul de Senzori
- Senzor culoare pentru identificarea “comorilor”
- Senzori IR pentru urmărirea liniei
- Senzor ultrasonic pentru evitarea obstacolelor
- Senzori anti-cădere și encodere pentru măsurarea vitezei
Modulul de Acționare
- Motoare DC, driver L298N, și servo pentru colectarea obiectelor, plus LED-uri pentru semnalizare vizuală.
- Modulul de Feedback
- Ecran OLED și DFPlayer Mini pentru afișarea parametrilor și notificări audio.
Modulul de Stocare: Card microSD pentru jurnalizarea parametrilor și evenimentelor din timpul funcționării.
Funcționare
Mașinuta urmărește fie o linie predefinită, fie este controlată manual, detectând și alarmând utilizatorul in cazul găsirii unor obiecte de culori specifice (“comori”). Sistemul oferă feedback vizual și auditiv și poate înregistra parametri de funcționare pentru analiză ulterioară.
- Kit mașinută robotică (bază, motoare, roți)
- Microcontroller (compatibil Arduino/STM32)
- Senzor de culoare TCS34725
- Ecran OLED I2C
- Modul DFPlayer Mini
- Card microSD
- Cititor card SD cu interfață SPI
- Senzori IR pentru urmărirea liniei
- Senzor ultrasonic pentru evitarea obstacolelor
- Baterii și regulator de tensiune
- Cabluri și componente electronice auxiliare
Schemele detaliate vor fi adăugate în etapele ulterioare ale proiectului, dar vor include:
- Conectarea microcontroller-ului la motoare prin drivere
- Interfațarea senzorului de culoare prin I2C
- Conectarea ecranului OLED prin I2C
- Conectarea modulului DFPlayer Mini prin UART
- Interfațarea cardului SD prin SPI
Librării planificate:
- Adafruit_TCS34725 pentru senzorul de culoare
- Adafruit_SSD1306 pentru ecranul OLED
- DFRobotDFPlayerMini pentru modulul audio
- SD pentru interfațarea cu cardul SD
Algoritmi și structuri planificate:
Algoritm de detecție a culorii:
- Citirea valorilor RGB de la senzorul TCS34725
- Compararea cu valorile predefinite pentru identificarea “comorilor”
- Luarea deciziei de colectare
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 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
- Funcționalitățile implementate cu succes - Performanța sistemului în diverse scenarii - Probleme întâmpinate și soluțiile aplicate
- Evaluarea obiectivelor îndeplinite - Lecții învățate în timpul implementării - Direcții viitoare de dezvoltare
- 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