Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:ccontasel:sarah_maria.craciun [2024/05/26 14:43]
sarah_maria.craciun [Hardware Design]
pm:prj2024:ccontasel:sarah_maria.craciun [2024/05/27 05:44] (current)
sarah_maria.craciun [Rezultate Obţinute]
Line 5: Line 5:
 În această documentație,​ voi prezenta proiectul meu - Baby Alarm, un dispozitiv creat pentru a oferi un nivel de siguranță și confort părinților care au copii cu vârta cuprinsă între 0-12 luni. Proiectul este conceput să ofere o soluție simplă și eficientă pentru supravegherea bebelușilor. În această documentație,​ voi prezenta proiectul meu - Baby Alarm, un dispozitiv creat pentru a oferi un nivel de siguranță și confort părinților care au copii cu vârta cuprinsă între 0-12 luni. Proiectul este conceput să ofere o soluție simplă și eficientă pentru supravegherea bebelușilor.
  
-<note tip> 
 Prezentarea pe scurt a proiectului:​ Prezentarea pe scurt a proiectului:​
  
Line 19: Line 18:
   * de ce cred că este util   * de ce cred că este util
 Baby Alarm-ul este util pentru părinți, deoarece le oferă liniștea de a ști că își pot monitoriza copilul chiar și atunci când nu sunt în aceeași încăpere. Acesta poate reduce anxietatea și stresul legat de supravegherea constantă a bebelușilor,​ permițându-le părinților să se relaxeze mai mult în timpul nopții sau în timpul altor activități. Pentru mine, acest proiect reprezintă o oportunitate de a aplica cunoștințele pe care le-am dobândit și de a crea un produs care să aducă beneficii reale. Baby Alarm-ul este util pentru părinți, deoarece le oferă liniștea de a ști că își pot monitoriza copilul chiar și atunci când nu sunt în aceeași încăpere. Acesta poate reduce anxietatea și stresul legat de supravegherea constantă a bebelușilor,​ permițându-le părinților să se relaxeze mai mult în timpul nopții sau în timpul altor activități. Pentru mine, acest proiect reprezintă o oportunitate de a aplica cunoștințele pe care le-am dobândit și de a crea un produs care să aducă beneficii reale.
-</​note>​ 
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 38: Line 36:
   * 1x buzzer   * 1x buzzer
   * 2x breadboard   * 2x breadboard
 +  * 2x rezistori 220 ohmi
   * fire de legătură   * fire de legătură
  
 **Schemă Electrică** **Schemă Electrică**
  
-**Modulul ​1:**+//​__Modulul ​1:__//
  
 {{:​pm:​prj2024:​ccontasel:​s_e_1_smc.png?​600|}} {{:​pm:​prj2024:​ccontasel:​s_e_1_smc.png?​600|}}
  
