Uprava programu pro ovladani rele
Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
-
- Příspěvky: 11
- Registrován: stř dub 30, 2014 9:11 pm
- Reputace: 0
Uprava programu pro ovladani rele
Dobrý den,
jelikož jsem úplný začátečník, tak bych Vás tu chtěl požádat o radu ohledně programu pro ovládání relé.
Mám desku Arduino Mega 2560 a k ní modul se 4x relé. Mám připojené zatím jen jedno relé a ovládám
ho tlačítkem, když stisknu tlačítko relé se sepne, když ho pustím relé vypne viz program níže.
Nevíte někdo, jak tento program upravit a přidat do něj ještě druhé tlačítko připojené k button2Pin = 4
a druhé relé připojené k Rele2Pin = 5 s tím, že obě tlačítka budou fungovat, tak že když jedno nebo druhé
stisknu, tak se jedno nebo druhé relé sepne a zůstane seplé a když je opět stisknu, tak se relé rozepnou
a zůstnou rozeplá?
Děkuji za případnou pomoc Jirka
jelikož jsem úplný začátečník, tak bych Vás tu chtěl požádat o radu ohledně programu pro ovládání relé.
Mám desku Arduino Mega 2560 a k ní modul se 4x relé. Mám připojené zatím jen jedno relé a ovládám
ho tlačítkem, když stisknu tlačítko relé se sepne, když ho pustím relé vypne viz program níže.
Nevíte někdo, jak tento program upravit a přidat do něj ještě druhé tlačítko připojené k button2Pin = 4
a druhé relé připojené k Rele2Pin = 5 s tím, že obě tlačítka budou fungovat, tak že když jedno nebo druhé
stisknu, tak se jedno nebo druhé relé sepne a zůstane seplé a když je opět stisknu, tak se relé rozepnou
a zůstnou rozeplá?
Děkuji za případnou pomoc Jirka
Kód: Vybrat vše
// relatka nastaveni
const int buttonPin = 2; // tlačítko1
const int relePin = 3; // rele
int buttonState = 0; //stav
void setup() {
//relé jako výstup
pinMode(relePin, OUTPUT);
//tlačítko jako vstup
pinMode(buttonPin,INPUT);
}
void loop(){
// načtení stavu
buttonState = digitalRead(buttonPin);
// stisknutí
if (buttonState == HIGH) {
// zapni relé
digitalWrite(relePin, LOW);
}
else {
// vypni relé
digitalWrite(relePin, HIGH);
}
}
-
- Příspěvky: 11
- Registrován: stř dub 30, 2014 9:11 pm
- Reputace: 0
Re: Uprava programu pro ovladani rele
Tak uz jsem to vyresil, ten program se musi cely predelat. Pokud byste nekdo resili stejny problem, prikladam vysledek je to jenom na jedno rele + se k tomu i rozsviti ledka, kdyz se rele sepne, a kdyz se rele rozepne ledka zhasne. Doplnit si tam vice rele uz neni problem...
Kód: Vybrat vše
// ovladani rele tlacitkem
// Konstanty se nezmění . Jsou zde použity pro
// Nastavení čísla PIN :
const int buttonPin = 2; // cislo pinu tlacitka
const int relePin = 3; // cislo pinu rele
const int ledPin = 13; // cislo pinu ledky
// Variables will change:
int ledState = HIGH; // Aktuální stav výstupního pinu
int releState = LOW; // Aktuální stav výstupního pinu
int buttonState; // Aktuální čtení ze vstupního pinu
int lastButtonState = LOW; // Předchozí čtení ze vstupního pinu
// Následující proměnné jsou dlouhé , protožečas , měřeno v milisekundách ,
// Se rychle stanevětší číslo , než je možné uložit do int
long lastDebounceTime = 0; // Poslední doba kdy výstupní pin byl přepnut
long debounceDelay = 50; // cas konstanta zvysit
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(relePin, OUTPUT);
// Nastavit počáteční stav ledky a rele
digitalWrite(ledPin, ledState);
digitalWrite(relePin, releState);
}
void loop() {
// Čtení stavu spínače do lokální proměnné :
int reading = digitalRead(buttonPin);
// Zkontroluje, zda jste právě stiskli tlačítko
// zmena prepinace:
if (reading != lastButtonState) {
// reset casovace odskoku
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
// Cas tam byl déle než vstupní zpoždění ,
// skutečný současný stav:
// Pokud došlo ke změněstavu tlačítka:
if (reading != buttonState) {
buttonState = reading;
// Pouze přepínat ledku a rele , pokud je nové zmáčknutí:
if (buttonState == HIGH) {
ledState = !ledState;
releState = !releState;
}
}
}
// nastaveni ledky a rele:
digitalWrite(ledPin, ledState);
digitalWrite(relePin, releState);
// ulozeni cteni pro pristi smycku:
lastButtonState = reading;
}
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Ovládání relé MPPT Victron - NODERED
od ElektroEzs » » v Plánované elektrárny
Ovládání relé MPPT Victron - NODERED
- 80 Odpovědi
- 8427 Zobrazení
-
Poslední příspěvek od kodl69
-
-
- 0 Odpovědi
- 1315 Zobrazení
-
Poslední příspěvek od 007ToMMaS
-
- 1 Odpovědi
- 1087 Zobrazení
-
Poslední příspěvek od sisdale
-
- 14 Odpovědi
- 2616 Zobrazení
-
Poslední příspěvek od FCC
-
- 17 Odpovědi
- 2702 Zobrazení
-
Poslední příspěvek od Mikel
Kdo je online
Uživatelé prohlížející si toto fórum: Claudebot [Bot] a 0 hostů