Smart Piggy Bank

Introducere

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Proiectul constă în realizarea unei pușculițe inteligente, care primește monede, le stochează și poate elibera o sumă dorită.

Scopul acestei lucrări este de a ușura stocarea monedelor și a folosirii acestora. Ideea inițială a fost de a îmbunătăți un obiect deja existent, apoi îmi venise în minte cum o pușculiță normală poate doar să țină banii, dar nu știi cât ai stocat decât dacă ai scoate toți banii. Astfel, am încercat să vin cu o implementare practică și poate interesantă.

Consider că este un proiect util, promovând aspectul de a economisi monede, de a avea control asupra sumei introduse/ scoase, dar și de a nu mai avea monede prin toate buzunarele sau sub canapele.

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Proiectul are ca scop sa automatizeze procesele de depunere, contorizare, stocare și eliberare a monedelor.

Procesul începe prin inserarea monedei într-o fantă laterală. Sortarea este realizată pasiv, bazându-se pe gravitație și dimensiuni fizice. Monedele parcurg un traseu înclinat cu orificii calibrate; fiecare moendă ignoră orificiile mai mici până ajunge la fanta corespunzătoare diametrului său, căzând în tubul de stocare dedicat.

La fiecare tub se află un modul senzor fotoelectric cu infraroșu, care trimite un semnal. Placa primește datele, le procesează și incrementează suma curentă în funcție de moneda introdusă.

Folosind modulul HC-06 pentru a comunica prin Bluetooth cu placa, utilizatorul poate trimite prin telefon o comandă prin care să extragă o sumă de bani. Dacă suma cerută este mai mare decât valoarea stocată, atunci utilizatorul va fi informat de acest lucru și va trebui sa confirme că vor fi scoși toți banii.

Pentru extragerea unei monede, se va activa un servomotor SG90 pus la fiecare tub pentru a extrage cu precizie moneda. La finalul procesului, se va afișa un mesaj de confirmare atât pe ecranul OLED, cât și pe telefon prin transmiterea Bluetooth. De asemenea, un buzzer + LED verde vor fi folosite pentru confirmarea sonoră.

Dacă cineva dorește să acceseze direct tuburile cu monede, există o ușă care poate fi deschisă la introducerea unei parole. Dacă parola este introdusă greșit, se aprinde un LED roșu + buzzer-ul dă un mesaj sonor.

Schema Bloc

Intrări:

  • Modul senzor fotoelectric cu infraroșu;
  • Modul Bluetooth HC-06

Ieșiri:

  • Servomotoare SG90
  • Ecran OLED gme12864
  • Buzzer pasiv
  • LED RGB

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Componentă Cantitate Detalii
ATmega328P Xplained Mini 1 Placă de dezvoltare principală
Modul Bluetooth HC-06 1 Comunicație UART
Display OLED gme12864 1 Cu modul I2C inclus
Modul Senzor Fotoelectric Infrarosu in Forma de U 4 Contorizare monedă
Servomotor SG90 4 Extragere monede
Buzzer pasiv 5V 1 Control prin semnal PWM
LED rgb 1 Informare vizuală
Cablu USB micro 1 Alimentare placă
Fire + conectori x Conectarea componentelor

Descrieri și pini

Senzori Fotoelectrici

Folosiți pentru contorizare și un control al fluxului monedelor. Dintre aceștia, 3 sunt folosiți pentru a contoriza monedele (5/10/50 bani), iar ultimul pentru a identifica când iese o monedă în etapa de extragere a banilor. Folosim pinii PC0-3 deoarece sunt pentru I/O analogic.

Componentă Pin
Senzor 1 PC0
Senzor 2 PC1
Senzor 3 PC2
Senzor 4 PC3

Servomotoare

Folosiți pentru a extrage monedele (3 din ei) + 1 pentru a deschide ușa din spate. Pinii PD5-6 sunt asociați lui Timer0, iar PB1-2 pentru Timer1.

Componentă Pin
Servo 1 PB1
Servo 2 PB2
Servo 3 PD5
Servo 4 PD6

Modul HC-06

Pentru a asigura o comunicare între placă și telefon, folosim un modul Bluetooth. Placa va comunica cu această componentă prin UART. Folosim pinii PD0 pentru RX și PD1 pentru Tx-ul plăcii.

Componentă Pin
RX Modul PD1
TX modul PD0

Buzzer

Componenta asigură partea auditivă a proiectului: sunete de confirmare sau avertizări pentru diferite evenimente. Folosim PB3 pentru a folosi Timer2.

Componentă Pin
Buzzer PB3

Display

Display-ul este folosit pentru a afișa mesaje informative. Folosim pinii dedicați modulului I2C, anume PC4-5

Componentă Pin
SCL PC5
SDA PC4

LED

Evident, pe lângă mesajul informativ, vrem să vedem și culori sugestive. Folosim un LED RGB pentru a afișa diferite culori: verde pentru o tranzacție reușită, roșu pentru o eroare sau parolă greșită, portocaliu pentru evenimente care se desfășoară.

Folosim PD2-4 pentru a controla culorile LED-ului.

Componentă Pin
LED roșu PD3
LED verde PD3
LED albastru PD4

Schema Electrică

Pe lângă pinii folosiți și distribuirea acestora pentru toate componentele, ar mai fi de menționat și sursa de curent: o baterie externă, din care vor fi trase 2 cabluri: unul care va fi conectat cu servomotoarele, deoarece necesită mai mult curent, iar cel de-al doilea cablu va fi conectat la portul micro usb al plăcii.

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Milestone Hardware

Testare modul IR

Aici am testat traseul monedei, dacă este citită și afișarea sumei pe ecran.

Testare Servomotoare

Scurt test prin care am testat 4 servomotoare, alimentate la sursa externă. (alimentarea de la placa nu este suficientă pentru atâtea servomotoare)

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/vlad.radulescu2901/rares.anton.txt · Last modified: 2026/05/16 12:44 by rares.anton
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