-**Modulul ​2:**+  ​Microfon (Analog): Conectat la pinul 35 (GPIO 35) 
 + 
 +//​__Modulul ​2:__//
  
 {{:​pm:​prj2024:​ccontasel:​s_e_2_smc.png?​600|}} {{:​pm:​prj2024:​ccontasel:​s_e_2_smc.png?​600|}}
 +
 +  * LED Roșu: Conectat la pinul 2 (GPIO 2)
 +  * LED Albastru: Conectat la pinul 4 (GPIO 4)
 +  * Buzzer: Conectat la pinul 18 (GPIO 18)
  
 ===== Software Design ===== ===== Software Design =====
 +
 +**Mediu de dezvoltare:​**
 +  * https://​app.diagrams.net/​ - realizarea schemei bloc
 +  * Arduino IDE 2.3.2 - dezvoltarea codului și încărcarea lui pe ESP32
 +
 +**Cod:**
 +https://​github.com/​SarahCraciun/​PM_Baby_Alarm.git
 +
 +**Implementare:​**
 +
 +//Plăcuța 1//
 +
 +1. înainte de setup()
 +
 +  * Import biblioteci: #include <​BluetoothSerial.h>​ pentru a permite comunicarea Bluetooth.
 +
 +  * Declarații obiect și variabile:
 +
 +  * BluetoothSerial SerialBTș pentru a crea un obiect Bluetooth serial.
 +
 +  * const int micPin = 35; definește pinul unde este conectat microfonul.
 +
 +  * const int threshold = 100; definește pragul de detecție a sunetului.
 +
 +  * int read_mic_value() este o funcție pentru citirea și media valorilor de la microfon.
 +
 +2. setup()
 +
 +  * Inițializarea serialului: Serial.begin(115200);​ pentru debug prin USB. 
 +
 +  * Inițializarea Bluetooth: SerialBT.begin("​ESP32_MIC"​);​ pentru a seta numele dispozitivului Bluetooth.
 +
 +  * Configurarea pinului microfonului:​ pinMode(micPin,​ INPUT);.
 +
 +  * Așteptare client Bluetooth: Un ciclu while pentru a aștepta conectarea unui client Bluetooth, cu mesaje de status.
 +
 +3. loop()
 +
 +  * Verificare conexiune Bluetooth: if (SerialBT.hasClient()) pentru a verifica dacă există un client conectat.
 +
 +  * Citirea valorilor microfonului:​ Citirea valorilor de la microfon folosind read_mic_value().
 +
 +  * Trimiterea mesajului: Dacă valoarea depășește pragul, trimite mesajul "​X"​ către client.
 +
 +  * Așteptare reconectare:​ Dacă clientul se deconectează,​ așteaptă reconectarea acestuia.
 +
 +//Plăcuța 2//
 +
 +1. înainte de setup()
 +
 +  * Import biblioteci: #include <​BluetoothSerial.h>​ pentru a permite comunicarea Bluetooth.
 +
 +  * Declarații obiect și variabile:
 +
 +  * BluetoothSerial SerialBT; pentru a crea un obiect Bluetooth serial.
 +
 +  * const int redLedPin = 2; definește pinul pentru LED-ul roșu.
 + 
 +  * const int blueLedPin = 4; definește pinul pentru LED-ul albastru.
 +
 +  * const int buzzerPin = 18; definește pinul pentru buzzer.
 +
 +  * uint8_t serverMAC[6] = {0xa0, 0xa3, 0xb3, 0x96, 0x5c, 0xee}; adresa MAC a serverului Bluetooth.
 +
 +2. setup()
 +
 +  * Inițializarea serialului: Serial.begin(115200);​ pentru debug prin USB.
 +
 +  * Inițializarea Bluetooth: SerialBT.begin("​ESP32_ALERT",​ true); pentru a seta numele dispozitivului Bluetooth în modul master.
 +
 +  * Configurarea pinurilor: Configurarea pinurilor LED-urilor și buzzer-ului ca ieșiri.
 +
 +  * Resetare ieșiri: Oprește toate ieșirile la început.
 +
 +  * Conectare Bluetooth: Un ciclu while pentru a încerca conectarea la serverul Bluetooth specificat prin adresa MAC, cu mesaje de status.
 +
 +3. loop()
 +
 +  * Verificare conexiune Bluetooth: if (SerialBT.connected()) pentru a verifica dacă este conectat la server.
 +
 +  * Recepționare date: Dacă există date disponibile,​ le citește și verifică dacă a primit mesajul "​X"​.
 +
 +  * Control LED-uri și buzzer: Dacă mesajul "​X"​ este primit, controlează LED-urile și buzzer-ul pentru a simula o alarmă.
 +
 +  * Reconectare:​ Dacă conexiunea se pierde, încearcă reconectarea automată la server.
 +
 +**Concepte:​**
 +
 +1. GPIO (General Purpose Input/​Output)
 +Configurare pini: pinMode(pin,​ mode) este folosit pentru a seta pinul în mod INPUT sau OUTPUT.
 +  * În plăcuța 1, pinul microfonului este configurat ca INPUT: pinMode(micPin,​ INPUT).
 +  * În plăcuța 2, pinii LED-urilor și buzzer-ului sunt configurați ca OUTPUT: pinMode(redLedPin,​ OUTPUT), pinMode(blueLedPin,​ OUTPUT), pinMode(buzzerPin,​ OUTPUT).
 +Scriere digitală: digitalWrite(pin,​ value) este folosit pentru a seta starea unui pin digital la HIGH sau LOW.
 +Controlul LED-urilor și buzzer-ului:​ digitalWrite(redLedPin,​ HIGH), digitalWrite(blueLedPin,​ LOW), digitalWrite(buzzerPin,​ HIGH).
 +
 +2. ADC (Analog-to-Digital Converter)
 +Citire analogică: analogRead(pin) este folosit pentru a citi valoarea de tensiune de pe un pin analogic.
 +  * În plăcuța 1, valoarea microfonului este citită de pe pinul micPin (GPIO 35): analogRead(micPin).
 +
 +3. Bluetooth Serial Communication
 +Biblioteca BluetoothSerial:​ Utilizată pentru comunicarea serială Bluetooth între cele două plăcuțe ESP32.
 +Inițializarea Bluetooth: SerialBT.begin("​DeviceName"​).
 +Verificarea conexiunii: SerialBT.hasClient() pentru a verifica dacă un client este conectat (plăcuța 1).
 +Conectarea la un server: SerialBT.connect(serverMAC) pentru a stabili conexiunea (plăcuța 2).
 +Trimiterea datelor: SerialBT.print("​X"​) pentru a trimite un mesaj (plăcuța 1).
 +Citirea datelor: SerialBT.read() pentru a citi mesajele primite (plăcuța 2).
 +
 +4. PWM (Pulse Width Modulation)
 +Generarea semnalelor audio: tone(pin, frequency) și noTone(pin) sunt folosite pentru a genera semnale PWM pe pinul buzzer pentru a produce sunete la frecvențe diferite.
 +  * În plăcuța 2, buzzer-ul este activat folosind: tone(buzzerPin,​ frequency) și oprit cu: noTone(buzzerPin).
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +{{:​pm:​prj2024:​ccontasel:​baby_alarm_microfon_neimpachetat.jpg?​300|}}
 +{{:​pm:​prj2024:​ccontasel:​baby_alarm_microfon_impachetat.jpg?​300|}}
 +{{:​pm:​prj2024:​ccontasel:​baby_alarm_alarm_neimpachetat.jpg?​300|}}
 +{{:​pm:​prj2024:​ccontasel:​baby_alarm_alarm_impachetat.jpg?​300|}}
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Realizarea acestui proiect a fost o experiență educativă și satisfăcătoare. 
 +  
 +Am apreciat eficiența comunicării Bluetooth și versatilitatea plăcuțelor ESP32.
  
 +Am întâmpinat provocări, cum ar fi decuparea cartoanelor :). 
 +
 +Proiectul are potențial de scalabilitate și aplicații viitoare interesante în diverse domenii.
 +===== Download =====
 +https://​github.com/​SarahCraciun/​PM_Baby_Alarm.git
 ===== Ținte ===== ===== Ținte =====
