/* Melody * (cleft) 2005 D. Cuartielles for K3 * * This example uses a piezo speaker to play melodies. It sends * a square wave of the appropriate frequency to the piezo, generating * the corresponding tone. * * The calculation of the tones is made following the mathematical * operation: * * timeHigh = period / 2 = 1 / (2 * toneFrequency) * * where the different tones are described as in the table: * * note frequency period timeHigh * c 261 Hz 3830 1915 * d 294 Hz 3400 1700 * e 329 Hz 3038 1519 * f 349 Hz 2864 1432 * g 392 Hz 2550 1275 * a 440 Hz 2272 1136 * b 493 Hz 2028 1014 * C 523 Hz 1912 956 * * http://www.arduino.cc/en/Tutorial/Melody */ int speakerPin = 3; // Grove Buzzer connect to D3 const int buttonPin = 2; int buttonState = 0; int fan=6; const int pinTemp = A0; // pin of temperature sensor const int pinLight = A1;//start the lighting sys const int lights = 4; int thresholdvalue=400; float temperature; int B=3975; // B value of the thermistor float resistance; int hitlamp=5; int length = 10; // the number of notes char notes[] = "ccggaagffeeddc "; // a space represents a rest int beats[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4 }; int tempo = 10000; void playTone(int tone, int duration) { for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(tone); digitalWrite(speakerPin, LOW); delayMicroseconds(tone); } } void playNote(char note, int duration) { char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; // play the tone corresponding to the note name for (int i = 0; i < 8; i++) { if (names[i] == note) { playTone(tones[i], duration); } } } void setup() { pinMode(speakerPin, OUTPUT); pinMode(buttonPin, INPUT); pinMode(fan, OUTPUT); pinMode(hitlamp, OUTPUT); Serial.begin(9600); pinMode(lights, OUTPUT); } void loop() { int sensorValue = analogRead(A1);//lighting if(sensorValue= 26 ) { digitalWrite(hitlamp, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second digitalWrite(fan, HIGH); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } else if(temperature <= 25) { digitalWrite(fan, LOW); // turn the LED off by making the voltage LOW delay (100); } delay(1000); // delay 1s buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { // turn LED on: for (int i = 0; i <= length; i++) { if (notes[i] == ' ') { delay(beats[i] * tempo); // res } else { playNote(notes[i], beats[i] * tempo); } // delay(tempo); } } else {} }