tag:blogger.com,1999:blog-17109989923474663742024-03-12T18:32:42.347-07:00SLEEP AND REMINDER ALARMThis blog is made for showing the project work of group D in the course Ubiquitous Computing held at It-universitetet, Chalmers Campus Lidholmen. The goal of our project is to help you sleep better and to assist you in remembering what to bring when you leave your house; that is to make your everyday life better.Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-1710998992347466374.post-2767151020044653542009-12-18T05:58:00.001-08:002009-12-18T06:01:09.318-08:00Pictures from the exhibition<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfqBl2XnhVRjsG4le8-6U51TG4-WTrAbSmOjWc2zgxdob6MA6k-CtE3gg87ROp5FjL83O4250QEyk5pbKM5arjNMda3prEDULZoRMQSPrYYC6T-ZPZs3DD98aWveGvODh9OkCtDIyCYMEo/s1600-h/IMG_2999.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfqBl2XnhVRjsG4le8-6U51TG4-WTrAbSmOjWc2zgxdob6MA6k-CtE3gg87ROp5FjL83O4250QEyk5pbKM5arjNMda3prEDULZoRMQSPrYYC6T-ZPZs3DD98aWveGvODh9OkCtDIyCYMEo/s320/IMG_2999.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575937097488866" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDy6t-vRWOCtSBbWmvNpXFUXwbfSiA8YlpWbeUHjCxOwtbDXqrhQBjK-mZ_99NvuPP_LaOV58XIIa1JWvqS-4AEM6mJIdsVuRJY6WByAkrb1F7TAoQ8Gu5tU1d7ki2bBTBgYKTKKcSomCz/s1600-h/IMG_3008.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDy6t-vRWOCtSBbWmvNpXFUXwbfSiA8YlpWbeUHjCxOwtbDXqrhQBjK-mZ_99NvuPP_LaOV58XIIa1JWvqS-4AEM6mJIdsVuRJY6WByAkrb1F7TAoQ8Gu5tU1d7ki2bBTBgYKTKKcSomCz/s320/IMG_3008.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575858676519570" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBTHdU4JWIotNlW3yMXiI_YHD0Ocd3XAEOBSyf7KVAFDm91Ia5GJFrYmWUbbrMpGbf4KTLZFkB7JAWHPw9wocNUSWbBvHAcVxavHwxLMmT-Kc-1JBRxg5cygtXsDoj45VrkGF_LLvuJyma/s1600-h/IMG_3017.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBTHdU4JWIotNlW3yMXiI_YHD0Ocd3XAEOBSyf7KVAFDm91Ia5GJFrYmWUbbrMpGbf4KTLZFkB7JAWHPw9wocNUSWbBvHAcVxavHwxLMmT-Kc-1JBRxg5cygtXsDoj45VrkGF_LLvuJyma/s320/IMG_3017.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575768427660226" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQDzt0toraJcv5G8dA9guvqemKzgsMPpm1h5sZW5pFQFqeREAkl3OadDqJ4RqpNMQOoXv4_VGmv6ZMeszUJz8B4wrCHyb7zVCNbzU4RlDPfAthUJX8qe30EHPTaPwfG4ARctnZag6UBi-/s1600-h/IMG_3033.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQDzt0toraJcv5G8dA9guvqemKzgsMPpm1h5sZW5pFQFqeREAkl3OadDqJ4RqpNMQOoXv4_VGmv6ZMeszUJz8B4wrCHyb7zVCNbzU4RlDPfAthUJX8qe30EHPTaPwfG4ARctnZag6UBi-/s320/IMG_3033.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575681251534514" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV7fYGt1-VObbblhInXe6QSfOmmTKcSpKQqES6FUgr5CcaxC5ZhcTVzIvAxY1s7WoszA9pi5S2WEwyMvHAhcK7KkKkeOk8L7h7DWoTbfA8osKTzGfu9ZnrfF9YLVgcoV9JVwq3hZ7puUcx/s1600-h/IMG_3034.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV7fYGt1-VObbblhInXe6QSfOmmTKcSpKQqES6FUgr5CcaxC5ZhcTVzIvAxY1s7WoszA9pi5S2WEwyMvHAhcK7KkKkeOk8L7h7DWoTbfA8osKTzGfu9ZnrfF9YLVgcoV9JVwq3hZ7puUcx/s320/IMG_3034.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575602137118466" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJyZ5hvwlah0VOckF8eKpqhk-xv2jTq_M6KOj8DeXu3WexWKEcUhFuYlhwLDyas4K4Nq60Bm_p9nW6IzmqUKZXUkd5Sl5pTaq8kdY9ISHGUB9p_EGE5va0zU_VZgsdDcnZ1nsMTXiV-trc/s1600-h/IMG_3037.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJyZ5hvwlah0VOckF8eKpqhk-xv2jTq_M6KOj8DeXu3WexWKEcUhFuYlhwLDyas4K4Nq60Bm_p9nW6IzmqUKZXUkd5Sl5pTaq8kdY9ISHGUB9p_EGE5va0zU_VZgsdDcnZ1nsMTXiV-trc/s320/IMG_3037.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575489123351586" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx3rX_B3YKMccQSxTXGfRbdd-BIF8oWVINB5oMGZ7SyM2GG-KJ2i0Ylqg9tzIMXbpQyGiZn0SGYjLVoMedzAEa4iAPuSnLXkPq2kxea7cu82HGcldO2AitKW1uVqK846nKa__0Vt-0C-FD/s1600-h/IMG_3066.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx3rX_B3YKMccQSxTXGfRbdd-BIF8oWVINB5oMGZ7SyM2GG-KJ2i0Ylqg9tzIMXbpQyGiZn0SGYjLVoMedzAEa4iAPuSnLXkPq2kxea7cu82HGcldO2AitKW1uVqK846nKa__0Vt-0C-FD/s320/IMG_3066.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5416575382516642514" /></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com1tag:blogger.com,1999:blog-1710998992347466374.post-54244636654798611222009-12-18T05:51:00.000-08:002009-12-18T05:54:07.517-08:00Source code for alarm device#include "FatReader.h"<br />#include "SdReader.h"<br />#include "avr/pgmspace.h"<br />#include "WaveUtil.h"<br />#include "WaveHC.h"<br />#include "Fat16.h"<br />#include "Fat16util.h" <br />#include "WProgram.h"<br />#include "Wire.h"<br />#include "DS1307.h" <br />#include "WString.h"<br />#include "EEPROM.h"<br />#include "NewSoftSerial.h"<br /><br /><br />SdReader card;<br />FatVolume vol;<br />FatReader root;<br />FatReader f;<br />uint8_t dirLevel; // indent level for file/dir names<br />dir_t dirBuf; // buffer for directory reads<br />WaveHC wave; // only one!<br /><br /><br />SdCard card1;<br />Fat16 file;<br />NewSoftSerial mySerial(7,8);<br />byte wakeLght=0;<br />byte wakeSng=0;<br />byte remm=0;<br />byte slpLght=0;<br />byte slpSng=0;<br />byte sched=0;<br />byte sd;<br />byte set=14;<br />byte up =9;<br />byte Stop=6;<br />byte alarm[3];<br />//String waveString;<br />byte stateup;<br />byte stateStop;<br />byte stateset;<br />byte stateP;<br />byte stateon;<br />byte almSng=0;<br />#define error(s) error_P(PSTR(s))<br />void error_P(const char *str)<br />{<br />PgmPrint("error: ");<br />SerialPrintln_P(str);<br />while(1);<br />}<br /><br />void setup()<br />{<br />Serial.begin(9600);<br />Serial.begin(9600);<br />Serial.print(17, BYTE);<br />Serial.print(12, BYTE);<br />mySerial.begin(19200);<br /> <br />pinMode(set,INPUT);<br />pinMode(up,INPUT);<br />pinMode(Stop,INPUT);<br />pinMode(15,INPUT);<br />pinMode(17,INPUT);<br />//pinMode(0,INPUT);<br /><br />// initialize the SD card<br />if (!card1.init()) error("card.init");<br /><br />// initialize a FAT16 volume<br />if (!Fat16::init(card1)) error("Fat16::init");<br /><br />// open a file<br />if (file.open("PRINT00.TXT", O_READ)) <br />{<br />//PgmPrintln("Opened PRINT00.TXT");<br />}<br /><br />else<br />{<br />error("file.open");<br />}<br /> <br />int16_t n;<br />uint8_t buf[28];// nothing special about 7, just a lucky number.<br />byte temp[28];<br />//byte cnt=0;<br />byte cnt2=1;<br />byte val;<br />byte val2;<br />while ((n = file.read(buf, sizeof(buf))) > 0) //read from the text file 24 bytes at a time.<br />{<br />for (uint8_t i = 0; i < n; i++)<br /> { <br />//Serial.print(buf[i]);<br />temp[i]=buf[i];// get all 24 values into the temp array<br />delay(10);<br /> }<br /> for(int i=0;i<28;i=i+2)<br /> {<br /> val=temp[i]-48;<br /> val2=temp[i+1]-48;// convert consecative locations into integer values for the time array<br /> <br /> val=(val*10)+val2;// add the two values converted to get one integer value<br />// cnt2++;<br /> EEPROM.write(cnt2,val);<br /> cnt2++;<br /> }<br /> //cnt++;<br /> //cnt2=0;<br /><br /><br />}<br />file.close();<br />//write zero to location zero so that time will be set only once. <br />if (file.open("PRINT00.TXT", O_WRITE)) <br />{<br /> // PgmPrintln("Opened PRINT00.TXT");<br />}<br />else<br />{<br />error("file.open");<br />}<br />if (!file.isOpen()) error ("file.open");<br />PgmPrint("Writing to: ");<br />//Serial.print("PRINT00.TXT");<br />file.write("0"); <br />// close file and force write of all data to the SD card<br />file.close();<br />PgmPrintln("Done");<br /><br /><br /><br />//function to set time if time was set in the text file<br />if(EEPROM.read(1)==10)<br />{<br />RTC.stop();<br />RTC.set(DS1307_SEC,0); //set the seconds<br />RTC.set(DS1307_MIN,EEPROM.read(3)); //set the minutes<br />RTC.set(DS1307_HR,EEPROM.read(2)); //set the hours<br />RTC.set(DS1307_DOW,EEPROM.read(4)); //set the day of the week<br />RTC.set(DS1307_DATE,EEPROM.read(5)); //set the date<br />RTC.set(DS1307_MTH,EEPROM.read(6)); //set the month<br />RTC.set(DS1307_YR,EEPROM.read(7)); //set the year<br />RTC.start();<br />EEPROM.write(1,0);<br />}<br /><br />// set up waveshield pins<br />pinMode(2, OUTPUT);<br />pinMode(3, OUTPUT);<br />pinMode(4, OUTPUT);<br />pinMode(5, OUTPUT);<br /> <br />// if (!card.init(true)) {//play with 4 MHz spi<br />if (!card.init()) {//play with 8 MHz spi<br /> putstring_nl("Card init. failed!");<br /> while(1);<br />}<br />// enable optimize read - some cards may timeout<br />card.partialBlockRead(true);<br /> <br />uint8_t part;<br />for (part = 0; part < 5; part++) {<br /> if (vol.init(card, part)) break;<br />}<br />if (part == 5) {<br /> putstring_nl("No valid FAT partition!");<br /> while(1);<br />}<br /> <br />if (!root.openRoot(vol)) {<br /> putstring_nl("Can't open root dir!"); while(1);<br />}<br /><br />dirLevel = 0; <br />}<br /><br /><br /><br /><br /><br /><br /><br />void loop()<br />{<br />Serial.print(17, BYTE);<br />Serial.print(22, BYTE);<br />Serial.print(12, BYTE);<br /><br />displayTime();<br />Serial.print(13, BYTE);<br />Serial.print(" Sleep and Reminder");<br />Serial.print(13, BYTE);<br />Serial.print(" Alarm");<br />delay(1000);<br /><br /><br />stateup =digitalRead(up);<br />delay(50);<br />if(stateup==LOW)<br />{<br />sendToLamp(5);<br />}<br />stateset =digitalRead(set);<br />delay(50);<br />if(stateset==LOW)<br />{<br />sendToLamp(6);<br />}<br /><br /><br />stateP =digitalRead(16);<br />delay(50);<br />if(stateP==LOW)<br />{<br />presentation();<br />}<br /><br />stateon =digitalRead(15);<br />delay(50);<br />if(stateon==LOW)<br />{<br />Serial.print(12, BYTE);<br />Serial.print(" Time or Alarm");<br />stateon=1;<br />while(stateon==1)<br />{<br />stateup =digitalRead(up);<br />delay(100);<br />if(stateup==LOW)<br />{<br />setTime();<br />}<br />stateset =digitalRead(set);<br />delay(100);<br />if(stateset==LOW)<br />{<br />setAlarm();<br />}<br />}<br />}<br /><br /><br /><br /><br /><br />if(wakeSng==1)<br />{<br /> playWakeUp(); <br />}<br />if(slpSng==1)<br />{<br />playSleep();<br />}<br />if(remm==1)<br />{<br /> remmember(); <br />}<br />if(sd==1)<br />{<br /> playSchduled(); <br />}<br /><br />delay(50);<br />stateup =digitalRead(up);<br />delay(50);<br />if(stateup==LOW)<br />{<br />sendToLamp(5);<br />}<br />stateset =digitalRead(set);<br />delay(50);<br />if(stateset==LOW)<br />{<br />sendToLamp(6);<br />}<br /><br />checkAlarm();<br />checkSleepTime();<br />checkWakeUpTime();<br /><br />//sendToLamp(1);<br /><br /><br />}<br /><br />void playcomplete(char *name,byte what) <br />{<br />playfile(name);<br />while (wave.isplaying)<br />{<br />if(digitalRead(Stop)==LOW)<br />{<br /> <br />if(what==1)<br />{<br /> slpSng=4;<br />}<br />else if(what==2)<br />{<br /> wakeSng=4;<br />}<br />else if(what==3)<br />{<br /> remm=4;<br />}<br />else if(what==4)<br />{<br /> //sched=0;<br /> sd=0;<br />}<br />wave.stop();<br />}<br />else<br />{<br />if(what==1)<br />{<br /> Serial.print(12, BYTE);<br /> displayTime();<br /> Serial.print(13, BYTE);<br /> Serial.print(" Sleep Time ");<br /> delay(500);<br />}<br />else if(what==2)<br />{<br /> Serial.print(12, BYTE);<br /> displayTime();<br /> Serial.print(13, BYTE);<br /> Serial.print(" Wake Time ");<br /> delay(500);<br />}<br />else if(what==3)<br />{<br /> Serial.print(12, BYTE);<br /> displayTime();<br /> Serial.print(13, BYTE);<br /> Serial.print(" Remmember ");<br /> delay(500);<br />}<br />else if(what==4)<br />{<br /> Serial.print(12, BYTE);<br /> displayTime();<br /> Serial.print(13, BYTE);<br /> Serial.print(" Scheduled Song ");<br /> delay(500);<br />}<br />else if(what==5)<br />{<br /> Serial.print(12, BYTE);<br /> displayTime();<br /> Serial.print(13, BYTE);<br /> Serial.print(" Normal Alarm");<br /> delay(500);<br />}<br /><br />}<br />}<br />}<br /><br />void playfile(char *name) {<br />if (wave.isplaying) {// already playing something, so stop it!<br />wave.stop(); // stop it<br />}<br />if (!f.open(root, name)) {<br />putstring("failed"); <br />Serial.print(name); <br />return;<br />}<br />if (!wave.create(f)) {<br />putstring_nl("Not a WAV"); return;<br />}<br />// ok time to play!<br />wave.play();<br />}<br /><br />void play(FatReader &dir)<br />{<br />FatReader file;<br />while (dir.readDir(dirBuf) > 0) {<br /> <br />// skip . and .. directories<br />if (dirBuf.name[0] == '.') continue;<br />Serial.println();<br />for (uint8_t i = 0; i < dirLevel; i++) Serial.print(' ');<br />if (!file.open(vol, dirBuf)) {<br />Serial.print("open fail");<br />while(1);<br />}<br /> <br />if (file.isDir()) {<br />putstring("Subdir: ");<br />dirLevel += 2;<br />// play files in subdirectory<br />play(file);<br />dirLevel -= 2; <br />}<br />else {<br />putstring("Playing ");<br />if (!wave.create(file)) {<br />putstring(" Not a WAV");<br />}<br />else {<br />Serial.println();<br />wave.play();<br /> <br />while (wave.isplaying) {<br />//putstring(".");<br />delay(100);<br />}<br />}<br />}<br />}<br />}<br />void displayTime()<br />{<br /> Serial.print(" ");<br />Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true<br />Serial.print(":");<br />Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)<br />Serial.print(":");<br />Serial.print(RTC.get(DS1307_SEC,false));//read seconds<br /><br />}<br /><br />void playSchduled()<br />{<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br /><br />if(EEPROM.read(stateset+12)==1)//&&(slpSng==2))<br />{<br />if((analogRead(3)>150))<br />{<br /> playcomplete(convertIntTOwav(EEPROM.read(stateset+13)),4);<br /> //sched=0;<br />}<br />}<br />else<br />{<br /> sd=0; <br />}<br /> <br />}<br /><br /><br /><br />byte convertToEEPROM(byte num)<br />{<br /> num=(1+(14*num));<br /> return num;<br />}<br /><br />void checkWakeUpTime()<br />{<br />//int h,m,d;<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br />if(EEPROM.read(stateset)==1)<br />{<br />stateup=RTC.get(DS1307_HR,false);<br />stateStop=RTC.get(DS1307_MIN,false);<br />if((stateup==EEPROM.read(stateset+1))&&(stateStop==(EEPROM.read(stateset+2)-1))&&(wakeLght==0))// test to see if we are 2 minutes closer to the wake up alarm and start the action with the lights<br />{<br /> stateset=stateset+3;<br /> sendToLamp(EEPROM.read(stateset));// send the right action to the lamp<br /> wakeLght=1;<br /> sd=0;<br />}<br />else if((stateup==EEPROM.read(stateset+1))&&(stateStop==EEPROM.read(stateset+2))&&(wakeSng==0))<br />{<br /> <br /> wakeSng=1;<br /> //playWakeUp();<br />}<br /><br />if(stateStop!=(EEPROM.read(stateset+2)+2))<br />{<br /> wakeLght=0;<br />}<br /><br />if((stateStop!=(EEPROM.read(stateset+2)))&&(remm==2))<br />{<br /> wakeSng=0;<br />}<br /> }<br />}<br /><br />void checkSleepTime()<br />{<br /> //int h,m,d;<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br />if(EEPROM.read(stateset+5)==1)<br />{<br />stateup=RTC.get(DS1307_HR,false);<br />stateStop=RTC.get(DS1307_MIN,false);<br />if((stateup==EEPROM.read(stateset+6))&&(stateStop==(EEPROM.read(stateset+7))+1)&&(slpLght==0))// test to see if we are 2 minutes closer to the sleep alarm and start the action with the lights<br />{<br /> stateset=stateset+8;<br /> sendToLamp(EEPROM.read(stateset));// send the right action to the lamp<br /> slpLght=1;<br /> sd=1;<br />}<br />else if((stateup==EEPROM.read(stateset+6))&&(stateStop==EEPROM.read(stateset+7))&&(slpSng==0))<br />{<br /> <br /> slpSng=1;<br /> <br /> <br />}<br />if(stateStop==(EEPROM.read(stateset+7))+2)<br />{<br /> slpLght=0;<br />}<br />if(stateStop!=(EEPROM.read(stateset+7)))<br />{<br />slpSng=0;<br />}<br />}<br />}<br /><br />void remmember()<br />{<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br />if((EEPROM.read(stateset+10)==1))//&&(remm==1))<br />{<br /> delay(5000);//just for presentation to be nice. actual time should be like 4 minutes<br /> <br /> playcomplete(convertIntTOwav(EEPROM.read(stateset+11)),3);// do a call to the playcomplete function to start playing the wake up song.<br /> remm=2;<br /> wakeSng=2;<br />}<br />else<br />{<br /> remm=2;<br /> wakeSng=2;<br />}<br />}<br /><br />String convertIntTOwav(int value)<br />{<br />String name="";<br />name.append(value);<br />name.append(".WAV");<br />return name;<br />}<br /><br />void playWakeUp()<br />{<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br /><br />while((analogRead(3)>150))//&&(wakeSng==1))<br />{<br /> playcomplete(convertIntTOwav(EEPROM.read(stateset+4)),2);<br />}<br />remm=1;<br />wakeSng=2;<br />}<br /><br /><br />void playSleep()<br />{<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br />if(analogRead(3)<100)<br />{<br /> playcomplete(convertIntTOwav(EEPROM.read(stateset+9)),1);<br />}<br /><br />slpSng=2;<br /><br />}<br /><br />void presentation()<br />{<br />Serial.print(12, BYTE);<br />Serial.print(" PRESENTATION ");<br />delay(1000);<br />stateset=RTC.get(DS1307_DOW,false);<br />stateset=convertToEEPROM(stateset);<br />stateStop=RTC.get(DS1307_MIN,false);<br />stateup=RTC.get(DS1307_HR,false);<br />EEPROM.write(stateset+6,stateup);//=;//test to see if it works or change it to add plus 1<br />EEPROM.write(stateset+7,stateStop+1);//=;//test to see if it works or change it to add plus 1<br />EEPROM.write(stateset+2,stateStop+5);<br />EEPROM.write(stateset+1,stateup);//=;//test to see if it works or change it to add plus 1<br /><br /><br />}<br /><br />void setAlarm()<br />{<br /><br />byte a;<br />byte count=0;<br />byte c=1;<br />a=1;<br /> alarm[0]=1;<br /><br />while(c==1)<br />{<br /> <br />Serial.print(12, BYTE);<br />Serial.print("Set Alarm");<br />Serial.print(13, BYTE);<br />Serial.print("Minutes :");<br />Serial.print(count,DEC);<br /><br />stateup=digitalRead(up);<br />stateon =digitalRead(15);<br />delay(200);<br /><br />if(stateup==LOW)<br />{<br /> count++;<br />}<br /><br />if(count>59)<br />{<br /> count=0;<br />}<br />if(stateon==LOW)<br />{<br /> alarm[1]=count;<br /> count=0;<br />c=2;<br />}<br /><br /> <br />}<br />while(c==2)<br />{<br />Serial.print(12, BYTE);<br />Serial.print("Set Alarm");<br />Serial.print(13, BYTE);<br />Serial.print("Hours :");<br />Serial.print(count,DEC);<br /><br />stateup=digitalRead(up);<br />stateon =digitalRead(15);<br />delay(200);<br /><br />if(stateup==LOW)<br />{<br /> count++;<br />}<br /> if(count>23)<br />{<br /> count=0;<br />}<br />if(stateon==LOW)<br />{<br /> alarm[2]=count;<br /> count=1;<br /> c=3;<br /><br />}<br /><br />}<br /> }<br />void checkAlarm()<br />{<br />if(alarm[0]==1)<br />{<br />stateup=RTC.get(DS1307_HR,false);<br />stateStop=RTC.get(DS1307_MIN,false);<br />if((stateup==alarm[2])&&(stateStop==(alarm[1]))&&(almSng==0))// test to see if we are 2 minutes closer to the sleep alarm and start the action with the lights<br />{<br /> almSng=1;<br /> playcomplete("6.WAV",5);<br /> <br />}<br /> }<br /> if(stateStop!=(alarm[1]))<br />{<br /> almSng=0;<br />}<br /> }<br /><br /><br /><br />void setTime()<br />{<br />//byte time[3];<br />byte count=0;<br /> <br />byte a;<br />a=1;<br /><br />Serial.print(12, BYTE);<br />Stop=0;<br />stateStop=0;<br />while(a==1)<br />{<br />//Serial.print(22, BYTE);<br />Serial.print(12, BYTE);<br />Serial.print("Set Time");<br />Serial.print(13, BYTE);<br />Serial.print("Minutes :");<br />Serial.print(count,DEC);<br /><br />stateon =digitalRead(15);<br />//statedn=digitalRead(down);<br />stateset=digitalRead(set);<br />delay(200);<br />if(stateon==LOW)<br />{<br /> Stop=count;<br /> count=0;<br />a=2;<br />//b=1;<br />}<br />if(stateset==LOW)<br />{<br /> count++;<br />}<br /> if(count>59)<br />{<br /> count=0;<br />}<br />}<br />while(a==2)<br />{<br /> <br />Serial.print(12, BYTE);<br />Serial.print("Set Time");<br />Serial.print(13, BYTE);<br />Serial.print("Hours :");<br />Serial.print(count,DEC);<br /><br />stateon =digitalRead(15);<br />//statedn=digitalRead(down);<br />stateset=digitalRead(set);<br />delay(200);<br />if(stateon==LOW)<br />{<br /> stateStop=count;<br /> count=1;<br />a=3;<br />}<br />if(stateset==LOW)<br />{<br /> count++;<br />}<br /><br />if(count>23)<br />{<br /> count=0;<br />}<br />}<br /><br /><br />RTC.stop();<br />RTC.set(DS1307_SEC,0); //set the seconds<br />RTC.set(DS1307_MIN,Stop); //set the minutes<br />RTC.set(DS1307_HR,stateStop); //set the hours<br />//RTC.set(DS1307_DOW,stateset); <br />RTC.start();<br />Stop=6;// set it back to 6 which is pin 6 so others can use it as such<br />a=0;<br />}<br /><br />void sendToLamp(int data)<br />{<br /><br /> mySerial.print(data);<br />}Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-34148217645413740682009-12-18T05:44:00.001-08:002009-12-18T05:51:03.858-08:00Source code for light control device#include "TimerOne.h" // Avaiable from http://www.arduino.cc/playground/Code/Timer1<br /><br />volatile int i=0; // Variable to use as a counter<br />volatile boolean zero_cross=0; // Boolean to store a "switch" to tell us if we have crossed zero<br />int AC_pin = 10; // Output to Opto Triac<br />int Dimmer_pin = 0; // Pot for testing the dimming<br />int LED = 3; // LED for testing<br />int dim = 0; // Dimming level (0-128) 0 = on, 128 = 0ff<br />int freqStep = 78; // Set the delay for the frequency of power (65 for 60Hz, 78 for 50Hz) per step (using 128 steps)<br /> // freqStep may need some adjustment depending on your power the formula<br /> // you need to us is (500000/AC_freq)/NumSteps = freqStep<br /> // You could also write a seperate function to determine the freq<br /><br />#include <NewSoftSerial.h><br /><br />NewSoftSerial mySerial(5,6);<br />int val;<br />int val2;<br />int value;<br />int dm=0;<br />int bt=0;<br />int of=0;<br />int onn=0;<br />int dmof=0;<br />int bton=0;<br /> byte some=0;<br />void setup()<br />{<br /> onn=1;<br />mySerial.begin(19200);<br /> Serial.println("Beginning ... ");<br />//pinMode(pin6,INPUT); <br />pinMode(AC_pin, OUTPUT); // Set the Triac pin as output<br /> pinMode(LED, OUTPUT); // Set the LED pin as output<br /> attachInterrupt(0, zero_cross_detect, CHANGE); // Attach an Interupt to Pin 2 (interupt 0) for Zero Cross Detection , this is where is did some modification adn used change instead of falling.<br /> Timer1.initialize(freqStep); // Initialize TimerOne library for the freq we need<br /> Timer1.attachInterrupt(dim_check, freqStep); // Use the TimerOne Library to attach an interrupt<br /> <br />}<br />void zero_cross_detect() { // function to be fired at the zero crossing <br /> zero_cross = 1; // set the boolean to true to tell our dimming function that a zero cross has occured<br />} <br />void dim_check() // Function will fire the triac at the proper time<br />{ <br />digitalWrite(AC_pin, LOW); // Turn off the Triac gate (Triac will not turn off until next zero cross)<br /> if(zero_cross == 1) // First check to make sure the zero-cross has happened else do nothing<br /> { <br /> if(i>=dim) // Check and see if i has accumilated to the dimming value we want<br /> { <br /> <br /> digitalWrite(AC_pin, HIGH);// Fire the Triac mid-phase<br /> <br /> i = 0; // Reset the accumilator<br /> zero_cross = 0; // Reset the zero_cross so it may be turned on again at the next zero_cross_detect <br /> } else {<br /> i++; // If the dimming value has not been reached, incriment our counter<br /> } // End dim check<br /> } // End zero_cross check<br />} <br /><br />void loop()<br />{<br /> recieve();<br /> <br />}<br /><br /> <br /><br /><br /> void recieve()<br /> {<br /> <br /> if (mySerial.available())<br /> {<br /> val2=(int)mySerial.read();<br /> val2=val2-48;<br /> if(val2==1)<br /> {<br /> bton=0;<br /> dimmer();<br /> }<br /> else if(val2==2)<br /> {<br /> <br /> bton=0;<br /> brigth();<br /> <br /> }<br /> else if(val2==3)<br /> {<br /> <br /> //sendAck();<br /> bton=0;<br /> on();<br /> }<br /> else if(val2==4)<br /> {<br /> bton=0;<br /> off(); <br /> }<br /> else if(val2==5)<br /> {<br /> on(); <br /> bton=1;<br /> }<br /> else if(val2==6)<br /> {<br /> bton=1;<br /> off();<br /> <br /> }<br /> }<br /> }<br /> void dimmer()<br /> {<br /> bt=0;<br /> if(dm!=1)<br /> {<br /> dm=1;<br /> for(int i=5;i<=115;i++)<br /> {<br /> dim=i;<br /> //delay(50);<br /> if(dim>30)<br /> {<br /> delay(500);<br /> }<br /><br /> }<br /> <br /> }<br /> else<br /> {<br /> dim=115;<br /> //delay(50);<br /> }<br /> <br /> }<br /> <br />void brigth()<br />{<br /> dm=0;<br /> if(bt!=1)<br /> { <br /> bt=1;<br />for(int i=115;i>=5;i--)<br /> {<br /> dim=i;<br /> if(dim<90)<br /> {<br /> delay(400);<br /> }<br /><br /> }<br /> }<br /> else<br /> {<br /> dim=5;<br /> delay(50); <br /> }<br /> <br />}<br /> <br />void off()<br />{<br /> dm=0;bt=0;<br /> dim=115;<br /> delay(50);<br />}<br />void on()<br />{<br /> dm=0;bt=0;<br /> dim=5;<br /> delay(50);<br /> <br />}Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-65000179182094315362009-12-07T08:28:00.000-08:002009-12-07T08:35:08.583-08:00Light package finished, start with the main package!So the light package is finished, now we are starting with the MAIN package .. the alarm clock. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCYc6HNR-yHB6Pxv371U6XkSPAIb7_B58PcAqOod7nyuS3jjfKJjsHr1csbVFhkp2Bv7Nap1O59xJHpVygIOPf7SlB5otDuEGqfavFgmDlKoKwGdS9GV6BjSQJI1Picy2UzWzo0e-rLmGC/s1600-h/SDC10390.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCYc6HNR-yHB6Pxv371U6XkSPAIb7_B58PcAqOod7nyuS3jjfKJjsHr1csbVFhkp2Bv7Nap1O59xJHpVygIOPf7SlB5otDuEGqfavFgmDlKoKwGdS9GV6BjSQJI1Picy2UzWzo0e-rLmGC/s320/SDC10390.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412533300776396178" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIglyPRAjPaCfFr9v9KD7hBPasdhxZCb7DvBLTSlEjNokC0fv9UXCJB_owkR9W4PDfuJyJuRgp5X1iRycgTSUddDxCh0WN86ftcbzyrnyUt6dwaG2xh_i0_LYpyGls3pwelvGaJIT2UTGa/s1600-h/SDC10392.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIglyPRAjPaCfFr9v9KD7hBPasdhxZCb7DvBLTSlEjNokC0fv9UXCJB_owkR9W4PDfuJyJuRgp5X1iRycgTSUddDxCh0WN86ftcbzyrnyUt6dwaG2xh_i0_LYpyGls3pwelvGaJIT2UTGa/s320/SDC10392.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412533173549193202" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0muoeGAluk1ysZNK76Bz4zWlQi3ckIMejBeo4XhFGRMNYirxhE386oYELuie8-llEy5R2DbzHBYwFfG3r7B_n9CvTZE-A5UvpfcyUQLoDoI5j8r5nXuHpVrJlTM5FTkXLZ1AH_iy36kF2/s1600-h/SDC10388.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0muoeGAluk1ysZNK76Bz4zWlQi3ckIMejBeo4XhFGRMNYirxhE386oYELuie8-llEy5R2DbzHBYwFfG3r7B_n9CvTZE-A5UvpfcyUQLoDoI5j8r5nXuHpVrJlTM5FTkXLZ1AH_iy36kF2/s320/SDC10388.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412533093963889906" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwep90GPZ5dKxqZ62T-PQNboyUXRH1dgU9WcWZZ9Ac1mVqJa2jgZE03RPP4bsp7Su0vUkh_CC8G_fSzhj3-hM5DvJLGYd8OEza_YrJsRr0cc25bUK0tEmldgPcOblNHAZdOdAWBpGMnDr6/s1600-h/SDC10389.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwep90GPZ5dKxqZ62T-PQNboyUXRH1dgU9WcWZZ9Ac1mVqJa2jgZE03RPP4bsp7Su0vUkh_CC8G_fSzhj3-hM5DvJLGYd8OEza_YrJsRr0cc25bUK0tEmldgPcOblNHAZdOdAWBpGMnDr6/s320/SDC10389.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412532999438040018" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeGLXeyRRllvCrk1QWgcQJX4SEnsPDb0QafVhx41qvzSOps1zOqaZ9sZQpzU8P8sxlFNg-SNSDZGgXcrc-sxTNGbWCdoSEuIHAC2dJ6-FNS-SLJSNOJTV8jpuUeAgU1KHY1TKuyD2BzlYl/s1600-h/SDC10391.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeGLXeyRRllvCrk1QWgcQJX4SEnsPDb0QafVhx41qvzSOps1zOqaZ9sZQpzU8P8sxlFNg-SNSDZGgXcrc-sxTNGbWCdoSEuIHAC2dJ6-FNS-SLJSNOJTV8jpuUeAgU1KHY1TKuyD2BzlYl/s320/SDC10391.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412532752449511938" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzrTdu7UK_2SUS6NygGpSUbpSuOd3jeNlEvkRdrM-kqy8D1xnb_tkhL9QNoz2bBSYOynQvJynOsAAdAvb0Kiqc1iLHGKo_Qo_CWamtZTmluzfMFNJpJ2d4bBdZfK1h-liDDpcZm2-sQ5il/s1600-h/SDC10394.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzrTdu7UK_2SUS6NygGpSUbpSuOd3jeNlEvkRdrM-kqy8D1xnb_tkhL9QNoz2bBSYOynQvJynOsAAdAvb0Kiqc1iLHGKo_Qo_CWamtZTmluzfMFNJpJ2d4bBdZfK1h-liDDpcZm2-sQ5il/s320/SDC10394.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412532620323719746" /></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com1tag:blogger.com,1999:blog-1710998992347466374.post-3721458454069423972009-12-07T08:09:00.000-08:002009-12-07T08:27:52.291-08:00Good jobThe work with the hardware continues. Soldering and more soldering needs to be done. The test phase is starting and we are all happy with the work so far ;)<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhlzckw1CpAV2bJ_oIfxbGKf09nGapj8n2jKRDBbnjP17iC9_DQQHOM657bnTc1v_wgtZO42VidU2baTVKv-3aZXxNsSMD8sW2KkmZNn9coKRFlALJFmpV_Vy7HnBy05RCuydm2VBLG4La/s1600-h/SDC10387.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhlzckw1CpAV2bJ_oIfxbGKf09nGapj8n2jKRDBbnjP17iC9_DQQHOM657bnTc1v_wgtZO42VidU2baTVKv-3aZXxNsSMD8sW2KkmZNn9coKRFlALJFmpV_Vy7HnBy05RCuydm2VBLG4La/s320/SDC10387.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412531777255484498" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkQ-Njh4cXvsDDptZl-XKPMdm8VXl2fORfyYGfeQy5B-_2nhhOjOdjizKW0SRgJWJeFf7lz6Bu8S0VlvFnM7fD6RedTHXcPCTM-cyAzBvCBrQGWnXs_3GOXRf-Yg6sv_tniaxTKUdmn7m3/s1600-h/SDC10380.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkQ-Njh4cXvsDDptZl-XKPMdm8VXl2fORfyYGfeQy5B-_2nhhOjOdjizKW0SRgJWJeFf7lz6Bu8S0VlvFnM7fD6RedTHXcPCTM-cyAzBvCBrQGWnXs_3GOXRf-Yg6sv_tniaxTKUdmn7m3/s320/SDC10380.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412528856152571266" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfhCCjF2hqJXB76I5ISWQ9Lnav2ixj1iu_Dea1MozH426B8Z3gLmqoQk1laAKOrOPFCyvYztcjOUm5Ra-UcVtzrvWWl6DInS7526Bo4aEQhsMJihoNXUMTVVESXMM8x8b88cgWy1wRd6Kk/s1600-h/SDC10381.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfhCCjF2hqJXB76I5ISWQ9Lnav2ixj1iu_Dea1MozH426B8Z3gLmqoQk1laAKOrOPFCyvYztcjOUm5Ra-UcVtzrvWWl6DInS7526Bo4aEQhsMJihoNXUMTVVESXMM8x8b88cgWy1wRd6Kk/s320/SDC10381.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412528055427646450" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPeyxzPSrwWNaB1Ei_kO5YWbXyzN3wFz92UybxfYI3yjaKC7x_rP7Wwlsrbu3BrOI-LRPRfGBmmuyWmd_vDQErLtj9_ds_nE4wNubpFDIISIX0LXgh7mEyMFWBiYXQtnGjQmT8Lhkx67JS/s1600-h/SDC10377.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPeyxzPSrwWNaB1Ei_kO5YWbXyzN3wFz92UybxfYI3yjaKC7x_rP7Wwlsrbu3BrOI-LRPRfGBmmuyWmd_vDQErLtj9_ds_nE4wNubpFDIISIX0LXgh7mEyMFWBiYXQtnGjQmT8Lhkx67JS/s320/SDC10377.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412527771780466674" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEeL2b-3NZ0m4iPCOY-Db2HrWXBBYVddam3fwTgEOag0xG2CagNZ29PcV-g0zvkil1KXcgOepifFPnrCn39fa4RRF_wCPjtSccdY5daQlyjJ5kNC0Gx9cvsnSTsZQKBPQpK2J0tbvdxT5q/s1600-h/SDC10375.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEeL2b-3NZ0m4iPCOY-Db2HrWXBBYVddam3fwTgEOag0xG2CagNZ29PcV-g0zvkil1KXcgOepifFPnrCn39fa4RRF_wCPjtSccdY5daQlyjJ5kNC0Gx9cvsnSTsZQKBPQpK2J0tbvdxT5q/s320/SDC10375.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412527666461472034" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCmLplfSSVu_WmDHQt6WnUifujhmOC5jWqXIyQB2SFHafi7LyWNqzoTX4ac-3SddDrn6PXXYT3XGdQUWEMCB3TYOzoqjN4lAZ2N8ZDEwfMf4AUeyXmXenSR7dNUcVMHpIxR28fh3taVo2z/s1600-h/SDC10374.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCmLplfSSVu_WmDHQt6WnUifujhmOC5jWqXIyQB2SFHafi7LyWNqzoTX4ac-3SddDrn6PXXYT3XGdQUWEMCB3TYOzoqjN4lAZ2N8ZDEwfMf4AUeyXmXenSR7dNUcVMHpIxR28fh3taVo2z/s320/SDC10374.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412527547842661138" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrrrxVfHfIn8wwGI3LG7zgZI16BFmhyBX2uw-is-YC2cyZJpr0dIi9RhBmoSpfkUJVDTDQbD1zXzHra-uwX2sQgKo5lOXv3DdRgpkFfilatmjna-zXjF2N9rmMZD18Bmd_6KiMkOlISBPV/s1600-h/SDC10373.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrrrxVfHfIn8wwGI3LG7zgZI16BFmhyBX2uw-is-YC2cyZJpr0dIi9RhBmoSpfkUJVDTDQbD1zXzHra-uwX2sQgKo5lOXv3DdRgpkFfilatmjna-zXjF2N9rmMZD18Bmd_6KiMkOlISBPV/s320/SDC10373.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412527426904026642" /></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-87741093970438861882009-12-07T08:01:00.000-08:002009-12-07T08:37:25.582-08:00Light package and the lampAfter this we started to work with the package that should control the light. Also we had some time to build a lamp. The design that we wanted was that is was supposed to feel soft and make you sleepy. We found a fabric taht looks almost like a cloud and was very soft .. this fabric was also very easy to put on and also made everything look beuatiful without doing much more ;) <br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtUwJxi5vYyti3kxXqbRhqqQOhxJ9VSQFq2XDxQbr9l7tLzuVR0d0ACThuyZF8Q_WtUvxswc-vqg7Tt9qxraVGwxF_Bc7S7kx38WrNfikPWZhlxkgLc9WL3nCIYSAvbwPbzikqHtBeNZ2n/s1600-h/SDC10383.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtUwJxi5vYyti3kxXqbRhqqQOhxJ9VSQFq2XDxQbr9l7tLzuVR0d0ACThuyZF8Q_WtUvxswc-vqg7Tt9qxraVGwxF_Bc7S7kx38WrNfikPWZhlxkgLc9WL3nCIYSAvbwPbzikqHtBeNZ2n/s320/SDC10383.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412534014820674130" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjdavKcEujwXureUNz_4C7BFyvS0qd0AWE2Hj_92KU95BM4ZpH7MnnzK0VBZvt2g27pd-IFzoGfXGRlUP1ioc7KVcZULOmnjkplFRxMEfNHyHFlp-42uTqAq_ekRfPaWRftbcSpum9hgQV/s1600-h/SDC10379.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjdavKcEujwXureUNz_4C7BFyvS0qd0AWE2Hj_92KU95BM4ZpH7MnnzK0VBZvt2g27pd-IFzoGfXGRlUP1ioc7KVcZULOmnjkplFRxMEfNHyHFlp-42uTqAq_ekRfPaWRftbcSpum9hgQV/s320/SDC10379.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412527005690865522" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTiZqxO1WzW77EIQGwbUnB6GfX0UpxOPB7Qxv80qOjrqVozNgnZDgYfj4MBR_t-C2swqMI0M19S7XtIS4mvZIeJdo6oRTnWVSm6BLcJAJWPr8Mo6UbxPB3pzFJ7ovBARa65sn2D9RJbqk1/s1600-h/SDC10376.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTiZqxO1WzW77EIQGwbUnB6GfX0UpxOPB7Qxv80qOjrqVozNgnZDgYfj4MBR_t-C2swqMI0M19S7XtIS4mvZIeJdo6oRTnWVSm6BLcJAJWPr8Mo6UbxPB3pzFJ7ovBARa65sn2D9RJbqk1/s320/SDC10376.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412526879567693874" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKbXIAutepo6pz2cEsyfywHbLroVuU7UiW1WfZAtYM0SQ1SrZ9VO5YJrisIRj5pCOFItf2GEhL27QLRf-wXsfy2bTxtzozwwI6WYHDDWfQsW19I5Hz35fzBQUcbCD1OdTQY6sIJD5ygf-P/s1600-h/SDC10372.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKbXIAutepo6pz2cEsyfywHbLroVuU7UiW1WfZAtYM0SQ1SrZ9VO5YJrisIRj5pCOFItf2GEhL27QLRf-wXsfy2bTxtzozwwI6WYHDDWfQsW19I5Hz35fzBQUcbCD1OdTQY6sIJD5ygf-P/s320/SDC10372.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412526693278382690" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKx5kf5FnNzzCnItZCIkTmIcPvEWO1DmCjnCtsEAVcykCB3UhaGsha6J8TUpSMQZareW7hJjzVOrMQoHW_ZZDo-SRDBc0cpfSsSKZi9ugO1HfEoUh491oQRT0Wb_TkHblF3RN9AKzZSwnm/s1600-h/SDC10371.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKx5kf5FnNzzCnItZCIkTmIcPvEWO1DmCjnCtsEAVcykCB3UhaGsha6J8TUpSMQZareW7hJjzVOrMQoHW_ZZDo-SRDBc0cpfSsSKZi9ugO1HfEoUh491oQRT0Wb_TkHblF3RN9AKzZSwnm/s320/SDC10371.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412526500121532546" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbPcAy6n_1TXGBp8pEe1yXjhj1l_hyphenhyphenrgCHXVukJaE1tAypuFZcfiRTQN_fWDjCWbopElMbU0XUkbiKg0J0G_xZ-om6ZRcnv_PfDIXqWHuqlLIFxN7yJcKmIDPX7Spu65xQV5NnUSFBb57D/s1600-h/SDC10369.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbPcAy6n_1TXGBp8pEe1yXjhj1l_hyphenhyphenrgCHXVukJaE1tAypuFZcfiRTQN_fWDjCWbopElMbU0XUkbiKg0J0G_xZ-om6ZRcnv_PfDIXqWHuqlLIFxN7yJcKmIDPX7Spu65xQV5NnUSFBb57D/s320/SDC10369.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412526369145091026" /></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-58451454658530971112009-12-07T07:57:00.000-08:002009-12-07T08:00:08.315-08:00More workHere Miao is working with the Interface and also you can see the work done with the wave shield and our Arduino. Soon the hardware will be finished :)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyqv_LEYelKqfKYSG88aELhvWWyyl5aOj1Yjk4arahcqoIRcqTfWE8Axzfs1raCOGAHf4Blt2I3AJTtgaLdVA2l9Raj2511kZEexa_Ri0kj-lSXAK8k_QmWZFI-eZZPpfBT9jY_17LIuIw/s1600-h/SDC10368.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyqv_LEYelKqfKYSG88aELhvWWyyl5aOj1Yjk4arahcqoIRcqTfWE8Axzfs1raCOGAHf4Blt2I3AJTtgaLdVA2l9Raj2511kZEexa_Ri0kj-lSXAK8k_QmWZFI-eZZPpfBT9jY_17LIuIw/s320/SDC10368.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412524457110080194" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXe-issj9UlscpusiTkTs0hgLZZX83dTbDZxdKMPgeAODX8Ky36MBbkz83_lKIYnpEi2yqV36tA2jl8Zj-PpwlLPBL2-quGDmVUsj2TWrubSaq6VvN7BNDtDzy58efusur-Z34QH9Uhata/s1600-h/SDC10367.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXe-issj9UlscpusiTkTs0hgLZZX83dTbDZxdKMPgeAODX8Ky36MBbkz83_lKIYnpEi2yqV36tA2jl8Zj-PpwlLPBL2-quGDmVUsj2TWrubSaq6VvN7BNDtDzy58efusur-Z34QH9Uhata/s320/SDC10367.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412524356248519170" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinO0eQVbygNBmOYA45QfI8-LHN8G35JHeWltCLinGZU7113v_lYvk_LSY4f8ByfZGRTTEAYO_3yPYutQ6MhgJvVCK8YhPMz2Scvx2sLGvQmtij9U12-ebGK8Whn4VNiWJRGweZwh890Agc/s1600-h/SDC10366.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinO0eQVbygNBmOYA45QfI8-LHN8G35JHeWltCLinGZU7113v_lYvk_LSY4f8ByfZGRTTEAYO_3yPYutQ6MhgJvVCK8YhPMz2Scvx2sLGvQmtij9U12-ebGK8Whn4VNiWJRGweZwh890Agc/s320/SDC10366.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412524235498950530" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5TVRPup4ibxkB-hEgOjBAugp7oqvlWij2nXsPvAxyOWsy79Lz9o5Eve48K2hCRJ6Q1Sa8mnrCtXg0oFvhDqnJBPKqFut0aoqoQzv-uRnV0awYarzk9KX1ZAX0fBTOZgX7AEYKLyVRg30G/s1600-h/SDC10364.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5TVRPup4ibxkB-hEgOjBAugp7oqvlWij2nXsPvAxyOWsy79Lz9o5Eve48K2hCRJ6Q1Sa8mnrCtXg0oFvhDqnJBPKqFut0aoqoQzv-uRnV0awYarzk9KX1ZAX0fBTOZgX7AEYKLyVRg30G/s320/SDC10364.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412524132796962114" /></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-57597390749654420702009-11-30T05:58:00.000-08:002009-11-30T05:59:41.953-08:00Lcd-displayTest with our lcd-display. Pretty nice! In the second picture you can see the lcd and in the back you can get a glimpse of our first gui. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJy4Y-TuZGdFYaKwpETpF61FRKH8b1wXcdusr0btJmqpSa9oSBi51fAuEWkbapGbnIwpGsVHv4XUEsue4t2LS9Sq6UrO0UafQO3toHp9YL4je3MS0FvhgaNSx3MPQ_nbdvisSXxSoSet5z/s1600/SDC10360.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJy4Y-TuZGdFYaKwpETpF61FRKH8b1wXcdusr0btJmqpSa9oSBi51fAuEWkbapGbnIwpGsVHv4XUEsue4t2LS9Sq6UrO0UafQO3toHp9YL4je3MS0FvhgaNSx3MPQ_nbdvisSXxSoSet5z/s320/SDC10360.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5409894058063851586"></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7BvmYAwFYzCVqPf_D_7Ht4q-5DnvsrEymmCrNepgBSx2BZa1qKKubMpkR64_qOxsJw-2z8xb3HlTg8N0IAlxBiKamLpleTNp6TkAPUNvr0R2Qi64qhSVfpzjZ1d-NVSYFJ02NmnJHgHcj/s1600/SDC10362.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7BvmYAwFYzCVqPf_D_7Ht4q-5DnvsrEymmCrNepgBSx2BZa1qKKubMpkR64_qOxsJw-2z8xb3HlTg8N0IAlxBiKamLpleTNp6TkAPUNvr0R2Qi64qhSVfpzjZ1d-NVSYFJ02NmnJHgHcj/s320/SDC10362.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5409894599639486882"></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-56933266673927390642009-11-30T05:49:00.000-08:002009-11-30T05:58:20.103-08:00Wave shield testReal work is being done. Here you can see the first test with our wave shield. Works pretty well now. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQOJQa8K6XGyYSMUeTe6JJEUHx5-2drrMXv-kxg4aHmeh3mZ5nshyarumxF5W23tDYdVw9wqUP90-cCU_Ig_Mu6IxtucxOqfm6Fmy7qId2-GFSyUNmCQsDjvREx-3UPs3ddVHU9YH7pTBO/s1600/SDC10349.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQOJQa8K6XGyYSMUeTe6JJEUHx5-2drrMXv-kxg4aHmeh3mZ5nshyarumxF5W23tDYdVw9wqUP90-cCU_Ig_Mu6IxtucxOqfm6Fmy7qId2-GFSyUNmCQsDjvREx-3UPs3ddVHU9YH7pTBO/s320/SDC10349.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5409894051032928242"></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWFrioIF6fyvW12VG_UuQFE-mQLwsZ-8tMhqUhMlwLQ1c1bBohU3kqHcp4VVcD3MN5R2f7A3FaFOGdom9Duyg9oHBS4fLmF5qa5fY2jPBkeRlBH7TvuG3wdm7zJ7RpFxr51i0vKSSoVCCq/s1600/SDC10348.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWFrioIF6fyvW12VG_UuQFE-mQLwsZ-8tMhqUhMlwLQ1c1bBohU3kqHcp4VVcD3MN5R2f7A3FaFOGdom9Duyg9oHBS4fLmF5qa5fY2jPBkeRlBH7TvuG3wdm7zJ7RpFxr51i0vKSSoVCCq/s320/SDC10348.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5409893665032420578"></a>Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0tag:blogger.com,1999:blog-1710998992347466374.post-82942395642305192622009-11-23T07:03:00.000-08:002009-11-23T07:04:35.242-08:00First scratchMonday afternoon and the work has been going on all day. Although we are tired we are cheerful about the work.Sandra Sandy Mattssonhttp://www.blogger.com/profile/12514531943087265341noreply@blogger.com0