-<note tip> 
   * obținerea unui timp cât mai scurt de la momentul în care bebelușul începe să plângă până la alertarea părinților prin alerte vizuale și sonore   * obținerea unui timp cât mai scurt de la momentul în care bebelușul începe să plângă până la alertarea părinților prin alerte vizuale și sonore
   * împachetarea proiectului într-o formă cât mai estetică, gata de a fi vândută   * împachetarea proiectului într-o formă cât mai estetică, gata de a fi vândută
-</​note>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
Line 67: Line 191:
   * 04.05.2024 - creare pagină ocw și completarea parțială a documentației   * 04.05.2024 - creare pagină ocw și completarea parțială a documentației
   * 06.05.2024 - continuarea completării documentației   * 06.05.2024 - continuarea completării documentației
-  * 17.05.2024 - scmea electrica+  * 17.05.2024 - schema electrică 
 +  * 22.05.2024 - finalizare hard 
 +  * 23.05.2024 - finaliza soft 
 +  * 25.05.2024 - finalizare pagină ocw
  
  
Line 75: Line 202:
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +
 +  * https://​www.espressif.com/​sites/​default/​files/​documentation/​esp32_technical_reference_manual_en.pdf
 +  * https://​www.espressif.com/​sites/​default/​files/​documentation/​esp32_technical_reference_manual_en.pdf
  
pm/prj2024/ccontasel/sarah_maria.craciun.1716723805.txt.gz · Last modified: 2024/05/26 14:43 by sarah_maria.craciun
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