A puppet substitutes for me when I’m not in the fablab.
It can be an alarm and a clock. You can set alarms to remind appointments.
It cheers us constantly like "Do your best!” “Don’t be serious” ”Take it easy.”
Finally, I decided my final project. I made "s-eel clock".
It has three imput devices.
And when I push the buttons / when it become the time I set up
===What's s-eel?===
S-eel is a mascot of fablab kyushu univ.β designed by Shinichiro Ito. It has "S" shape in English and olso has "乙" shape in Japanese Kanji. "乙" call "otsu" in japanese. Therefore, we call this "otsu-unagi".
Reference : How to make otsunagi (in japanese)
My project plan is here.
I made 5 boards : read_microSD/ audio amp / power_supply / push_switch and got RTC board from online electronics parts shop.
I wrote a program with Arduino IDE. I used three libraries : PCF2129AT / TMRpcm / SD.
Download :
program.zip
/* otsu_clock!!!!!!!! Arduino 1.6.9 Library - PCF2129AT/TMRpcm */ #include "Wire.h" #include "PCF2129AT.h" #include "SD.h" #define SD_ChipSelectPin 10 #include "TMRpcm.h" #include "SPI.h" PCF2129AT rtc; dt_dat dt,dt_alarm; TMRpcm tmrpcm; int pH; int swA = 4; // push button pin number int swB = 5; int swC = 6; void setup() { pinMode(swA, INPUT); // push button I/O setting pinMode(swB, INPUT); pinMode(swC, INPUT); tmrpcm.speakerPin = 9; // speaker Serial.begin(9600); Wire.begin(); rtc.init(); Serial.println("PC2129AT Sample Program"); dt.h = 13; // set starting time : hour,month,second dt.m = 8; dt.s = 50; rtc.setDate(&dt); rtc.setAlarm(&dt_alarm); pH = dt.h; if (!SD.begin(SD_ChipSelectPin)) { Serial.println("SD fail"); return; } } void loop () { rtc.getDate(&dt); if(dt.h != pH && dt.h == 9){ tmrpcm.play("9.wav"); }else if(dt.h != pH && dt.h == 10){ tmrpcm.play("10.wav"); }else if(dt.h != pH && dt.h == 11){ tmrpcm.play("11.wav"); }else if(dt.h != pH && dt.h == 12){ tmrpcm.play("12.wav"); }else if(dt.h != pH && dt.h == 13){ tmrpcm.play("13.wav"); }else if(dt.h != pH && dt.h == 14){ tmrpcm.play("14.wav"); }else if(dt.h != pH && dt.h == 15){ tmrpcm.play("15.wav"); }else if(dt.h != pH && dt.h == 16){ tmrpcm.play("16.wav"); }else if(dt.h != pH && dt.h == 17){ tmrpcm.play("17.wav"); }else if(dt.h != pH && dt.h == 18){ tmrpcm.play("18.wav"); }else if(dt.h != pH && dt.h == 19){ tmrpcm.play("19.wav"); }else if(dt.h != pH && dt.h == 20){ tmrpcm.play("20.wav"); }else if(dt.h != pH && dt.h == 21){ tmrpcm.play("9.wav"); }else if(dt.h != pH && dt.h == 22){ tmrpcm.play("10.wav"); }else if(dt.h != pH && dt.h == 22){ tmrpcm.play("11.wav"); }else if(dt.h != pH && dt.h == 22){ tmrpcm.play("otsu_taiiku.wav"); }else if(dt.h != pH && dt.h == 23){ tmrpcm.play("otsu_taiiku.wav"); }else if(dt.h != pH && dt.h == 24){ tmrpcm.play("otsu_taiiku.wav"); } if(digitalRead(swA) == HIGH){ tmrpcm.play("otsu.wav"); } if(digitalRead(swB) == HIGH){ tmrpcm.play("10.wav"); } if(digitalRead(swC) == HIGH){ tmrpcm.play("13.wav"); } Serial.print("\t hour :"); Serial.print(dt.h,DEC); Serial.print("\t minutes :"); Serial.print(dt.m,DEC); Serial.print("\t second :"); Serial.println(dt.s,DEC); delay(1000); pH = dt.h; }
I wrote this program on the main board. Finally, it worked!
I lasercut body and eyes parts with trotec speedy300 80W.
In felt 1mm, laser cutter setting is power 30% speed 4.2%. In seal felt 1mm, power 30% speed 1%.
Then, I sewed left and right body with sewing machine.
I inserted boards and speaker into the s-eel body with cotton. Then I finished!