Candy Chaos

Autor: Gorîn Natalia-Ștefania
Grupa: 333CD
Îndrumător: Ionuț Oțelea

Introducere

Candy Chaos reprezintă un dozator de bomboane ce îmbină utilitatea și interactivitatea într-o experiență plină de dulce.

Dispozitivul oferă utilizatorului o experiență simplificată în ceea ce privește procesul de selecție al bomboanelor prin plasarea unui recipient sub dozator și simpla apăsare a unui buton.
De asemenea, dozatorul dispune de un sistem ce anunță utilizatorul în momentul în care trebuie refăcut stocul de bomboane.

Fie că e vorba de angajații unei companii sau invitații de la o petrecere, Candy Chaos își propune să ofere o experiență distractivă utilizatorilor. =)

Descriere generală

Dozatorul de bomboane se activează în momentul în care sub dispozitiv este plasat un recipient în fața unui LED detectat prin intermediul unui fotorezistor. Utilizatorul are de ales dintre cele 2 butoane, reprezentand culoarea bomboanelor pe care le dorește (roșu, albastru). Eliberarea bomboanelor se face cu ajutorul unui servomotor care va impinge bomboanele in functie de culoarea aleasa.
În momentul în care unul dintre compartimente se golește, pe ecranul atașat se va afișa un mesaj corespunzător care să îi amintească utilizatorului ca stocul de bomboane trebuie refăcut. În același timp, un buzzer emite un semnal sonor pentru a atrage atenția utilizatorului.
Funcționalitatea sistemului este asistată de LED-uri care indică starea compartimentelor.
Toate componentele sunt interconectate pe un breadboard pentru o integrare eficientă și modulară a sistemului.

Hardware Design

Lista de componente:

  • Arduino Uno R3 ATmega328P
  • Motor Servo SG90 9g
  • Ecran LCD 1602 IIC/I2C
  • Buzzer
  • Butoane
  • Fotorezistor
  • LED
  • Rezistențe
  • Breadboard

Schema:

Hardware:

Software Design

Proiectul a fost dezvoltat in Arduino IDE.
Am folosit bibliotecile:

  • Wire.h si LiquidCrystal_I2C.h pentru a facilita comunicarea cu I2C si pentru a putea gestiona dispaly-ul
  • Servo.h pentru controlul servomotorului

Am inceput prin a-mi declara variabilele globale pentru a putea gestiona mai usor pinii folositi pe placuta Arduino.

  • functia setup():
    • am initializat display-ul si am aprins lumina de pe spatele acestuia
    • am configurat pinii butoanelor ca input
    • am configurat pinii LED-urilor si a buzzerului ca output
    • am setat servomotorul in pozitia standard (90 grade)
  • functia loop()
    • am citit starea butoanelor si am verificat daca este apasat cel rosu sau cel albastru:
      • in cazul in care cel rosu a fost apasat:
        • am aprins LED-ul rosu
        • am rotit servomotorul pentru a putea muta bomboana rosie
        • dupa ce s-a efectuat actiunea, am stins LED-ul, am afisat un mesaj sugestiv pe ecran si am activat buzzerul pentru a anunta utilizatorul ca isi poate lua bomboana
      • in cazul apasarii butonului albastru se intampla in mare acelasi lucru, doar ca servomotorul se roteste in partea opusa si pe ecran sunt afisate mesaje diferite, specifice culorii alese

Codul implementat se poate gasi la urmatoarea adresa:
https://github.com/nataliagorin/Candy-Chaos/blob/main/candy_chaos.ino

Concluzii

Proiectul a fost o experiență interesantă si amuzanta, mai ales fiind primul proiect de acest tip realizat de la zero. În timpul implementării, am descoperit că nu eram suficient de pregătită să gestionez toate funcționalitățile dorite initial, ceea ce a dus la eliminarea unor componente, si anume fotorezistorii. Am continuat proiectul fără acestia, iar rezultatul a fost un dozator de bomboane minimalist, la care se pot adăuga îmbunătățiri în viitor, dar avand in vedere timpul limitat si perioada incarcata, sunt multumita de ceea ce am reusit sa fac. =)

Download

Proiectul poate fi descarcat de aici: candy_chaos.zip

Jurnal

  • Alegere temei de proiect
  • Crearea paginii proiectului
  • Realizarea introducerii și a descrierii generale
  • Implementare și testare hardware
  • Implementare și testare software

Bibliografie/Resurse

pm/prj2024/iotelea/natalia.gorin.txt · Last modified: 2024/05/27 03:28 by natalia.gorin
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