Merhaba, arduino devre elemanlarını tanımaya ve onların bağlantı şekillerini öğrenmeye devam ediyoruz ve bu yazımızdaki bağlantımız Arduino – 4’lü Röle Bağlantısı.
İlk önce röle nedir, ne işe yarar, nerelerde kullanırız. Bununla ilgili kısa bir giriş yapalım sonrasında bağlantı şemasına ve test koduna geçelim.
Röle Nedir?
Röle, düşük akımlar kullanarak yüksek akım çeken cihazları anahtarlama görevinde kullanılan devre elemanıdır. Kısaca çalışma prensipleri, rölenin bobinine enerji verildiğinde mıknatıslanan bobin bir armatürü hareket ettirerek kontakların birbirine temasını sağlar ve devrede iletim sağlanmış olur.
Röle üzerinde genellikle NO (normally open), NC (normally closed) ve COM (common) yazan üç adet bağlantı bulunur. Normally open olan bağlantı, röleye enerji verilmediği durumda common ucu ile açık devredir, dolayısıyla iletim geçekleşmez. Rölenin bobinine enerji verildiğinde NO ile COM uçları kısa devre olur ve elektrik akımı sağlanır. NC ucu ise NO’nun tam tersi şekilde çalışır, yani bobine enerji verilmediğinde NC ve COM uçları kısa devredir. Enerji verildiğinde açık devre oluştururlar.
Röle Nerelerde Kullanılır?
Rölelerin kullanım alanları çeşitlerine göre değişmektedir. Yüksek akımlı devrelerin kontrolü çok önemli olduğundan birçok alanda kullanılırlar. Örnek vermek gerekirse sigortalarda, alarm sistemlerinde, elektrikli ev aletlerinde sıkça kullanılmaktadırlar. Rölenin çeşitlerini ve kullanım amaçlarını inceleyerek kullanım alanları hakkında bir fikir sahibi olabiliriz. Bizim bu yazımızda kullanacağımız Arduino – 4’lü Röle Bağlantısı ile de aslında bir fikir oluşabilir kafanızda neler yapılabileceğine dair.
Görselde gösterildiği gibi bir devre kuracak olursanız devrenin tamamlanmış olduğunu göreceksiniz.
Test Kodu
// Include Libraries #include "Arduino.h" // Pin Definitions #define RELAYMODULE4CH_PIN_IN1 2 #define RELAYMODULE4CH_PIN_IN2 3 #define RELAYMODULE4CH_PIN_IN3 4 #define RELAYMODULE4CH_PIN_IN4 5 // Global variables and defines //define an array for the 4ch relay module pins int RelayModule4chPins[] = { RELAYMODULE4CH_PIN_IN1, RELAYMODULE4CH_PIN_IN2, RELAYMODULE4CH_PIN_IN3, RELAYMODULE4CH_PIN_IN4 }; // object initialization // define vars for testing menu const int timeout = 10000; //define timeout of 10 sec char menuOption = 0; long time0; // Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity. void setup() { // Setup Serial which is useful for debugging // Use the Serial Monitor to view printed messages Serial.begin(9600); while (!Serial) ; // wait for serial port to connect. Needed for native USB Serial.println("start"); pinMode(RELAYMODULE4CH_PIN_IN1, OUTPUT); pinMode(RELAYMODULE4CH_PIN_IN2, OUTPUT); pinMode(RELAYMODULE4CH_PIN_IN3, OUTPUT); pinMode(RELAYMODULE4CH_PIN_IN4, OUTPUT); menuOption = menu(); } // Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop. void loop() { if(menuOption == '1') { // Relay Module 4-Ch - Test Code //This loop will turn on and off each relay in the array for 0.5 sec for (int i = 0; i < 4; i++) { digitalWrite(RelayModule4chPins[i],HIGH); delay(500); digitalWrite(RelayModule4chPins[i],LOW); delay(500); } } if (millis() - time0 > timeout) { menuOption = menu(); } } // Menu function for selecting the components to be tested // Follow serial monitor for instrcutions char menu() { Serial.println(F("\nWhich component would you like to test?")); Serial.println(F("(1) Relay Module 4-Ch")); Serial.println(F("(menu) send anything else or press on board reset button\n")); while (!Serial.available()); // Read data from serial monitor if received while (Serial.available()) { char c = Serial.read(); if (isAlphaNumeric(c)) { if(c == '1') Serial.println(F("Now Testing Relay Module 4-Ch")); else { Serial.println(F("illegal input!")); return 0; } time0 = millis(); return c; } } }