Professional Documents
Culture Documents
int analogTempRead;
float celsiusTempRead;
// PJ - Change 1: Pre declare volt here
float volt;
const int piezoPitch = 100;
int loopLen;
float avgCelsiusTempRead;
void setup() {
Serial.begin(9600);
pinMode(loLedPin, OUTPUT);
pinMode(okLedPin, OUTPUT);
pinMode(hiLedPin, OUTPUT);
pinMode(piezoPin, OUTPUT);
Serial.println("\n\nReady.");
}
void loop()
{
loopLen = 0;
iteration++;
celsiusTempRead = ((volt-.5)*100);
if (iteration < 5) {
avgCelsiusTempRead = 2.0;
}
if (iteration >= 5 && iteration < 10) {
avgCelsiusTempRead = 15.0;
}
if (iteration >= 10 && iteration <15) {
avgCelsiusTempRead = 500.0;
}
if (iteration >= 15 && iteration < 20) {
avgCelsiusTempRead = -4.0;
}
if (iteration >= 20 && iteration < 25) {
avgCelsiusTempRead = 15.0;
}
if (iteration >= 25) {
avgCelsiusTempRead = (0.1 * celsiusTempRead + 0.9 * avgCelsiusTempRead);
}
// debug
// celsiusTempRead = 500;
Serial.println("+=======+===========+");
Serial.print("|Instant| "); Serial.print(celsiusTempRead, 2);
Serial.println("*C\t|");
Serial.println("+-------+-----------+");
Serial.print("|Average| "); Serial.print(avgCelsiusTempRead, 2);
Serial.println("*C\t|");
Serial.println("+=======+===========+");
delay(2000-loopLen);
}
/*
alarm with Acknowledge
If the input turns 0 to 1 o/p led blinks with the common buzzer o/p.if ack i/p (push button)
pressed the buzzer will mute.
but if the second alarm triggered buzzer will get activated again.
*/
const int ack= 6;
const int buzzer = 9;
const int input1=2;
const int input2=3;
const int led1=7;
const int led2=8;
int S1;
int S2;
void setup() {
pinMode (input1,INPUT);
pinMode (input2,INPUT);
pinMode (ack,INPUT);
pinMode (led1,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (buzzer,OUTPUT);
}
void loop() {
S1=digitalRead(input1);
S2=digitalRead(input2);
if (S1==HIGH)
{
digitalWrite (led1,HIGH);
delay(500);
digitalWrite (led1,LOW);
delay(500);
digitalWrite (led1,HIGH);
digitalWrite (buzzer,HIGH);
}
else
{
digitalWrite (led1,LOW);
}
if
(S2==HIGH )
{
digitalWrite (led2,HIGH);
delay(500);
digitalWrite (led2,LOW);
delay(500);
digitalWrite (led2,HIGH);
digitalWrite (buzzer,HIGH);
}
else
{
digitalWrite (led2,LOW);
}
}