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 | ||