Project showcase
How To Make an Arduino Japanese Kotatsu (Heating Table)

How To Make an Arduino Japanese Kotatsu (Heating Table) © CC BY-NC-SA

How To Make ARDUINO Kotatsu! Kotatsu with ARDUINO starts from scratch, winter project! World's first guide to make Arduino kotatsu.

  • 1,239 views
  • 1 comment
  • 2 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)
Hand saw
Electric miter saw
Electric Trimmer
Electric saending
A4kb1xynkid5ebvjyil7
Digilent Screwdriver
Rubber hammer
Hand drill

About this project

SIMP TEAM's Kotatsu

Turn on the YouTube subtitles option (CC English)

What is a Kotatsu?

Before explaining this work --- first let's get to know what [Kotatsu] is. 'Kotatsu' is a Japanese heating appliance. In other words, the heater built in the table, covered by thick blanket which makes sure the heat inside won't escape. If you are familiar with Japanese culture, they are very often found in various drama, movies, animation, cartoons etc. In Japan, floor heating system is not commonly used, so heating mat and kotatsu are mainly used in winter to keep people warm. It is often expressed like: [the table that you can never get out of, once you go in]. In other words, warm temperature of the kotatsu is maintained continuously, and once entered, one can not just escape from its warmth. picnic in a warm spring will be a neat metaphor. However, it is simply the best item of winter in seat culture.

World's first [incandescent lightbulb] type of Arduino Kotatsu

This kotatsu is the world's first [incandescent light bulb type] of the kind we made. Strong rubber woods are used, and because we used incandescent bulbs, it has around 50~70 Wh of power consumption which is considerably low-power. Also, the gadget is made out of Arduino, it is easy to make.

Safety

Operation is completely safe because relay switch is applied together. However, being very fastidious people about safety and to prevent any tiniest possibilities of fire, there are couple of built-in safety devices:

  • even if Arduino malfunctions, there is a bimetal sensor with physical switch that prevents overheating,-glass-tube fuse to prevent overcurrent.
  • more than anything, incandescent bulbs are known for its low fire risk. so absolutely no need to worry about fire.

Other uses

[Incandescent Lightbulb Arduino Kotatsu] can be useful not only in oriental floor-sitting culture but also in western table-chair-sitting culture. for example it can be also good to apply this in a normal table, or a desk.

We proactively recommend it to use it in cold regions.

Extra adjust with

  • If the relay switch is too loud, or you want 'softer' warmth, simply adjust the brightness of incandescent bulb with PWM, using SSR. personally we recommend SSR method.
  • Later we will upload SSR remodeling episode as well. keep in touch if you are interested!

How it works

The incandescent lightbulb Arduino Kotatsu is a heating appliance, which applied the idea of heat convection principle.

Think blanket (futon) is placed on the table, and on there top plate is attached. then the internally-generated-heat maintains sustained warmth, which allows it to operate with low power consumption.

Code

SIMP TEAM's Kotatsu MK1.zipArduino
Please Download the file and unzip it.
//https://www.youtube.com/simpteam
//SIMP TEAM

#include <Wire.h>  
#include <LiquidCrystal_I2C.h>   
#include <sound_effect.h>  
#include <thermistor.h> 
#include <MsTimer2.h>  


LiquidCrystal_I2C lcd(0x27,16,2);  

int PotenTiometer = A0;  
int Thermistor = A1;  
int PotenTiometer_val;   
int Relay_Heating = 6;   
int Heating_LED = 2;  
int System_Switch = 4;  
float Temp; 

uint8_t clock[8] = {0x0, 0xe, 0x15, 0x17, 0x11, 0xe, 0x0};   
uint8_t heart[8] = {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0};  

unsigned long this_time = millis();  
int this_state = 0;   


void setup() {   
  pinMode(Heating_LED, OUTPUT);    
  pinMode(System_Switch, INPUT_PULLUP);    )
  pinMode(Relay_Heating , OUTPUT);   

  digitalWrite(Relay_Heating, HIGH); 
  lcd.begin();   
  lcd.backlight();     
  lcd.clear();     
  delay(1000);     
  
  lcd.print("Hello, SIMP! ^0^"); 
  delay(500);   
  lcd.setCursor(0, 1);    
  lcd.print("KOTATSU MK1-2017");   
  seSqueak(13);   

  lcd.createChar(2, clock);    
  lcd.createChar(3, heart);  
  
  MsTimer2::set(14400000,timeout);  
  MsTimer2::start();   
}


