Stránka 1 z 1

Srozumitelný program si dělá co chce :-(

Napsal: 23 led 2021, 15:50
od Huri
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?

Re: Srozumitelný program si dělá co chce :-(

Napsal: 23 led 2021, 16:04
od Huri
A sakra, tak koukám, že moje relé mají asi obrácenou logiku, takže jsem je zapínal všechny. :shock:
Ještě že jsem nic neodpálil. :oops:
Jdu to zkusit předělat.

Re: Srozumitelný program si dělá co chce :-(

Napsal: 23 led 2021, 16:31
od Huri
Tak to bylo tím, už to šlape. :)

Re: Srozumitelný program si dělá co chce :-(

Napsal: 23 led 2021, 19:50
od KamilV
Ony dost možná nebudou mít obrácenou logiku, ale možná máš prohozené zapojení NO vs NC.

Re: Srozumitelný program si dělá co chce :-(

Napsal: 24 led 2021, 09:21
od petan
Pull_up obraci logiku, rele muze mit obracenou logiku, ale hlavne nikde (krome zacatku programu) nepridelujes promenne "stisknuto" hodnotu 1.

Doporucuju pouzit jako promennou bool. Muzes pak jednoduse napsat:

Kód: Vybrat vše

bool promenna;
promenna = !digitalRead(tlacitko);
Tohle ti ciate zkopiruje negovany stav vstupu do promenne. Oba stavy = zapnuto/true i vypnuto/false

Re: Srozumitelný program si dělá co chce :-(

Napsal: 25 led 2021, 16:43
od kiRRow
taky nechápu jak to může fungovat, když nikde není v programu stisknuto = 1 ... nebo digitalRead ...