Sensör ve Aktüatör Kontrolü [Mikrodenetleyiciler]

 

Sensör ve Aktüatör Kontrolü

Mikrodenetleyiciler, sensörler ve aktüatörler ile etkileşime girerek çevresel verileri algılayabilir ve fiziksel işlemleri kontrol edebilir. Sensörler giriş birimleri olarak çalışırken, aktüatörler çıkış birimleri olarak hareket eder.

  • Sensörler, ortamdan veri alarak mikrodenetleyiciye iletir (örneğin, sıcaklık, ışık, nem vb.).
  • Aktüatörler, mikrodenetleyiciden gelen komutlara göre fiziksel dünyada bir işlem gerçekleştirir (örneğin, motorları döndürmek, ışıkları açıp kapatmak).

1. Sensörler ve Çalışma Prensipleri

Sensörler, belirli bir fiziksel olayı ölçen ve bunu elektrik sinyaline dönüştüren bileşenlerdir.

a) Analog Sensörler

  • Sürekli değişen fiziksel büyüklükleri ölçer.
  • Mikrodenetleyici, ADC (Analog to Digital Converter - Analog Dijital Dönüştürücü) kullanarak bu verileri dijital hale getirir.

📌 Örnek Analog Sensörler:
LM35 (Sıcaklık Sensörü)
LDR (Işık Sensörü)
Potansiyometre
Nem Sensörleri (DHT11, DHT22)

📌 Örnek: LM35 ile Sıcaklık Ölçümü (Arduino)

const int sensorPin = A0;  // LM35'in bağlandığı analog giriş pini
float sıcaklık; 

void setup() {
  Serial.begin(9600);
}

void loop() {
  int analogDeger = analogRead(sensorPin);  
  sıcaklık = (analogDeger * 5.0 * 100.0) / 1024;  
  Serial.print("Sıcaklık: ");
  Serial.print(sıcaklık);
  Serial.println(" C");
  delay(1000);
}

b) Dijital Sensörler

  • Sensörler, ölçtükleri veriyi doğrudan 0 ve 1 (dijital) şeklinde mikrodenetleyiciye iletir.
  • Genellikle seri haberleşme protokolleri kullanılarak (I2C, SPI, UART) mikrodenetleyici ile haberleşir.

📌 Örnek Dijital Sensörler:
DHT11/DHT22 (Sıcaklık ve Nem Sensörü)
HC-SR04 (Ultrasonik Mesafe Sensörü)
IR Sensörleri (Engel Algılama)

📌 Örnek: DHT11 ile Nem ve Sıcaklık Ölçümü (Arduino)

#include <DHT.h>

#define DHTPIN 2   
#define DHTTYPE DHT11  

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float sıcaklık = dht.readTemperature();
  float nem = dht.readHumidity();

  Serial.print("Sıcaklık: ");
  Serial.print(sıcaklık);
  Serial.print(" C  -  ");
  Serial.print("Nem: ");
  Serial.print(nem);
  Serial.println(" %");

  delay(2000);
}

2. Aktüatörler ve Kontrol Yöntemleri

Aktüatörler, mikrodenetleyicinin verdiği sinyaller doğrultusunda mekanik bir hareket veya elektriksel bir işlem gerçekleştirir.

a) LED Kontrolü

  • Dijital çıkış pinleri kullanılarak LED'ler açılıp kapatılabilir.
  • PWM (Darbe Genişlik Modülasyonu) kullanılarak LED parlaklığı ayarlanabilir.

📌 Örnek: LED Aç/Kapat (Arduino)

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH); // LED Aç
  delay(1000);
  digitalWrite(ledPin, LOW); // LED Kapat
  delay(1000);
}

📌 Örnek: PWM ile LED Parlaklık Kontrolü

const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  for (int i = 0; i <= 255; i++) {
    analogWrite(ledPin, i);
    delay(10);
  }
}

b) Motor Kontrolü

  • DC Motor: Hız kontrolü için PWM kullanılır.
  • Servo Motor: Açısal hareket için belirli açılara getirilir.
  • Step Motor: Belirli adımlarla döndürülerek hassas hareket sağlanır.

📌 Örnek: Servo Motor Kontrolü (Arduino)

#include <Servo.h>

Servo myServo;

void setup() {
  myServo.attach(9);
}

void loop() {
  myServo.write(0);
  delay(1000);
  myServo.write(90);
  delay(1000);
  myServo.write(180);
  delay(1000);
}

c) Röle Kontrolü

Röleler, yüksek gerilimli cihazları (220V lambalar, motorlar) mikrodenetleyici ile kontrol etmeye yarar.

📌 Örnek: Röle ile Lamba Kontrolü (Arduino)

const int rolePin = 7;

void setup() {
  pinMode(rolePin, OUTPUT);
}

void loop() {
  digitalWrite(rolePin, HIGH); // Röleyi aç
  delay(5000);
  digitalWrite(rolePin, LOW);  // Röleyi kapat
  delay(5000);
}

3. Sensör-Aktüatör Etkileşimi

Sensörlerden gelen veriye göre aktüatörleri kontrol etmek yaygın bir uygulamadır.

📌 Örnek: LDR ile Otomatik LED Kontrolü (Arduino)

const int ldrPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int ldrDegeri = analogRead(ldrPin);
  Serial.println(ldrDegeri);

  if (ldrDegeri < 500) {  // Ortam karanlıksa
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
  
  delay(500);
}

4. Sensör ve Aktüatör Haberleşme Protokolleri

Sensörler ve aktüatörler genellikle şu haberleşme protokollerini kullanarak mikrodenetleyiciler ile iletişim kurar:
Analog SensörlerADC kullanır (örneğin LM35, LDR)
Dijital SensörlerDijital girişler veya I2C/SPI/UART kullanır
AktüatörlerDijital çıkışlar, PWM veya röle kullanır

Sensör/Aktüatör Türü Haberleşme Protokolü Kullanım Alanı
LM35 Analog Sensör ADC Sıcaklık ölçümü
DHT11 Dijital Sensör Dijital Pin Sıcaklık/Nem ölçümü
HC-SR04 Dijital Sensör Dijital Pin (Trig/Echo) Mesafe ölçümü
Servo Motor Aktüatör PWM Robotik, açısal hareket
DC Motor Aktüatör PWM Hız kontrolü

Sonuç

  • Sensörler ortamdan veri alır ve mikrodenetleyiciye iletir.
  • Aktüatörler mikrodenetleyici tarafından kontrol edilir ve fiziksel değişiklikler oluşturur.
  • Sensör + Aktüatör etkileşimi, akıllı sistemlerin temelini oluşturur (örneğin, hareket algılayan ve ışık açan sistemler).

Yorumlar

Sitedeki popüler yayınlar:

Kullanım Alanlarına Göre Farklı Linux Dağıtımları 3

Kullanım Alanlarına Göre Farklı Linux Dağıtımları

Kullanım Alanlarına Göre Farklı Linux Dagıtımları 2