Úroveň hladiny v jímce
Napsal: 20 čer 2020, 16:42
Ahoj všem příznivcům arduina
Opět bych potřeboval vaší pomoc ,nebo radu.
Mám sestrojené zařízení na hlídání hladiny v jímce
V jímce je plastová trubka z osmi nerezovými sondami.
Hladina je signalizována sloupcem led diod a v případě dosažení předposlední sondy se sepne relé na určitou dobu,aby se vyčerpal určitý obsah vody.
Pokud by se voda z nějakého důvodu neodčerpala je na poslední sondě siréna,která se spustí při zaplavení poslední sondy.
a teď potřebuji poradit:Pokud siréna houká potřeboval bych jí po příchodu k zařízení vypnout tlačítkem,které je připojené přes zapnutý pullup na A3,ale nevím jak to do programu implementovat.
sonda pro sirénu je na D6 a výstup sirény je na A5
Zde je kod pro arduino
Předem moc děkuji za každou radu
Opět bych potřeboval vaší pomoc ,nebo radu.
Mám sestrojené zařízení na hlídání hladiny v jímce
V jímce je plastová trubka z osmi nerezovými sondami.
Hladina je signalizována sloupcem led diod a v případě dosažení předposlední sondy se sepne relé na určitou dobu,aby se vyčerpal určitý obsah vody.
Pokud by se voda z nějakého důvodu neodčerpala je na poslední sondě siréna,která se spustí při zaplavení poslední sondy.
a teď potřebuji poradit:Pokud siréna houká potřeboval bych jí po příchodu k zařízení vypnout tlačítkem,které je připojené přes zapnutý pullup na A3,ale nevím jak to do programu implementovat.
sonda pro sirénu je na D6 a výstup sirény je na A5
Zde je kod pro arduino
Kód: Vybrat vše
//source:Jimka 3 /
byte sensorPin[] = {7, 8, 9, 10, 11, 12, 6, 13}; // číslo pinu senzoru
byte ledPin[] = {5, 4, 3, 2, A0, A1, A5, A2}; // číslo pinu pro LED = číslo senzoru
const byte sensors = 8;
int level = 0;
const int rele = A4;
const int instantResetPin = A3;
void setup() {
for(int i = 0; i < sensors; i++) {
pinMode(sensorPin[i], INPUT); //Senzor piny nastaveny na vstup
pinMode(ledPin[i], OUTPUT); //led pin nastaveny na výstup
}
pinMode(rele, OUTPUT); //výstup pro relé
pinMode(instantResetPin, INPUT_PULLUP);
}
void loop() {
level = 0;
for(int i = 0; i < sensors; i++) {
if(digitalRead(sensorPin[i]) == LOW) {
digitalWrite(ledPin[i], HIGH);
level = sensors - i;
} else {
digitalWrite(ledPin[i], LOW);
}
}
switch(level) {
case 1:
digitalWrite(rele,HIGH);
delay(5000);
break;
case 2:
digitalWrite(rele, LOW);
break;
case 3:
digitalWrite(rele, LOW);
break;
case 4:
digitalWrite(rele, LOW);
break;
case 5:
digitalWrite(rele, LOW);
break;
case 6:
digitalWrite(rele, LOW);
break;
case 7:
digitalWrite(rele, LOW);
break;
case 8:
digitalWrite(rele, LOW);
break;
default:
digitalWrite(rele, LOW);
break;
}
delay(50);
}