C18 Diliyle Robot Programlama – I²C (Inter-Integrated Circuit) Haberleşmesi

I²C seri iletişimi, mikrodenetleyicinin diğer entegre elemanlarıyla kolay iletişim kurmasını sağlayan entegreler arası bir haberleşme protololüdür. Kullanacağımız PIC18F4585  içerisinde hem I²C hem de SPI (Serial Peripheral Interface) birimini içinde barındıran MSSP (Master Synchronous Serial Port) modülü bulunmaktadır.

I²C protokolünde haberleşmek için iki uç kullanılır. Bunlar SDA (Seri veri giriş-çıkış) ve SCL (Seri saat sinyali – clock)’dir. SDA uçlarından bilgi aktarımı işlemleri SCL ucundaki  saat sinyali sayesinde senkronize olarak gerçekleştirilmektedir. Datasheet’e bakacak olursak PIC18F4585’de SDA ve SCL  için kullanılan uçların 18. ve 23. pinler olduğunu görebiliriz.

Bu protokolde entegreler master(ana-usta) ya da slave(uydu-köle) olabilir. Entegre master iken; saat sinyalini kendisi yönetir, iletişimin kontrolü master olan entegrededir. Slave konumunda olan entegre saat sinyali üretmez, sadece veri alışveriş işlemi yapar.

Bu bölümdeki amacımız elimizdeki 2 adet PIC18F4585 entegresinden birini master, birini slave olacak şekilde programlayarak master’dan slave‘e veri gönderip, yine master   aracılığıyla slave‘den veri okumak olacak. İki entegreyi de bu senaryo için programlamamız gerekiyor.

I²C iletişiminde her bir slave cihazının kendine özgü bir adresi vardır. Böylece master olan cihaz hangi slave cihazıyla işlem yapacağını belirtebilir (Bir master birden çok slave cihazıyla veya birden çok master kendi arasında I²C kullanarak haberleşebilir). Bu adres  7 bitlik veya 10 bitlik olabilir. Biz bu bölümde 7 bitlik adresleme kullanacağız. Veri iletişim hattı I²C protokolünde 8 bittir. Yani tek seferde 8 bitlik (1 byte) veri gönderip okuyabiliriz.

Genel olarak iletişim aşağıdaki şekilde sağlanır;

  • Başlama şartı (Start Condition)
  • Adres + Okuma/yazma bilgisi
  • Veri bitleri
  • Durma şartı (Stop Condition)

Not:  Start ve Stop şartları master cihaz tarafından oluşturulur. Master cihazın adres bilgisi olmaz. Veri bitlerinden önce mutlaka adres bilgisi gönderilmelidir ki o adrese sahip slave    cihaz seçilsin. Yoksa veri aktarımı -tek bir slave cihazla haberleşme yapılsa bile- gerçekleşmez. Okuma/yazma bilgisi denen şey iste master cihazın slave cihaza veri gönderme veya cihazdan veri alma durumunun belirlenmesinde kullanılır.

Okumaya devam et

C18 Diliyle Robot Programlama – RS232 Seri Haberleşme (USART)

Bu yazıda amaç bilgisayar ile deneme kartımızı seri şekilde haberleştirmek olacak. Bilgisayarlarla haberleşmek için seri iletişim, paralel iletişim gibi yöntemler vardır. Paralel iletişimde her bir bilgi için bir data hattı vardır, tüm bilgiler aynı anda bu veri yollarından gönderilir. Bu nedenle paralel iletişim seri iletişime göre daha hızlıdır fakat mesafe uzayınca çok maliyetli olmaktadır.

Seri haberleşmede bilgiler tek bir hat üzerinden gönderilip alınır. Hızı paralel iletişime göre yavaş fakat daha ucuzdur. Senkron ve Asenkron olmak üzere 2 adet seri haberleşme yöntemi vardır.

Senkron seri iletişimde gönderilen ve alınan veriler aynı anda aktarılır, yani verici ve alıcı taraf eşzamanlı çalışır. Bu eşzamanlılığı sağlamak için iki devre arasında bir clock sinyali hattı bulunur. Bu nedenle asenkron iletişime göre daha hızlıdır. Asenkron seri iletişimde sadece veri hattı bulunur, alıcı ve verici taraf farklı zamanlarda data gönderebilir.     Eşzamanlı olmadığı için iletilen her verinin başında ve sonunda start-stop bitleri bulunur. Ayrıca her veriyle beraber hata kontrolü için gönderilen parity biti vardır.

Okumaya devam et

C18 Diliyle Robot Programlama – Led Yakma

Led yakmak için öncelikle ledlerin bağlı bulunduğu mikrodenetleyici bacakları belirlenir.  Benim kullandığım deneme kartında lede giden uçlar PIC18F4585’in 38,37 ve 36. uçları olarak görünüyor. Datasheet’ten PIC18F4585’in pin diyagramlarına bakarsak bu uçların B portunun 3,4 ve 5. çıkışları olduğunu görebiliriz.

Okumaya devam et

USIS – Ders Seçimi Nasıl Yapılır?

Öncelikle USIS (University Student Information System)’in ne olduğuna değinelim. USIS Yıldız Teknik Üniversitesi’ne 2003 ve daha sonraki yıllarda giriş yapmış lisans öğrencilerinin kullanabileceği bir öğrenci otomasyon sistemidir. Bu şartları sağlamayan öğrenciler için diğer sistemler aşağıda mevcut.

Yıl içerisinde güz ve bahar dönemi olmak üzere iki defa ders seçimi yapılır. (Yaz okulu da var tabi) Ders seçimleri genellikle dönem başlamadan bir hafta önce olur. Seçim haftasından sonra ekle/sil haftası başlar. Bu tarihler değişebilir tabi ki. Ama genellikle sistem bu şekilde işler. İlk seçimde herkes kendi bölümünden ders almak zorundadır. Diğer bölümlerden ders alamaz. Ekle/sil haftasında bölümler arası sınırlama kalkar ve o hafta içerisinde öğrenciler kendi bölümleri dışında diğer bölümlerden de ders seçebilir.

Okumaya devam et