This is an old revision of the document!


Smart Seed Planter

Nume: Floarea Gabriela-Estera, Grupă: 332CB

Introducere

Smart Seed Planter este un sistem embedded automatizat care simulează integral procesul de plantare și îngrijire inițială a unei plante — de la pregătirea solului până la udarea automată — fără nicio intervenție umană după pornire.

Ideea proiectului a pornit de la dorința de a automatiza un proces agricol de bază folosind exclusiv componente electronice accesibile și un microcontroller Arduino UNO. Sistemul execută o secvență completă de operații: afânarea solului cu o lopățică acționată de servomotor, citirea umidității prin senzor analogic, luarea unei decizii automate despre oportunitatea plantării, eliberarea precisă a unei semințe printr-o clapetă mecanică, acoperirea semințelor cu pământ și udarea zonei plantate prin intermediul unei pompe controlate prin MOSFET.

Proiectul este util din mai multe perspective:

  • poate reprezenta baza unui sistem simplificat de agricultură inteligentă, capabil să automatizeze procese precum plantarea, monitorizarea umidității și udarea automată;
  • reduce intervenția umană necesară pentru îngrijirea inițială a plantelor și poate fi adaptat pentru sere automatizate, grădini inteligente sau sisteme educaționale interactive;
  • arhitectura modulară permite extinderea sistemului cu funcții suplimentare precum conectivitate wireless, monitorizare prin telefon sau integrarea unor senzori suplimentari de temperatură și lumină.

Descriere generală

Sistemul este structurat ca o mașină de stări finite (FSM) cu mai multe stări, coordonată de Arduino UNO. Utilizatorul apasă butonul de start, după care sistemul execută automat întreaga secvență: afânare sol, citire umiditate, decizie, plantare, acoperire, udare, finalizare. Dacă umiditatea nu este în intervalul optim (400–700), procesul este întrerupt și utilizatorul este notificat prin LCD si revine apoi in starea IDLE.

Arduino UNO coordonează patru module principale. Modulul de detecție folosește un senzor rezistiv de umiditate conectat pe A0, cu media a 5 citiri consecutive pentru eliminarea zgomotului. Modulul mecanic include două servomotoare SG90 alimentate din MB102: Servo 1 acționează lopățica pentru afânare și acoperire (D9), iar Servo 2 controlează clapeta de eliberare a semințelor (D10). Modulul de irigație controlează pompa de apă 5V prin modulul dual MOSFET (D6), necesar deoarece pompa depășește curentul maxim al unui pin Arduino. Modulul de interfață afișează starea curentă și valoarea umidității pe LCD-ul 16×2 cu modul I2C (A4/A5).

Alimentarea este duală: laptopul alimentează Arduino prin USB Type-C, iar un power bank de 5V/2A alimentează servo-urile și pompa prin modulul MB102, cu GND comun între cele două surse.

Hardware Design

Listă de piese:

Componentă Cantitate Rol în sistem
Arduino UNO R3, ATmega328P, CH340G, Type-C 1x Microcontroller principal, FSM
Servomotor SG90 (0°–180°) 2x Lopățică (D9) + Clapetă semințe (D10)
Condensator electrolitic 470µF 16V 2x Stabilizare alimentare per servo
Condensator electrolitic 1000µF 16V 1x Stabilizare șină principală 5V
Senzor umiditate sol cu modul 1x Citire umiditate analogică (A0)
Pompă apă 5V 1x Udare automată sol
Furtun silicon ~40cm 1x Pompă → sol
Modul dual MOSFET 15A 400W 1x Control pompă din Arduino (D6)
Diodă protecție 1N4007 1x Protecție curent invers pompă
Buton tactil 6x6x5mm 4 pini 1x Start secvență (D2)
Rezistență 10kΩ 0.25W 2x Pull-down buton
Rezistență 220Ω 0.25W 10x Limitare curent LED-uri
Ecran LCD 16×2 + modul I2C 1x Afișare stare + umiditate (A4, A5)
Power bank 5V / 2A+ 1x Alimentare servo-uri + pompă
Modul alimentare breadboard MB102 1x Distribuie 5V din power bank
Breadboard 830 puncte 1x Principal
Breadboard 400 puncte 1x Pompă + MOSFET
Fire jumper M-M / M-F / lungi M-F ~70x total Conexiuni între componente

Interconectarea hardware

Sistemul este construit în jurul plăcii Arduino UNO, care coordonează toate componentele hardware. Componentele de intrare sunt senzorul de umiditate și butonul de start, iar componentele de ieșire sunt cele două servomotoare, LCD-ul și pompa de apă controlată prin MOSFET.

LCD-ul este conectat prin interfața I2C, folosind pinii A4 și A5 ai plăcii Arduino UNO. Senzorul de umiditate este conectat pe pinul analogic A0, deoarece oferă o valoare variabilă în funcție de umiditatea solului. Butonul de start este conectat pe pinul digital D2 și folosește rezistența internă de pull-up a microcontrollerului.

Cele două servomotoare sunt conectate pe pinii D9 și D10, deoarece aceștia pot genera semnale PWM necesare controlului poziției. Pompa de apă nu este conectată direct la Arduino, ci este controlată printr-un modul MOSFET conectat pe pinul D6.

