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, iar pentru construirea schemei electrice a proiectului am utilizat Fritzing.
  • 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 de 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

Am pregatit si un demo in care este ilustrata functionalitatea acestui proiect.

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 inainte de a ma grabi sa comand componente noi 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

  • 2 mai: alegerea temei proiectului si crearea paginii de wiki
  • 3 mai: comandarea pieselor necesare pentru realizarea proiectului
  • 7 mai: primirea pieselor
  • 9 mai: testarea senzorilor ultrasonici si a display-ului
  • 10 mai: asamblarea capacului cutiei si a servomotorului
  • 11 mai: lipirea breadboard-ului, a placutei Arduino, a bateriei si a display-ului de galeata + testarea primei variante de cod si comandarea unui nou display in urma constatarii faptului ca nu se mai aprinde deloc cel vechi
  • 14 mai: sosirea noului display si testarea proiectului cu acesta + depistarea faptului ca nici acest display nu mergea, prin urmare s-au testat firele de legatura si s-a ajuns la concluzia ca unele nu functionau corespunzator, deci a fost nevoie de comandarea altora
  • 17 mai: sosirea noilor fire de legatura
  • 28 mai: finalizarea proiectului cu noile fire de legatura
  • 1 iunie: modularizarea codului si adaugarea unor comentarii sugestive
  • 2 iunie: finalizarea paginii pe wiki

Bibliografie/Resurse

pm/prj2021/cghenea/smartdustbin.txt · Last modified: 2021/06/02 17:19 by anca_ioana.rolea
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