This shows you the differences between two versions of the page.
pm:prj2025:iotelea:alexa_andreea.voicu [2025/05/26 02:26] alexa_andreea.voicu [Resurse] |
pm:prj2025:iotelea:alexa_andreea.voicu [2025/05/26 21:44] (current) alexa_andreea.voicu [Software Design] |
||
---|---|---|---|
Line 41: | Line 41: | ||
The LCD display shows live values of temperature and humidity and the alerts for the user, while LEDs indicate status: | The LCD display shows live values of temperature and humidity and the alerts for the user, while LEDs indicate status: | ||
- | Green = optimal | ||
- | Yellow = warning | + | * Green = optimal |
- | + | * Yellow = warning | |
- | Red = out of range | + | * Red = out of range |
The buzzer notifies the user when human intervention is needed. | The buzzer notifies the user when human intervention is needed. | ||
Line 161: | Line 160: | ||
The buzzer is passive, meaning it needs a signal with a defined frequency. | The buzzer is passive, meaning it needs a signal with a defined frequency. | ||
It only activates when the system transitions into the red alert state | It only activates when the system transitions into the red alert state | ||
- | It emits three tones with decreasing frequency (1000 Hz → 800 Hz → 600 Hz), each followed by a short pause | + | It emits three tones with decreasing frequency (1000 Hz → 800 Hz → 600 Hz), each followed by a short pause. |
- | Total alert duration: approx. 2 seconds | + | Total alert duration is approx. 2 seconds. |
- | The tone is played using Arduino’s tone() function and not repeated unless a new red alert is triggered | + | The tone is played using Arduino’s tone() function and not repeated unless a new red alert is triggered. |
The fan is connected via an IRF520 module and is triggered only if the temperature exceeds 27°C. | The fan is connected via an IRF520 module and is triggered only if the temperature exceeds 27°C. | ||
Line 181: | Line 180: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | While my project wasn’t very complex, it gave me the opportunity to integrate multiple hardware components and manage real-time system logic. The availability of the libraries for the DHT22 sensor, LCD, and SD card modules helped me a lot with my work, allowing me to focus more on logic and the incubator's behavior. | ||
+ | |||
+ | The biggest challenge was controlling the fan. I initially underestimated the current it needed, and quickly realized that driving it directly from a digital pin was not possible. So I needed to used a 12V battery, but wasn't sure how i would actually connect it so that it would work without any risks. After some research, I added an IRF520 Mosfet module, and thinking now, a flyback diode would have been a great addition to protect against voltage spikes when switching off the fan. | ||
+ | |||
+ | Another issue was that I didn't know what the timing conflicts would be between SD card access and LCD updates. At one point, I | ||
+ | was trying to write to the SD card while displaying messages caused flickering and delays. I had to be careful about when and how often updates happened, and add short delays to give each module time to operate without interfering. | ||
+ | Overall, the project helped me learn how to integrate sensors, fans and storage, and how to troubleshoot the small issues that appear only when everything is running at the same time. | ||
===== Resurse ===== | ===== Resurse ===== | ||