Estou criando o projeto de alarme com diversos sensores, até a parte de acionar o alarme que seria uma sirene foi fácil e tudo bem, o problema está em inibir a sirene usando uma botoeira pois se outro sensor alarmar ele deve também tocar a sirene.
Discrição rápida
15 sensores, (temperatura, nível de água, pressão, etc)
Mostrador de alarme para cada tipo de sensor por LED.
Botoeira inibidor de alarme.
Arduino Mega
Funcionamento:
15 sensores digitais, quanto um sensor é acionado um LED demonstra no painel que foi acionado e é acionado uma sirene até que a botoeira INIBIDOR seja pressionada;
O problema que programei o Inibidor mas não funciona;
Aguem pode me auxiliar.
Agradeço
Segue código;
//Alarme de gerador
const int alarme1 = 1;
const int alarme2 = 2;
const int alarme3 = 3;
const int alarme4 = 4;
const int alarme5 = 5;
const int alarme6 = 6;
const int alarme7 = 7;
const int alarme8 = 8;
const int alarme9 = 9;
const int alarme10 = 10;
const int alarme11 = 11;
const int alarme12 = A0;
const int alarme13 = A1;
const int alarme14 = A2;
const int alarme15 = A3;
const int ledPin = 13;
const int inibidor = 12;
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(alarme1, INPUT);
pinMode(alarme2, INPUT);
pinMode(alarme3, INPUT);
pinMode(alarme3, INPUT);
pinMode(alarme4, INPUT);
pinMode(alarme5, INPUT);
pinMode(alarme6, INPUT);
pinMode(alarme7, INPUT);
pinMode(alarme8, INPUT);
pinMode(alarme9, INPUT);
pinMode(alarme10, INPUT);
pinMode(alarme11, INPUT);
pinMode(alarme12, INPUT);
pinMode(alarme13, INPUT);
pinMode(alarme14, INPUT);
pinMode(alarme15, INPUT);
pinMode(inibidor, INPUT);
}
void loop(){
digitalRead(alarme1);
if (alarme1 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixa pressao de oleo Lubrificante do MCP Bombordo");
}
if (alarme2 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixo nivel de agua do tanque de expansao do MCP Bombordo ");
}
if (alarme3 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Alta temperatura dos gases da descarga do MCP Bombordo");
}
if (alarme4 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixa pressao de oleo lubrificante da caixa redutora do MCP Bombordo");
}
if (alarme5 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Alta temperatura de oleo Lubrificante da caixa redutora do MCP de Bombordo");
}
if (alarme6 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixa pressao de oleo Lubrificante do MCP de Boreste");
}
if (alarme7 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixo nivel de agua do tanque de expansao do MCP Boreste");
}
if (alarme8 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Alta temperatura dos gases da descarga do MCP Boreste");
}
if (alarme9 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixa pressao de oleo lubrificante da caixa redutora do MCP Boreste");
}
if (alarme10 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Alta temperatura de oleo Lubrificante da caixa redutora do MCP Boreste");
}
if (alarme11 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixa pressao de oleo Lubrificante do MCP Central");
}
if (alarme12 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixo nivel de agua do tanque de expansao do MCP Central");
}
if (alarme13 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Alta temperatura dos gases da descarga do MCP Central");
}
if (alarme14 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Baixa pressao de oleo lubrificante da caixa redutora do MCP Central");
}
if (alarme15 == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println("Alta temperatura de oleo Lubrificante da caixa redutora do MCP Central");
}
digitalRead(inibidor);
if (inibidor == LOW) {
// turn LED on:
digitalWrite(ledPin, LOW);
Serial.println("Alarme Inibido");
}
}

