Daha önceki yazılarımızda arduinonun dijital giriş çıkışlarını kullanmıştık fakat arduino’ nun giriş seviyeleri malum TTL +5V seviyesinde olduğu için daha yüksek seviyelerde -örneğin +24V DC gibi- kullanamazsınız. Denerseniz arduinonuz yanabilir. Bu yüzden Arduino ile +24V sinyalini okumak için ve Arduino Mega ile +24V sinyal çıkışı sağlamak için araya bir gerilim bölücü ve yükselteç gibi devre yapmanız gerekmektedir.

Toshiba marka TLP521-1 serisi bir optokuplör arduino’dan gelen +5V sinyalini +24V beslediğimiz bir transistörü tetiklememize ve +24V çıkış almamıza olanak sağlayacaktır.

Arduino Mega +24V Dijital Shield

Arduino Mega +24V Dijital Shield

Yukarıdaki devrede gördüğünüz gibi arduino mega için yapılmış shield devresinin giriş çıkış adetleri aşağıdaki gibidir.

5 adet dijital girişi +5V sinyal için kullanılmıştır.

10 adet girişi gerilim bölücü ile +24V sinyalini okumak için kullanılmıştır

5 adet +24V optokuplorlü transistör çıkışı verilmiştir.

Optokuplör kullanarak +24V çıkışlı shield devresi aşağıdaki gibidir.

Arduino Mega +24V out shield

Arduino Mega +24V out shield

Arduino için +24VDC input sinyalini algılamak için aşağıdaki gerilim bölücü devresini kullanabilirsiniz.

Arduino +24V gerilim bölücü devresi

Arduino +24V gerilim bölücü devresi

Yukarıdaki devre için aşağıdaki arduino kodlarını kullanabilir veya kendi 24V dijital giriş çıkış shield’ ınızı yapıp kendi kodlarınızı yazabilirsiniz.

/*
web: www.kaizen40.com
prg adı: +24V shield
board: arduino mega
tarih: 28.02.2016
yazan: Remzi ŞAHİNOĞLU
*/

//************************** GİRİŞ/ÇIKIŞLAR ************************//
const int input_24V = 28;
const int btn_1 = 23;
const int output_1_24V = 7;

// diğer pinleri aynı şekilde burada anımlayıp aşağıda
// aynı kodlar ile kontrol edebilirsiniz

//***************************** AYARLAR ****************************//
void setup()
{
  Serial.begin(19200);
  //delay(500);

  pinMode(input_24V, INPUT);
  pinMode(btn_1, INPUT_PULLUP); 
  pinMode(output_1_24V, OUTPUT);
  
  digitalWrite(output_1_24V, LOW);
}

//**************************** ANA PROGRAM ***************************//
void loop()
{
  //******************* +5V SİNYALLERİ *********************//
  if (digitalRead(btn_1) == 0)
  {
    Serial.println("1. +5V sinyali");         // pc ye gönder
    delay(500);
  }

  //******************* +24V SİNYALLERİ *********************//
  if (digitalRead(input_24V == 1)
  {
    Serial.println("1. +24V sinyali");
    digitalWrite(output_1_24V, HIGH); 
    delay(500);
  }
  else
  {
    digitalWrite(output_1_24V, LOW); 
    delay(500);
  }
}
Arduino Mega +24V dijital IO Shield

Arduino Mega +24V dijital IO Shield


0 yorum

Bir cevap yazın

Avatar placeholder

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.