Arduino Seri Haberleşme (UART)
Merhaba arkadaşlar. Bugün sizlerle beraber Arduino ve 74HC595 entegresini kullanarak seri iletişim ile bilgisayar kontrollü LED uygulaması yapacağız.
Arduino, bilgisayarımızla haberleşmek için COM portunu kullanır. Bu COM portu, seri haberleşme (UART) adı verilen bir iletişim protokolü ile kullanılır. Arduino yazılımında bulunan "Seri Port Ekranı" ile bilgisayarımız ve Arduino arasında veri alışverişi yapabiliriz. Bu sayede Arduino'nun çeşitli sensörlerden aldığı verileri bilgisayara iletebilir ve bilgisayar üzerinden Arduino'ya komutlar gönderebiliriz. Bu seri haberleşme yöntemi, projelerimizi daha etkileşimli ve kontrollü hale getirmemizi sağlar.
Buda devremizin bağlantı şeması
Kodumuz ise şu şekilde:
int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
byte leds = 0; // LED durumlarını saklayan değişken
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
registeraYaz(); // LED durumlarını kaydırma kaydına yükle
Serial.begin(9600);
while (! Serial);
Serial.print("1 ile 8 arasında bir LED numarası girin veya ");
Serial.println("x ile hepsini söndürün");
}
void loop()
{
if (Serial.available())
{
char ch = Serial.read();
if (ch >= '1' && ch <= '8')
{
int led = ch - '1'; // Girilen karakterden LED numarasını hesapla
bitSet(leds, led); // Belirtilen LED'i aç
registeraYaz(); // LED durumlarını kaydırma kaydına yükle
Serial.print(led + 1);
Serial.println(" numaralı LED yandı");
}
if (ch == 'x')
{
leds = 0; // Tüm LED'leri kapat
registeraYaz(); // LED durumlarını kaydırma kaydına yükle
Serial.println("Tüm LED'ler söndü");
}
}
}
void registeraYaz()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds); // LED durumlarını kaydırma kaydına yaz
digitalWrite(latchPin, HIGH);
}
Kodumuzun başlangıç bölümünde bulunan Serial.begin(9600) komutu, Arduino cihazımızın seri iletişim hızını 9600 baud oranında (seri iletişim hız birimi) ayarlayarak konfigüre eder. Aynı şekilde, Serial.print komutu da Arduino'nun seri iletişim portunu kullanarak, tırnak içindeki metni bilgisayar ile iletişim kurarak ileterek, söz konusu metnin seri iletişim portu ekranında görüntülenmesini sağlar.
Bu şekilde, Arduino ve ilgili kod örneği aracılığıyla seri haberleşmenin nasıl gerçekleştirildiğini anlamış olduk. Seri iletişim, Arduino'nun diğer cihazlar veya bilgisayarlar gibi harici kaynaklarla veri alışverişi yapmasını sağlayan temel bir iletişim yöntemidir. Bu kod örneği, Arduino'nun seri portunu kullanarak LED kontrolünü anlamamıza yardımcı olurken, daha karmaşık projelerde de seri haberleşme prensiplerini kullanarak geniş çaplı iletişim sağlayabiliriz.
Berat KURTGÖZ (Yazar)
Tasarım ssnasıl göründüğü ya da nasıl hissettirdiği ile ilgili bir şey değildir. Tasarım nasıl çalıştığı ile ilgilidir
Makaleleri
45
Makale Okunması
17578
Yorumunuz Gönder