LCD fail
So…
I ordered a new one.
The compact is meant to wolf whistle when opened and eventually get bored, printing messages to the LCD. But, I may have toasted the LCD a smidge…
In the meanwhile, I am working with the compact idea, LCD free…
<code>
// check yo’self before you wreck yo’self
// a light-dependent complimentary mirror
//
int lightLevel; //level of light hitting sensor
boolean isOpen; //check if open
int secsOpen; //counter for time open
int secsClosed; //counter for time closed
int speaker = 11; //speaker, output pin
void setup() {
//setting up ins and outs
//
pinMode(5,INPUT); //photocell
pinMode(speaker,OUTPUT); //speaker
Serial.begin(9600);
///////////////////////////////////////////////////
//Logic variable set up
///////////////////////////////////////////////////
isOpen = false;
secsOpen = 0;
secsClosed = 0;
} //end setup
void loop() {
///////////////////////////////////////////////////
//sensor reading and logic
///////////////////////////////////////////////////
//check if the light sensor is getting light
if(lightLevel >= 5){
isOpen = true;
}
else {
isOpen = false;
}
//if open, then begin counter and play greeting
//
secsOpen++;
if(secsOpen<=1){
greeting();
}
//wait a bit, then play wolfwhistle
//
if(secsOpen == 5){
wolfWhistle();
}
// if you’re looking at yourself for too long, mirror gets annoyed
if(secsOpen >= 20){
if(secsOpen % 20){
bored();
}
}
} //end loop
///////////////////////////////////////////////////
//begin sounds/display functions
///////////////////////////////////////////////////
void greeting(){
//bright happy greeting sound
for(int num = 0; num<=1; num++){
tone(speaker, 800);
delay(200);
tone(speaker,1200);
delay(200);
tone(speaker, 1600);
delay(400);
}
noTone(speaker);
delay(5000);
//LCD PRINTOUT: “Hi there, gorgeous!”
} //end greeting
void wolfWhistle(){
//wolf whistle (ascending and descending for loops)
//for(int num = 0; num<=1; num++){
int freq = 1100;
for(int i = 0; i < 1000; i++){
tone(speaker,freq);
if(freq <=2100){
freq++;
}
else {
tone(speaker,2100);
}
}//endfor
noTone(speaker);
delay(500);
freq = 1100;
for(int i = 0; i < 1000; i++){
tone(speaker,freq);
if(freq <=2000){
freq++;
}
else {
tone(speaker,2000);
}
}//endfor
for(int i = 0; i < 9000; i++){
tone(speaker,freq);
if(freq >=300){
freq-=1;
}
else {
noTone(speaker);
}
}//endfor
//}
//LCD PRINTOUT: “DAYUM!!”
} //end whistle
void bored(){
//boredom sound like “ho hum”
tone(speaker,650);
delay(900);
tone(speaker,450);
delay(900);
noTone(speaker);
delay(50000);
//LCD PRINTOUT: “don’t you have things to do?”
} //end bored
void bye(){
//similar to greeting tone
for(int num = 0; num<=1; num++){
tone(speaker, 1200);
delay(400);
tone(speaker,800);
delay(400);
tone(speaker, 600);
delay(800);
}
noTone(speaker);
delay(5000);
//LCD PRINTOUT: “buhbai!”
} //end bye
</code>
Reply