Alimentarea este separată: Arduino UNO este alimentat prin USB, iar servo-urile și pompa sunt alimentate prin modulul MB102. În prezent, MB102 este alimentat cu un adaptor de 9V conectat la priză. În varianta finală, adaptorul va fi înlocuit cu un suport de 6 baterii AA, care furnizează tot aproximativ 9V. Toate componentele au GND comun.

Justificarea pinilor folosiți

Pinii au fost aleși în funcție de rolul fiecărei componente și de facilitățile oferite de Arduino UNO.

Pinii A4 și A5 sunt utilizați pentru LCD deoarece pe Arduino UNO aceștia sunt pinii dedicați comunicației I2C: A4 pentru SDA și A5 pentru SCL. Astfel, LCD-ul ocupă doar doi pini de semnal.

Pinul A0 este folosit pentru senzorul de umiditate deoarece acesta oferă o ieșire analogică. Valoarea citită este utilizată pentru a determina dacă solul are umiditatea potrivită pentru plantare.

Pinul D2 este folosit pentru butonul de start deoarece este un pin digital simplu, potrivit pentru citirea unei apăsări. Butonul este conectat între D2 și GND, iar în cod se folosește INPUT_PULLUP, deci nu este necesară o rezistență externă.

Pinii D9 și D10 sunt folosiți pentru servomotoare, deoarece permit controlul precis al poziției prin semnale PWM. Un servomotor controlează lopățica pentru afânare și acoperire, iar celălalt controlează clapeta pentru eliberarea seminței.

Pinul D6 este folosit pentru controlul modulului MOSFET care comandă pompa. Pompa nu este alimentată direct din Arduino, deoarece consumă mai mult curent decât poate furniza un pin digital.

Tabel de conexiuni

Componentă Pin componentă Pin Arduino / Alimentare Rol
LCD I2C SDA A4 Linie de date I2C
LCD I2C SCL A5 Linie de ceas I2C
LCD I2C VCC 5V Arduino Alimentare LCD
LCD I2C GND GND Masă comună
Senzor umiditate AOUT A0 Citire analogică umiditate
Senzor umiditate VCC 5V Arduino Alimentare senzor
Senzor umiditate GND GND Masă comună
Buton START pin 1 D2 Pornire secvență
Buton START pin 2 GND INPUT_PULLUP intern
Servo lopățică semnal D9 Control poziție servo
Servo lopățică VCC 5V_MB102 Alimentare externă
Servo lopățică GND GND Masă comună
Servo clapetă semnal D10 Control clapetă semințe
Servo clapetă VCC 5V_MB102 Alimentare externă
Servo clapetă GND GND Masă comună
MOSFET TRIG/PWM D6 Control pompă
MOSFET VIN+ 5V_MB102 Alimentare pompă
MOSFET VIN− GND_MB102 Masă alimentare pompă
Pompă + VOUT+ MOSFET Plus pompă
Pompă VOUT− MOSFET Minus pompă
Diodă 1N4007 catod, capăt cu bandă VOUT+ Protecție pompă
Diodă 1N4007 anod, capăt fără bandă VOUT− Protecție pompă
Condensatoare + 5V_MB102 Stabilizare alimentare
Condensatoare GND_MB102 Stabilizare alimentare

Schema electrică:

Explicarea schemei electrice

Schema electrică realizată în EasyEDA prezintă interconectarea completă a componentelor folosite în proiect. Arduino UNO se află în centrul sistemului și trimite sau primește semnale de la fiecare modul.

LCD-ul este conectat prin I2C la pinii A4 și A5, ceea ce reduce numărul de conexiuni necesare. Senzorul de umiditate este conectat la pinul A0, iar valoarea analogică citită este folosită pentru decizia de continuare sau oprire a procesului de plantare.

Butonul de start este conectat între D2 și GND. Deoarece în cod se folosește INPUT_PULLUP, starea normală a pinului este HIGH, iar la apăsare devine LOW. Astfel, schema nu mai are nevoie de rezistență externă pentru buton.

Servomotoarele sunt controlate doar prin firele de semnal conectate la D9 și D10. Alimentarea lor este făcută separat, prin MB102, pentru a evita resetarea plăcii Arduino din cauza consumului mare de curent.

Pompa de apă este controlată prin modulul MOSFET. Arduino trimite semnalul de comandă pe D6, iar MOSFET-ul permite alimentarea pompei din sursa externă. Astfel, Arduino nu furnizează direct curentul necesar pompei, ci doar controlează pornirea și oprirea acesteia.

Dioda 1N4007 este montată paralel pe pompă, cu catodul la VOUT+ și anodul la VOUT−. Aceasta protejează circuitul împotriva tensiunilor inverse generate la oprirea motorului pompei.

Condensatoarele electrolitice sunt conectate între 5V_MB102 și GND_MB102. Acestea ajută la stabilizarea tensiunii și reduc fluctuațiile cauzate de pornirea pompei sau de mișcarea servomotoarelor.

Toate modulele au masă comună. Acest lucru este important deoarece Arduino, MOSFET-ul, senzorii și actuatoarele trebuie să aibă aceeași referință electrică pentru ca semnalele de control să fie interpretate corect.

Software Design

Rezultate Obținute

Concluzii

Download

Jurnal

Bibliografie/Resurse

pm/prj2026/andrei.batasev/gabriela.floarea.1778953970.txt.gz · Last modified: 2026/05/16 20:52 by gabriela.floarea
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