As a beginner in using microcontrollers, I explored the idea of building a temperature-controlled fan system. My initial plan involved using a DHT11 temperature sensor to measure the temperature and automatically turn the fan on if the temperature exceeded 79°F and off if it fell below that threshold. To enhance the project, I considered using an LCD1602 display to show the current temperature. This would allow me to build on the code provided in class while using additional components (Fan + LCD).

However, I quickly encountered challenges with implementing the LCD. Due to the complexity of integrating the display with the microcontroller, I decided to drop that aspect and focus on the fan control system. I used the UNO R3 Controller Board and a breadboard to put the circuit together. Unfortunately, when I tested the setup, the serial monitor consistently reported a failure to read from the DHT11 sensor. Despite thoroughly checking all connections, the issue persisted.

To troubleshoot, I double-checked the wiring and the code but could not resolve the problem. In an effort to try to work around this issue, I decided to switch to a simpler button-based fan control system. I found sample code from the Arduino website and adapted it to control the fan. However, even during this stage, I faced additional issues—most notably the board repeatedly disconnecting from my laptop. I suspected that a faulty cable was causing the problem, as the issue continued even when I switched to another laptop. Additionally, the fan motor became detached from the wires, making it harder to manage (having to use both hands to hold it together).

Despite the setbacks, I learned valuable lessons throughout this project. I discovered that microcontrollers are powerful tools for controlling systems through code, serving as a bridge between digital instructions and physical actions. I also learned that selecting the right components is crucial and sometimes involves dealing with unexpected challenges, like needing transistors and diodes that were not initially mentioned. Figuring out how to connect the transistor was also a challenge since it required looking at several data sheets to determine the correct configuration.

In the end, I did not achieve a fully functional system. The temperature sensor did not work as intended, so it could not influence the fan, and the fan continued running regardless of the button state. Although the project did not yield the desired outcome, it gave me insight into how microcontrollers can be used to control real-world devices.

Some potential applications of microcontrollers in everyday life include smartphones, cars, refrigerators, washing machines, and smoke alarms. This experience has motivated me to continue learning and improving my skills in microcontroller programming and circuit design.

Picture includes a breadboard involving wires and connected to the UNO R3 Controller Board with wires. DHT11 sensor and Fan Motor are also connected to breadboard.
Final Wiring Design For DHT11 and Fan Model
Screenshot showing output text in Serial Monitor from code written in Arduino.
Screenshot of Result from DHT11 and Fan Model
Picture includes a breadboard involving wires and connected to the UNO R3 Controller Board with wires. Press Button and Fan Motor are also connected to breadboard.
Final Wiring Design For Button and Fan Model
TinkerCAD Diagram showing connections for a DHT11 and Fan Model. The diagram involves Picture includes a breadboard involving wires and connected to the UNO R3 Controller Board with wires. DHT11 sensor and Fan Motor are also connected to breadboard.
TinkerCAD Diagram of DHT11 and Fan Model

The TinkerCAD model for the Press Button is essentially the same with the DHT11 replaced with the press button. A wire goes from digital pin 2 to one leg of the pushbutton. That same leg of the button connects through a pull-down resistor (here 10K ohm) to ground. The other leg of the button connects to the 5 volt supply.

Video includes the UNO R3 Controller Board's LED Slowly Turning Off showing that the Controller kept dying. The video also includes different components on a table including resists and breadboard and wires.
Video of LED Dying and Board Disconnecting Alone Several Times

Sources and Relevant Data Sheets Used:

-Arduino Slides from BME66 Class: https://canvas.tufts.edu/courses/63492/files/8699505?module_item_id=1642576

-GeeksforGeeks. (2024, April 5). Real Life Applications of Microcontroller. GeeksforGeeks. https://www.geeksforgeeks.org/real-life-applications-of-microcontroller

How to Wire and Program a Button | Arduino Documentation. (n.d.). Docs.arduino.cc. https://docs.arduino.cc/built-in-examples/digital/Button/

Switching Using Transistor. (2019). Arduino Project Hub. https://projecthub.arduino.cc/SBR/switching-using-transistor-18cb61

Transistor Controlled Fan. (2017, December 12). Arduino Forum. https://forum.arduino.cc/t/transistor-controlled-fan/496435

Transistor Motor Control | Arduino Documentation. (n.d.). Docs.arduino.cc. https://docs.arduino.cc/learn/electronics/transistor-motor-control/