Konu Anlatımı
PWM ve Seri Haberleşme
PWM ve Seri Haberleşme, Robotik ve Kodlama dersi kapsamındaki Mikrodenetleyici Programlama ünitesinin temel konularından biridir. Bu konu alanın gerektirdiği bilgi ve becerilerin kazandırılmasına temel oluşturur.
Temel Bilgiler
- pinMode() pin yönünü belirler, digitalWrite() lojik seviye yazar.
- analogRead() 0-1023, analogWrite() 0-255 aralığındadır.
- Seri haberleşme ile bilgisayara veri aktarılır.
Uygulama ve Dikkat Edilmesi Gerekenler
Bu konunun uygulamasında iş güvenliği kurallarına uyulmalı, kullanılan araç ve malzemeler amacına uygun seçilmeli ve yapılan işlemler standartlara göre kontrol edilmelidir. Öğrenilen bilgiler atölye ve iş yeri uygulamalarıyla pekiştirildiğinde kalıcılık artar.
PWM ile Analog Görünümlü Çıkış
PWM (darbe genişlik modülasyonu), dijital çıkışı yüksek hızda açıp kapatarak motora ya da LED'e ulaşan ortalama gerilimi ayarlar. Bir periyotta HIGH kalınan sürenin orana oranı doluluk oranı (duty) olarak adlandırılır. 8 bitlik analogWrite komutunda 0 değeri çıkışı tamamen kapatır, 255 tam gerilim verir, 128 ise yüzde 50 dolulukla beslemenin yarısını iletir. Motorun devri, LED'in parlaklığı bu ortalama gerilimle değişir; frekansın kendisi ise seçilirken motorda duyulabilir cırtırtıyı önleyecek ve sürücünün izin verdiği aralıkta kalacak şekilde belirlenir.
Seri Haberleşmenin Temel Kavramları
İki kart arasındaki veri alışverişi seri haberleşme ile yapılır; veri bit bit gönderilir. En basit şekli UART'tır: bir kartın TX (verici) ucu diğerinin RX (alıcı) ucuna bağlanır ve ortak toprak paylaşılır. Haberleşmenin ön koşulu baud (saniyedeki sembol sayısı) değerlerinin her iki tarafta aynı olmasıdır; 9600 baud ile 115200 baud eşleşirse gelen karakterler okunamaz. Daha çok cihaz bağlanması gereken sistemlerde I2C kullanılır: SDA (veri) ve SCL (saat) olmak üzere iki hattan oluşan bu düzende her cihazın bir adresi vardır ve ana cihaz (master) adresle konuşur.
Haberleşme Protokollerinin Karşılaştırılması
| Özellik | UART | I2C | SPI |
|---|
| Hat sayısı | TX-RX (2) | SDA-SCL (2) | MOSI-MISO-SCK-CS (4) |
| Adresleme | Yok | Var | Chip select ile |
| Hız | Orta | Orta | Yüksek |
| Kullanım | İki cihaz arası | Çoklu cihaz | Hızlı ekran, bellek |
Adım Adım Seri Haberleşme Kurma
- Her iki kartta aynı baud değeri tanımlanır.
- TX ucu karşı tarafın RX ucuna, RX ise karşı tarafın TX ucuna bağlanır.
- Toprak uçları ortaklanır; aksi hâlde seviyeler karşılaştırılamaz.
- Önce basit bir metin gönderilir ve seri monitörde doğrulanır.
- Veri bütünlüğü için paket başına toplam ya da kontrol karakteri eklenir.
Sınav ve Atölye Odaklı Notlar
Sınavda doluluk oranı ile ortalama gerilim hesabı, TX-RX çapraz bağlantısı ve baud eşleşmesi sorulur. Atölyede haberleşme kurulamıyorsa ilk kontrol edilecek üç şey: ortak toprak, baud eşitliği ve TX-RX'in çapraz bağlanıp bağlanmadığıdır.
Motor hızı ayarında doluluk oranı ile ortalama gerilim doğru orantılıdır; aynı anda seri hat kullanılan kartlarda yüksek akımlı yükün anahtarlama anı hatta gürültü taşır. Bu yüzden motor beslemesi ile kart beslemesi ayrı uçlardan verilir, topraklar tek noktada birleştirilir ve haberleşme kablosu kısa tutulur. Seri veri okunamadığında sırayla ortak toprak, eşit baud değeri ve iletim-alma hattının çapraz bağlanması kontrol edilir.
Ne Öğreneceğiz
Robotik ve Kodlama dersi kapsamında PWM ve Seri Haberleşme konusu. Bu konuda ögrenme çıktıları:
- PWM ve Seri Haberleşme ile ilgili temel kavramları açıklar.
- PWM ve Seri Haberleşme konusunun Robotik ve Kodlama dersi içindeki yerini ve önemini belirtir.
- Konuyla ilgili araç, gereç ve malzemeleri amacına uygun seçer.
- İş sağlığı ve güvenliği kurallarına uygun çalışır.
- Öğrendiği bilgi ve becerileri atölye/iş yeri uygulamalarında kullanır.
Ön Bilgi
Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:
- pinMode() pin yönünü belirler, digitalWrite() lojik seviye yazar.
- analogRead() 0-1023, analogWrite() 0-255 aralığındadır.
- Seri haberleşme ile bilgisayara veri aktarılır.
- Haberleşmede baud değerleri her iki tarafta aynı olmalıdır; farklı değerlerde karakterler okunamaz.
- I2C iki hatla (SDA, SCL) çoklu cihaz taşır; her cihazın adresi benzersizdir.
Basit Örnek ve Günlük Yaşam
Günlük yaşamda ve mesleki bağlamda bir uygulama:
Soru: pinMode() pin yönünü belirler, digitalWrite() lojik seviye yazar.
- Konuyu tanımla ve ilgili kavramları belirle.
- Doğru yöntem veya hesaplamayı uygula.
- Sonucu standartlara göre kontrol et.
Sonuç/cevap: Doğru uygulama sonucunda konuyla ilgili kazanım elde edilir.
İleri Örnek
Daha ileri bir uygulama:
Soru: Verici kart 9600 baud ile gönderiyor, alıcı 115200 baud ile dinliyor. Seri monitörde ne görünür?
- Adım 1: Baud değerleri sembol süresini belirler; iki taraf farklı sürede okur.
- Adım 2: Bit sınırları kayar ve karakterler hatalı çözülür.
- Adım 3: Ekranda bozuk karakterler ya da okunamayan metin görünür.
Sonuç/cevap: Cevap: Bozuk, okunamayan karakterler görünür; her iki tarafta baud eşitlenmelidir.
Karşılaştırma Tablosu
| Kavram | Açıklama |
|---|
| pinMode() pin yönünü belirler, digitalWr | pinMode() pin yönünü belirler, digitalWrite() lojik seviye yazar. |
| analogRead() 0-1023, analogWrite() 0-255 | analogRead() 0-1023, analogWrite() 0-255 aralığındadır. |
| Seri haberleşme ile bilgisayara veri akt | Seri haberleşme ile bilgisayara veri aktarılır. |
| Haberleşmede baud değerleri her iki tara | Haberleşmede baud değerleri her iki tarafta aynı olmalıdır; farklı değerlerde karakterler okunamaz. |
| I2C iki hatla (SDA, SCL) çoklu cihaz taş | I2C iki hatla (SDA, SCL) çoklu cihaz taşır; her cihazın adresi benzersizdir. |
Sık Yapılan Hatalar
PWM ve Seri Haberleşme ile ilgili kavramları birbirine karıştırmak: Temel kavramları tablo veya zihin haritasıyla ayırt et.
Uygulamada standartlara ve iş güvenliği kurallarına uymamak: Her adımda güvenlik ve kalite kurallarını uygula.
Kullanılan araç-gereci amacına uygun seçmemek ve bakımını ihmal etmek: Doğru ekipmanı seç, kullanım öncesi ve sonrası kontrol et.
TX-TX, RX-RX bağlamak: Seri haberleşmede uçlar çapraz bağlanır; aynı uçlar birleştirilirse veri hiçbir zaman karşı tarafa ulaşmaz.
Özet
PWM ve Seri Haberleşme, Robotik ve Kodlama dersi kapsamında ele alınan temel konulardan biridir. pinMode() pin yönünü belirler, digitalWrite() lojik seviye yazar. analogRead() 0-1023, analogWrite() 0-255 aralığındadır. Seri haberleşme ile bilgisayara veri aktarılır. Bu bilgiler uygulama ve iş güvenliği kurallarıyla birlikte pekiştirilmelidir.
Kendini Dene
Soru: 5 V ile beslenen bir motora yüzde 40 doluluk oranlı PWM uygulanacaktır. analogWrite değerini hesapla, motora ulaşan ortalama gerilimi bul ve doluluk oranı ile motor devri ilişkisini açıkla.
Örnek cevap: Puanlama anahtarı: 0,40 × 256 ≈ 102 olduğundan analogWrite(102) değeri yazılır (5 puan); 0-255 aralığının kullanıldığı ve sonuçta değerin yuvarlandığı belirtilir (2 puan); Ortalama gerilim = 5 × 0,40 = 2 V olarak doğru hesaplanır (4 puan); Doluluk oranı arttıkça ortalama gerilimin ve motor devrinin arttığı açıklanır (3 puan); Sonuç birimiyle birlikte yazılır (1 puan).