This is an old revision of the document!
Smart dustbin
Introducere
Avand in vedere ca nu este deloc igienic sa punem mana pe capacul unui cos de gunoi, am considerat ca ar fi o idee buna sa fac un cos de gunoi care se deschide automat atunci cand se doreste aruncarea unui obiect care nu mai este folositor.
Descriere generală
Capacul cosului de gunoi se va deschide cu ajutorul unui servomotor, iar apropierea unei persoane de cosul de gunoi va fi detectata cu ajutorul unui senzor ultrasonic. Prin intermediul unui display se va afisa daca gunoiul este plin sau nu. De asemenea, pentru a determina daca gunoiul s-a umplut, se va utiliza un alt senzor ultrasonic.
Schema bloc
Hardware Design
Lista componente
Arduino UNO
Baterie
2 senzori ultrasonici
LCD 1602
Servomotor
Fire de legatura
Breadboard
Schema electrica
Software Design
Mediul de dezvoltare utilizat a fost Arduino IDE.
Am folosit biblioteca Servo.h pentru a putea controla servomotorul
Am folosit bibliotecile LCD.h si LiquidCrystal_I2C.h pentru afisarea textului pe display
Functia setup() a fost folosita pentru setarea numarului de caractere si de linii afisate pe display prin intermediul functiei begin(), pentru setarea tipului pinilor (de intrare sau iesire) cu ajutorul functiei pinMode(), dar si pentru initializarea servomotorului prin intermediul functiilor attach() si write().
Functia distance() returneaza distanta dintre un obiect si un senzor ultrasonic.
In metoda loop() am calculat distanta dintre senzorul ultrasonic raspunzator de ridicarea capacului gunoiului si un obiect aflat in fata sa, iar in functie de distanta aceasta manerul servomotorului se va roti sau nu (daca distanta este mai mica de 30 cm, servomotorul se va roti in directia opusa, la 0 grade si astfel se va deschide capacul gunoiului, altfel va ramane cum era pus initial, la 180 de grade). Am calculat apoi distanta dintre senzorul ultrasonic raspunzator de afisarea pe display a starii gunoiului(daca este plin sau nu) si un obiect aflat in fata acestui senzor. Daca distanta dintre senzor si obiect este mai mica decat 5 cm, atunci inseamna ca gunoiul s-a umplut si se afiseaza un mesaj corespunzator, altfel se semnaleaza faptul ca gunoiul nu este plin printr-un alt mesaj sugestiv.
Rezultate Obținute
Concluzii
Am invatat sa programez o placuta Arduino, ceea ce inainte nu mai facusem chiar daca auzisem destul de multe lucruri bune despre o astfel de placuta care imi starnisera curiozitatea.
Am invatat ca e foarte important sa testez si functionalitatea corecta a firelor pentru ca uneori e posibil ca un singur fir sa nu mearga si din cauza lui sa nu mearga tot proiectul.
Din pacate, servomotorul am observat ca scoate niste sunete ciudate, cel mai probabil din cauza contactelor imperfecte. Totusi, isi face treaba de fiecare data, chiar daca este putin galagios.
Acesta a fost un proiect in care setup-ul a fost mai complicat decat partea de scris cod, dar care mi-a placut per total.
Gunoiul Jimmy va ramane cu siguranta in sufletul meu deoarece a fost primul meu proiect in care am imbinat hardware-ul cu software-ul.
Download
Codul care a ajutat la implementarea acestui proiect se poate gasi in aceasta arhiva
Jurnal
Bibliografie/Resurse