Srozumitelný program si dělá co chce :-(
Napsal: 23 led 2021, 15:50
Mám tlačátko připojené na pullup pin číslo 7 a GND.
Dále mám podle mě naprosto srozumitelný kód:
int tlacitko = 7;
int stisknuto = 1;
int relePin1 = 10;
int relePin2 = 11;
void setup() {
Serial.begin(9600);
pinMode(relePin1, OUTPUT);
pinMode(relePin2, OUTPUT);
pinMode(tlacitko, INPUT_PULLUP);
}
void loop() {
if (digitalRead(tlacitko) == 0){
stisknuto = 0;
}
if (stisknuto == 1){
Serial.println(stisknuto);
digitalWrite(relePin1, HIGH);
delay(2000);
digitalWrite(relePin1, LOW);
}
if (stisknuto == 0){
Serial.println(stisknuto);
digitalWrite(relePin2, HIGH);
delay(2000);
digitalWrite(relePin2, LOW);
}
}
Tlačítko funguje dle programu a sériový monitor vypisuje vše správně.
Když ale k pinu 5V a druhému pinu GND připojím napájení modulu se 4 relé.
Tlačítko přestane reagovat.
Nemáte někdo tušení proč?
Někde jsem četl, že musím dávat pozor, protože relé mají velkou spotřebu (4x70mA).
Já ale nikdy nezapánám víc než jedno relé (nikdy nejdedou dvě najednou), takže by s napájením přímo z Arduina neměl být problém.
Nebo se pletu?
Může být chyba v tomhle?
Dále mám podle mě naprosto srozumitelný kód:
int tlacitko = 7;
int stisknuto = 1;
int relePin1 = 10;
int relePin2 = 11;
void setup() {
Serial.begin(9600);
pinMode(relePin1, OUTPUT);
pinMode(relePin2, OUTPUT);
pinMode(tlacitko, INPUT_PULLUP);
}
void loop() {
if (digitalRead(tlacitko) == 0){
stisknuto = 0;
}
if (stisknuto == 1){
Serial.println(stisknuto);
digitalWrite(relePin1, HIGH);
delay(2000);
digitalWrite(relePin1, LOW);
}
if (stisknuto == 0){
Serial.println(stisknuto);
digitalWrite(relePin2, HIGH);
delay(2000);
digitalWrite(relePin2, LOW);
}
}
Tlačítko funguje dle programu a sériový monitor vypisuje vše správně.
Když ale k pinu 5V a druhému pinu GND připojím napájení modulu se 4 relé.
Tlačítko přestane reagovat.
Nemáte někdo tušení proč?
Někde jsem četl, že musím dávat pozor, protože relé mají velkou spotřebu (4x70mA).
Já ale nikdy nezapánám víc než jedno relé (nikdy nejdedou dvě najednou), takže by s napájením přímo z Arduina neměl být problém.
Nebo se pletu?
Může být chyba v tomhle?