This shows you the differences between two versions of the page.
pm:prj2025:abirlica:macedoniu.pacuraru [2025/05/29 20:35] macedoniu.pacuraru [Software Design] |
pm:prj2025:abirlica:macedoniu.pacuraru [2025/05/29 22:20] (current) macedoniu.pacuraru [Bibliography/Resources] |
||
---|---|---|---|
Line 33: | Line 33: | ||
{{:pm:prj2025:abirlica:schematicdefoc.png?500|}} | {{:pm:prj2025:abirlica:schematicdefoc.png?500|}} | ||
+ | |||
+ | Schematic made in Fusion 360. The ESP8266 was made manually because there seems to be no schematic for it on the internet. | ||
===Connections Between Components=== | ===Connections Between Components=== | ||
Line 47: | Line 49: | ||
* Second pin → 3.3V | * Second pin → 3.3V | ||
* Third pin → GND | * Third pin → GND | ||
- | * Software configuration: internal pull-up resistor is enabled with pinMode(D1, INPUT_PULLUP); | + | * Software configuration: internal pull-up resistor is enabled with pinMode(D1, INPUT_PULLUP); |
- | * Purpose: Temporarily stops the alarm and resets the alert state. | + | |
- **Passive Buzzer** | - **Passive Buzzer** | ||
* Signal pin → pin D0 (GPIO16) | * Signal pin → pin D0 (GPIO16) | ||
- | * GND → GND | + | * GND → GND |
- | * Purpose: Emits a warning sound when the temperature exceeds the threshold. Controlled with tone() and noTone(). | + | |
- **SIM800L GSM Module** | - **SIM800L GSM Module** | ||
Line 60: | Line 60: | ||
* TX (SIM800L output) → pin D7 (ESP8266 RX) | * TX (SIM800L output) → pin D7 (ESP8266 RX) | ||
* RX (SIM800L input) → pin D8 (ESP8266 TX) | * RX (SIM800L input) → pin D8 (ESP8266 TX) | ||
- | * Note: A voltage divider is recommended on ESP8266 TX → SIM800L RX, as the ESP outputs 3.3V and the SIM800L is sensitive. | ||
* VCC → separate 3.7V power source (Li-ion battery) or stabilized step-down converter | * VCC → separate 3.7V power source (Li-ion battery) or stabilized step-down converter | ||
- | * GND → Common GND with ESP8266 | + | * GND → Common GND with ESP8266 |
- | * Purpose: Sends a warning SMS only once for each alarm trigger. | + | <note> |
+ | |||
+ | * Note: A voltage divider is recommended on ESP8266 TX → SIM800L RX, as the ESP outputs 3.3V and the SIM800L is sensitive. | ||
+ | </note> | ||
- **ESP8266 (NodeMCU)** | - **ESP8266 (NodeMCU)** | ||
- | * USB → PC (for power and serial communication) | + | * USB → PC (for power and serial communication) |
- | * Purpose: Acts as the system's control unit. It receives data from the sensor, decides whether to activate the alarm, and communicates via GSM. | + | |
===== Software Design ===== | ===== Software Design ===== | ||
- | The firmware is developed in the Arduino IDE targeting the ESP8266 platform. It follows these steps: | + | The firmware is developed in the Arduino IDE targeting the ESP8266 platform. |
- | 1. Initialize the DHT11 sensor, buzzer pin, and UART communication with the SIM800L. | + | ===Purpose of the Code=== |
- | 2. Enter a loop where temperature is read every two seconds. | + | |
- | 3. If the temperature reading exceeds 50 °C, activate the buzzer and transmit an SMS alert via the GSM module using standard AT commands. | + | |
- | 4. Otherwise, keep the buzzer silent and continue monitoring. | + | |
- | + | ||
- | **Purpose of the Code** | + | |
- | + | ||
- | This program implements a fire detection system based on temperature monitoring using the ESP8266 microcontroller. It uses a DHT11 sensor to read ambient temperature, a passive buzzer to sound an alarm when the temperature exceeds a certain threshold, a button to temporarily disable the alarm, and a SIM800L GSM module to send an SMS alert. The system is designed to notify the user remotely in case of overheating or fire risk. | + | |
- | + | ||
- | **Main Software Components** | + | |
- **DHT11 Temperature Sensor** | - **DHT11 Temperature Sensor** | ||
Line 104: | Line 96: | ||
* The SMS content is: *"ALERTA: Temperatura depaseste 26.1C!"* | * The SMS content is: *"ALERTA: Temperatura depaseste 26.1C!"* | ||
- | **Flow Overview** | + | ===Flow Overview=== |
* Upon startup: | * Upon startup: | ||
Line 128: | Line 120: | ||
===== Results ===== | ===== Results ===== | ||
+ | {{:pm:prj2025:abirlica:pozaresults.jpeg?500|}} | ||
===== Conclusions ===== | ===== Conclusions ===== | ||
+ | Working on this project was both challenging and fun. At first, I wasn’t sure if everything would work together, especially the SIM800L module, which needed a lot of trial and error to set up properly. I also had to be careful with wiring and power, since I didn’t want to damage any components. | ||
+ | |||
+ | I learned a lot about how to use interrupts, how UART communication works, and how to read data from the DHT11 sensor. I also got some practice debugging both hardware and software issues, which sometimes took a while but felt great once they were solved. | ||
+ | |||
+ | In the end, I managed to build a system that detects high temperatures, triggers an alarm, and sends an SMS alert. It even has a button to silence the alarm, which works using interrupts. | ||
+ | |||
+ | Even though it’s a simple version, I think it’s a good starting point, and I’m happy with how it turned out. With more time, I’d like to improve the design and maybe add more features. Overall, it was a great learning experience. | ||
===== Bibliography/Resources ===== | ===== Bibliography/Resources ===== | ||
+ | [[https://newbiely.com/tutorials/esp8266/esp8266-dht11|ESP8266 with DHT11 – Newbiely guide]] | ||
+ | – A detailed tutorial on how to connect and read temperature from a DHT11 sensor using the ESP8266. | ||
+ | |||
+ | [[https://lastminuteengineers.com/sim800l-gsm-module-arduino-tutorial/|SIM800L GSM Module with Arduino – Last Minute Engineers]] | ||
+ | – A complete guide for using the SIM800L module to send SMS messages via AT commands. | ||
+ | |||
+ | [[https://arduino-esp8266.readthedocs.io/en/latest/reference.html|ESP8266 Interrupts – Official Documentation]] | ||
+ | – Official Arduino documentation on using interrupts. | ||
+ | [[https://www.theengineeringprojects.com/2020/09/lm2596-buck-converter-datasheet-pinout-features-applications.html|LM2596 datasheet and guide]] | ||
+ | – Technical overview of the LM2596 buck converter module |