Electric Hand Heater for Typers

by 21borletti8825 in Circuits > Arduino

116 Views, 1 Favorites, 0 Comments

Electric Hand Heater for Typers

IMG_1786.JPG

Hey fellow typers! I’m sure many of you know the feeling of having cold hands while typing away… I know I do! That’s why I created this device to heat your hands with the click of a button. Below you will see a guide to creating the perfect heating mount (meant to be placed in front of your keyboard). Alongside it is an LCD panel that tells you the temperature in your room (which is useful in my case as I don’t have AC) and the state (ON or OFF) of your electric heating pad(s).

Step 1: Connecting the LCD

IMG_1778.jpg

Copy the wiring in the picture above… could require more wiring with a different type of LCD (as well as slightly modified code in the variables), but the idea is the same.

Step 2: Connecting Heater(s)

IMG_1779.jpg

Copy the wiring in the picture above… if using multiple electric heating pads, do not attempt to connect them in series with the power source (Arduino), as its effectiveness depends on both voltage and wattage.

Step 3: Connecting Temperature Sensor

IMG_1782.jpg

Copy the wiring in the picture above… at this point you might be running out of space on your arduino (with pins). While this can easily be solved by simply connecting +1 wires to each pin directly, another great solution to this problem is using the female connector of a ribbon cable crimp-on piece!!!

Step 4: Connecting Button

IMG_1781.jpg

Copy the wiring in the picture above… make sure to pay attention to the direction of the terminals in the push button when connecting it to things!

Step 5: Inserting Code

//Heater & sensor variables const int heaterPin = 13; const int sensorPin = A0; const int buttonPin = 8; float sensorVal; int buttonState = 0; int onOff = 0;

//LCD variables #include const int LCD_D7 = 7; const int LCD_D6 = 6; const int LCD_D5 = 5; const int LCD_D4 = 4; const int LCD_E = 11; const int LCD_RS = 12; const int SWITCH_PIN = 10; LiquidCrystal Lcd(LCD_RS, LCD_E, LCD_D4, LCD_D5, LCD_D6, LCD_D7); const int LCD_WIDTH = 16; const int LCD_HEIGHT = 2;

void setup() { //Heater pinMode(heaterPin, OUTPUT); //Ultrasonic sensor setup Serial.begin(9600); //LCD setup Lcd.begin(LCD_WIDTH, LCD_HEIGHT); pinMode(SWITCH_PIN, INPUT); Lcd.setCursor(0, 0); Lcd.print("Heater: OFF"); Lcd.setCursor(0, 1); Lcd.print("Temperature: "); }

void loop() { //Read sensor & map to temperature (°F) value sensorVal = map(analogRead(tempSensorPin), 20, 358, -40, 125); Lcd.setCursor(14, 1); Lcd.print(sensorVal); //Read button & turn on/off heater if (digitalRead(buttonPin) != buttonState && digitalRead(buttonPin)) { onOff = !onOff; }

if (onOff) { digitalWrite(heaterPin, HIGH); Lcd.setCursor(0, 8); Lcd.print("ON "); } else { digitalWrite(heaterPin, LOW); Lcd.setCursor(0, 8); Lcd.print("ON"); } buttonState = digitalRead(buttonPin); }

(optional) Step 6: Adding a Frame

IMG_1785.jpg

Even a small plastic cutout to hold up the heating pad(s) works (preferably not paper so it’s not a fire hazard!).

Step 7: Testing It Out!

Electric Hand Heater for Typers

Watch the video!