Arduino – 4’lü Röle Bağlantısı

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;
}
}
}
0 0 votes
Article Rating
Subscribe
Bildir
guest

0 Yorum
En Yeniler
Eskiler Beğenilenler
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x