#include "Timer.h"
Timer t;
int redled = 11;
int greenled = 10;
int blueled = 9;
int laser = 13;
int note_c4 = 262;
int note_d4 = 294;
int note_e4 = 330;
int note_f4 = 349;
int note_g4 = 392;
int note_a4 = 440;
int note_b4 = 494;
int note_c5 = 523;
int note_d5 = 587;
int note_e5 = 659;
int speakerSensor = 8;
int noteDuration = 500/2;
int TIME=0;
void setColor(int red, int green, int blue);
void setup() {
Serial.begin(9600);
pinMode(laser, OUTPUT);
t.oscillate(laser,1800000,HIGH);
t.every(100,doTest);
pinMode(speakerSensor, OUTPUT);
pinMode(redled, OUTPUT);
pinMode(greenled, OUTPUT);
pinMode(blueled, OUTPUT);
}
void doTest()
{
int cds = analogRead(A0);
Serial.println(cds);
if(cds<100)
{
TIME++;
if(TIME>100)
{
if(TIME%3==2)
setColor(0, 255, 255); // aqua
}
if(TIME<=100 && TIME>80)
setColor(255, 0, 0);
if(TIME<=80 && TIME>60)
setColor(230, 0, 0);
if(TIME<=60 && TIME>40)
setColor(190, 0, 0);
if(TIME<=40 && TIME>0)
setColor(150, 0, 0);
}
if(cds>=100)
{
TIME=0;
digitalWrite(redled, LOW);
digitalWrite(greenled, LOW);
digitalWrite(blueled, LOW);
digitalWrite(speakerSensor, LOW);
}
}
void sound()
{
if(TIME>100)
{
tone(speakerSensor, note_e4, noteDuration);
delay(200);
tone(speakerSensor, note_g4, noteDuration);
delay(200);
tone(speakerSensor, note_a4, noteDuration);
delay(400);
tone(speakerSensor, note_a4, noteDuration);
delay(400);
tone(speakerSensor, note_a4, noteDuration);
delay(200);
tone(speakerSensor, note_b4, noteDuration);
delay(200);
tone(speakerSensor, note_c5, noteDuration);
delay(400);
tone(speakerSensor, note_c5, noteDuration);
delay(400);
tone(speakerSensor, note_c5, noteDuration);
delay(200);
tone(speakerSensor, note_d5, noteDuration);
delay(200);
tone(speakerSensor, note_b4, noteDuration);
delay(400);
tone(speakerSensor, note_b4, noteDuration);
delay(400);
tone(speakerSensor, note_a4, noteDuration);
delay(200);
tone(speakerSensor, note_g4, noteDuration);
delay(200);
tone(speakerSensor, note_g4, noteDuration);
delay(200);
tone(speakerSensor, note_a4, noteDuration);
delay(400);
}
}
void setColor(int red, int green, int blue)
{
digitalWrite(redled, red);
//analogWrite(redled, red);
digitalWrite(greenled, green);
//analogWrite(greenled, green);
digitalWrite(blueled, blue);
//analogWrite(blueled, blue);
}
void loop() {
t.update();
sound();
}
Comments
Please log in or sign up to comment.