Automatic Fan With Display - ME208 Project

by thatguy4d in Circuits > Arduino

14 Views, 0 Favorites, 0 Comments

Automatic Fan With Display - ME208 Project

IMG_5913.png
F7G4TTSMA2IPKWC.png

For our ME208 project, our team developed am automatic fan that does far more than just blow air! It has 3+ speed settings for advanced climate control, with the fan taking out the guesswork of temperature regulation by adjusting to the current temperature in real time. It also doubles as a thermometer, displaying the in room temp on a state of the art LCD display!

Supplies

  1. Sparkfun kit
  2. Arduino Uno - R3 SMD and Breadboard (x1)
  3. Jumper Wires (x 30)
  4. TMP36 Temperature Sensor (x1)
  5. 140 RPM Hobby Gearmotor (x1)
  6. Sparkfun Motor Driver (x1)
  7. 16x2 Character LCD (x1)
  8. 10K Ohm Potentiometer
  9. Sparkfun Box
  10. Cardboard
  11. Tape or Velcro

Video Walkthrough

instructions for me208 project temperature controlled fan

Here's our video covering a walkthrough of the build process.

Wiring Diagram and Circuit Overview

Project Arduino (4_7_2025) (1).png

Full Tinkercad diagram showing breadboard, and wiring setup for the fan.

Note: The black "L239D" motor driver is NOT the one in the Sparkfun kit! The wiring will be similar, but slightly different, as you will notice below.

Also: The Tinkercad LCD screen requires use of a resistor to function in the webpage. You will not need a resistor in your setup.

Attach 16x2 Character LCD to Breadboard

IMG_5720.png

Attach 16x2 Character LCD to breadboard, aligning the top pin with A15, and the bottom pin with A30.

Note: The Screen will hang off the side of the board, with the pins aligned with the top corner of the board. This will give room to the other components.

Attach TMP36 Temp. Sensor to Breadboard

IMG_5723.png
IMG_5727.png

Attach TMP36 Temperature Sensor to breadboard, aligning the furthest left pin with I3, and the bottom pin with I1.

Note: It is important that your sensor is facing the correct direction! As seen in our board, the rounded side MUST face away from you!

Attach Motor Driver to Breadboard

IMG_5726.png

Attach motor driver to breadboard, aligning the top row between B4 and B11, and the bottom row between F4 and F11.

Note: When aligning the driver with the board, ensure it is placed properly, with the small golden square on the driver itself being on the right of the larger black square.

Attach Potentiometer to Breadboard

IMG_5728.png

Attach Potentiometer to breadboard, with the leftmost pin in hole H25 and the rightmost pin in hole H23.

Note: Orientation doesn't necessarily matter, as it will function either way.

Wire the Breadboard Power Rails

IMG_5730.png

Connect Jumper Wires (preferably red and black for Positive and Negative) with Red connected to 5V on the Arduino, and the Black connected to the ground on the Arduino, connected on the far right end on the power rail and ground rail respectively. Then on the opposite end of the rails, connect another two wires on the far left end; connecting the top and bottom rails to one another.

Wire the Temperature Sensor to the Arduino

IMG_5733.png

This step will use 3 wires to setup the sensor.

The first wire (red) connects the power rail to hole I3, while the second wire (black) connects the ground rail to row I1.

The middle wire (white) will connect between I2 and A0 on the Arduino Uno.

Wire Motor Driver and Motor to Arduino

IMG_5735.png
IMG_5734.png

First, the Wires connected to the power bar will be labeled VM, VCC, and STBY.

Second, the ground bar will connect to the GND on the LEFT side of the board

Third, the pins connecting to the actual Arduino:

  1. The PMWA port is connected to 6 on the Arduino
  2. The AIN2 port is connected to 4 on the Arduino
  3. The AIN1 port is connected to 5 on the Arduino

Fourth, the A01 and A02 ports will connect to the gear motor, with the red line connected to A01, and the black line to A02.

Wire Potentiometer

IMG_5736.png

Connect the Potentiometer to the Power rail, linking it to I25. Then link in the Ground rail, linking it to I23.

Finally, Connect I24 to E17. this will allow for control over the brightness of the LCD screen. You may determine what level of contrast is most helpful for your project, however we set our potentiometer to around the midpoint of its range.

Wire LCD Screen to Arduino

IMG_5738.png

This one is a little more straight forward.

  1. Connect E30, E19, and E15 to the ground rail
  2. Connect E29 and E16 to the power rail
  3. Connect E28 to pin 8 on the Arduino
  4. Connect E27 to pin 9 on the Arduino
  5. Connect E26 to pin 10 on the Arduino
  6. Connect E25 to pin 11 on the Arduino
  7. Connect E20 to pin 12 on the Arduino
  8. Connect E18 to pin 13 on the Arduino

Construct Case

FYOCQD6MA2IPKWT.png
FJPDN9WMA2IPKXC.png
F7G4TTSMA2IPKWC.png

For the actual case, we decided to use the box the Sparkfun kit is typically shipped with.

Make marks to where the USB connector is on the board to add an access port on the side, as well as where the LCD would line up, and a small square hole in the lid of the box to act as the hole for where the gear motor will stick out from.

Then, along the far end cut large air holes to allow heat from the board to escape the box.


Optionally, you can decorate the box with duct tape like we did, to add some excitement to the fan.

Getting the Arduino in the Case

IMG_5886.png
IMG_5879.png

Now attach Velcro (tape is also acceptable) to both the underside of the Arduino/breadboard plate and tape it down.

It is important to accurately line it up correctly with both the USB port hole, and the LCD hole.

Next take the gear motor itself and connected it to the underside of the lid, with the motor arm sticking out on the outer side. We used Velcro again to attach the motor to the lid, but tape is also acceptable here.

Note: The gear motor will likely need to be detached from the breadboard for this part, as the wires likely aren't long enough. Just make sure to reattach before sealing the box back up.

Construct Fan and Connect to Gear Motor

F6H9WZJMA2IPKVW.png

Lastly, make your individual blades.

The motor arm itself isn't incredibly large, so adding some extra length to the arm by adding some tape is helpful.

From there using cardboard, preferably thinner (in ours we used a Dr.Pepper box) and in a standard fan blade shape, cut out 4 blades, and with some thicker cardboard as a base (think amazon box) tape the blades down and arrange them in a plus shape.

Finally, affix them to the gear motor. Tape, glue, anything really works as long as it stays attached. We used a mix of both glue and tape.

Upload Code to Arduino

Lastly, Connect the Arduino to your computer via the USB and simply upload this code, and enjoy!

Downloads