2 kanaliga relee arduinoga

Kuidas kasutada relee moodulit Arduinoga

Räägin lühidalt kuidas ühendada tuntud relee moodulit ning kuida see tööle saada. Esmapilgul võib selle mooduli tööpõhimõte natuke segadusse ajada. Nimelt selle relee aktiveerumiseks tuleb näiteks Arduino puhul anda digitaal väljundis LOW signaal, mitte HIGH.

Siinse artikli aluseks küll konkreetselt 2 releega isend, kuid neid on olemas erineva releede arvuga. Ent tööpõhimõte jääb neil kõigil samaks. Iga relee kohta plaadil on üks juhtsignaali sisend.

Väljund klemmid

Konkreetsel releel on hea omadus- saab kasutada mõlemat pidi. Nii vaikimisi avatud kui ka suletud vooluringi loomiseks. Vastavalt kumba pidi hetkel vaja on.

Vaadates järgnevat joonist (joonis 2) näeme, et mõlema relee keskmine klemm on ühine. Sinna ühendame sisend toitevoolu mida me juhtida soovime.  Releel on kaks olekut ning vaikimisi olek on NC. Ehk kui meil oleks tarbija ühendatud NC klemmi külge- oleks see kohe ühenduses toitevooluga. Kui tarbija on ühendatud NO– ehk vaikimisi avatud vooluahelasse, siis see ei see poleks kohe ühenduses toitega. Joonis 1 - Relee väljundid

Joonis 1 – Relee väljundid

 

Ühendamise diagramm

Pildil on küll 2 releega moodul, aga ühendamise loogika on näidatud ühe relee kohta plaadil. Sellest peaks piisama, et aru saada kuidas seda teha. Kui IN1 sisendisse (Logic signal) anda näiteks Arduino puhul HIGH (5V) pinge, siis põleb lamp 2. Kui me muudame sama sisendi väljundi 0V peale, ehk LOW- siis süttib lamp 1 ning kustub lamp 2.

NB: Kui Arduinolt eemaldada toide siis süttib vaikimisi lamp 2.

Joonis 2 - Relee ühendamise skeem
Joonis 2 – Relee ühendamise skeem

Arduino näidiskood

Juhuks kui soov kiirelt proovida võib siinse koodi kopeerida. Selle näite puhul tuleb ühendada 8 ja 9 Arduino väljund relee mooduli sisenditesse (IN1 ja IN2)

See lülitab mõlemat releed korraga sisse ja välja üheks sekundiks.

/*
2 kanaliga relee näidisprogramm / 2-channel relay demo program
http://isetegija.ee/et/kuidas-kasutada-releed-arduinoga/

Turns on both relays on for one second,
then off for one second, repeatedly.

Lülitab mõlemad releed sisse üheks sekundiks
ja siis jälle välja üheks sekundiks, korrates rutiini
*/

int relayPin1 = 8;
int relayPin2 = 9;

void setup() {
	pinMode(relayPin1, OUTPUT);
	pinMode(relayPin2, OUTPUT);
}

void loop() {
	//switch both relays off/normal mode
	//lülitame korraga mõlemad releed “välja” ehk tava olekusse
	digitalWrite(relayPin1, HIGH);
	digitalWrite(relayPin2, HIGH);
	delay(1000);

	//switch both relays to on
	//Lülitame mõlemad releed sisse
	digitalWrite(relayPin1, LOW);
	digitalWrite(relayPin2, LOW);
	delay(1000);
}