void loop() {     


  if(digitalRead(System_Switch) == LOW) {    
    PotenTiometer_val = analogRead(PotenTiometer);    
    PotenTiometer_val = map(PotenTiometer_val, 0, 1023, 30, 40); 
    Temp = analogRead(Thermistor);   

    lcd.clear();    
    lcd.print("Temp : ");    
    lcd.print(ThermistorToC(Temp));   
    lcd.print("(");
    lcd.print(PotenTiometer_val);   
    lcd.print(")");
    lcd.setCursor(0, 1); 


    if(ThermistorToC(Temp)<PotenTiometer_val && this_state==0) {      
      digitalWrite(Relay_Heating, LOW);  
      digitalWrite(Heating_LED, HIGH);    
      lcd.print("Heating ON ");     
      lcd.write(3);    
    } 
    

    else{     
      digitalWrite(Relay_Heating, HIGH);  
      digitalWrite(Heating_LED, LOW);  
      lcd.print("Heating OFF ");    
      lcd.write(2);    
      this_state =1;    
    }
    delay(1000);  
  }
  
  
   if(ThermistorToC(Temp)>PotenTiometer_val || ThermistorToC(Temp)<PotenTiometer_val && this_state==1) {     
    if(this_time + 60000 < millis() ) {    
      this_time=millis();   
      this_state = 0;           
    }
  delay(1000);   
   }


   if(ThermistorToC(Temp)>50) {   
    lcd.clear();    
    lcd.print("Warning"); 
    delay(1000);    
    lcd.setCursor(0, 1);    
    lcd.print("High Temperature");   
    seAlarm(13);  
    digitalWrite(Relay_Heating, HIGH);    
   }


   if(digitalRead(System_Switch) == HIGH) {   
    lcd.clear(); 
    digitalWrite(Heating_LED, LOW);     
    digitalWrite(Relay_Heating, HIGH);   
    lcd.print("bye, SIMP! ^0^");   
    delay(1000); 
    lcd.setCursor(0, 1);    
    lcd.print("Sleep Mode");     
    delay(1000);    
   }
}

void timeout() {    
  digitalWrite(Relay_Heating, HIGH);    
  digitalWrite(Heating_LED, LOW);   
  lcd.clear();  
}

Custom parts and enclosures

Kotatsu Frame 1
Kotatsu Frame
2 7 100 4pmn5bqnhf
Kotatsu Frame 2
Kotatsu Frame
2 1 100 dweycivipl
Kotatsu Frame 3
Kotatsu Frame
2 2 100 gmjsovatrk
Kotatsu Frame 4
Kotatsu Frame
2 3 100 e20crx4kgk
Kotatsu Frame 5
Kotatsu Frame
2 4 100 ggsih6cq4w
Kotatsu Frame 6
Kotatsu Frame
2 5 100 zqgdozirmy
Kotatsu Frame 7
2 6 100 pbkj08sego
Kotatsu Frame 8
Kotatsu Frame
2 10 100 guukoeuqt4
MainBox Frame 1
MainBox Freame
22 1 100 vmbhhnnlwc
MainBox Frame 2
MainBox Freame
22 2 100 2peudmrizv
MainBox Frame 3
MainBox Freame
22 3 100 a1fgmv8bob
MainBox Frame 4
MainBox Freame
22 4 100 rw333ffjrc
Remote Control Box Frame 1
Remote Control Box Frame
22 5 100 nuvptnxxdd
Remote Control Box Frame 2
Remote Control Box Frame
22 6 100 o5hszf2xkh
Remote Control Box Frame 3
Remote Control Box Frame
22 7 100 zvzeqwb5lk
Remote Control Box Frame 4
Remote Control Box Frame
22 8 100 83muovezg0
Remote Control Box Frame 5
Remote Control Box Frame
22 9 100 aqgdrriyrc
Kotatsu inner Device
Kotatsu inner Device
123artboard 2 100 zkfiptowqq
Incandescent Lamp(bulb)
Incandescent Lamp(bulb)
12 1 100 i6yqnuq7kb
Principle of Kotatsu
1 1 100 2w5ry0vyrx

Schematics

Kotatsu Mainbox
It is the main board and controls all of it.
2 1 vetnbuqbot
Remote Control Box
This is the remote control needed to activate the Kotatsu.
2 2 kaovg6t36m
Full circuit
This is Kotatsu's Circuit Diagram.
2 3 wl5pbztvqk

Comments

Similar projects you might like

Interactive LED Table for 50€

Project showcase by Antoine Rochebois

  • 29,236 views
  • 12 comments
  • 100 respects

On Table Clock & Temp

Project showcase by taha_vs

  • 2,623 views
  • 0 comments
  • 5 respects

Automatic Humidifier

Project showcase by chenwei19940207

  • 1,908 views
  • 2 comments
  • 5 respects

Fairytale

Project in progress by siliconchris

  • 500 views
  • 0 comments
  • 2 respects

Marduino Party 1

Project tutorial by Arduino “having11” Guy

  • 1,132 views
  • 0 comments
  • 0 respects

Broadcast Radio/TV Connection Monitor

Project showcase by WT040

  • 1,221 views
  • 0 comments
  • 1 respect
Add projectSign up / Login