Raspberry Pi ve Arduino, Electronics Community'deki en popüler iki açık kaynaklı anakarttır. Kolaylıkları ve Basitlikleri nedeniyle sadece Elektronik Mühendisleri arasında değil, aynı zamanda okul öğrencileri ve hobileri arasında da popülerdirler. Hatta bazı insanlar Raspberry Pi ve Arduino nedeniyle Elektronik'i sevmeye başladı. Bu kartların büyük güçleri vardır ve biri çok karmaşık ve Hi-fi projelerini birkaç basit adımda ve çok az programlamayla oluşturabilir.
Çok basit olanlardan karmaşık olanlara kadar çok sayıda Arduino Projesi ve Öğreticisi oluşturduk. Ayrıca, herkesin 'sıfırdan' öğrenmeye başlayabileceği Raspberry Pi Eğitimleri Serisini de oluşturduk. Bu, Elektronik Topluluğu'na bizim açımızdan küçük bir katkıdır ve bu portal, Elektronik için Büyük Öğrenme Kaynağı olarak kendini kanıtlamıştır. Bu yüzden bugün Arduino'yu Raspberry Pi ile Arabirim yaparak bu iki harika kartı bir araya getiriyoruz.
Bu eğitimde, Raspberry Pi ve Arduino Uno arasında Seri İletişim kuracağız. PI sadece 26 GPIO pinine ve sıfır ADC kanalına sahiptir, bu yüzden 3D yazıcı gibi projeler yaptığımızda, PI tüm etkileşimleri tek başına yapamaz. Bu nedenle, PI'ye daha fazla fonksiyon eklemek için daha fazla çıkış pinine ve ek fonksiyonlara ihtiyacımız var, PI ve UNO arasında bir iletişim kuruyoruz. Bununla, UNO'nun tüm işlevlerini, PI işlevleri olduğu gibi kullanabiliriz.
Arduino, Arduino Uno, Arduino Pro mini, Arduino Due gibi birçok karta sahip proje geliştirme için büyük bir platformdur. Elektronik Mühendisleri ve Hobileri için tasarlanmış ATMEGA denetleyici tabanlı kartlardır. Arduino platformunda çok sayıda anakart bulunmasına rağmen Arduino Uno, proje yapabilme kolaylığı nedeniyle çok beğeni topladı. Arduino tabanlı program geliştirme ortamı, programı diğerlerine kıyasla yazmanın kolay bir yoludur.
Gerekli Bileşenler:
Burada Raspbian Jessie OS ve Arduino Uno ile Raspberry Pi 2 Model B kullanıyoruz. Raspberry Pi ile ilgili tüm temel Donanım ve Yazılım gereksinimleri daha önce tartışılmıştır, ihtiyaç duyduğumuz dışında Raspberry Pi Giriş bölümünde buna bakabilirsiniz:
- Bağlantı pimleri
- 220Ω veya 1KΩ direnç (2 adet)
- LED
- Buton
Devre Açıklaması:
Yukarıdaki Devre Şemasında gösterildiği gibi, UNO'yu USB kablosu kullanarak PI USB portuna bağlayacağız. PI için dört USB bağlantı noktası vardır; herhangi birine bağlayabilirsiniz. Seri iletişimi başlatmak için bir düğme bağlanır ve verilerin gönderildiğini göstermek için LED (yanıp söner).
Çalışma ve Programlama Açıklaması:
Arduino Uno Bölümü:
Önce UNO'yu programlayalım, Önce UNO'yu PC'ye bağlayın ve ardından programı (aşağıdaki Kontrol Kodu bölümü) Arduino IDE yazılımına yazın ve programı UNO'ya yükleyin. Ardından, UNO'nun PC ile bağlantısını kesin. Devre şemasında gösterildiği gibi programlamadan sonra UNO'yu PI'ya bağlayın ve UNO'ya bir LED ve düğme bağlayın.
Şimdi buradaki program UNO'nun Seri İletişimini başlatıyor. UNO'ya ekli düğmeye bastığımızda, UNO USB portu üzerinden seri olarak PI'ye birkaç karakter gönderiyor. PI'ya bağlı olan LED, gönderilen karakterleri göstermek için yanıp söner.
Raspberry Pi Bölümü:
Bundan sonra, UNO tarafından gönderilen bu verileri almak için PI (aşağıdaki Kontrol Kodu bölümü) için bir program yazmamız gerekiyor. Bunun için aşağıda belirtilen birkaç komutu anlamamız gerekiyor.
Seri dosyayı kütüphaneden içe aktaracağız, bu fonksiyon verileri seri olarak veya USB portu ile göndermemizi veya almamızı sağlar.
seri içe aktar
Şimdi, verileri UNO'dan hatasız almak için PI için cihaz portunu ve bit hızını belirtmemiz gerekiyor. Aşağıdaki komut ACM0 portunda saniyede 9600 bitlik seri haberleşmeyi sağladığımızı belirtmektedir.
ser = seri.Seri ('/ dev / ttyACM0', 9600)
UNO'nun bağlı olduğu bağlantı noktasını bulmak için PI terminaline gidin ve
ls / dev / tty *
PI'da bağlı tüm cihazların listesine sahip olacaksınız. Şimdi Arduino Uno'yu USB kablosuyla Raspberry Pi'ye bağlayın ve komutu tekrar girin. UNO'ya bağlı bağlantı noktasını görüntülenen listeden kolayca tanımlayabilirsiniz.
Aşağıdaki komut sonsuz döngü olarak kullanılır, bu komutla bu döngü içindeki ifadeler sürekli olarak çalıştırılır.
1 iken:
Verileri seri olarak aldıktan sonra, karakterleri PI ekranında görüntüleyeceğiz.
baskı (ser.readline ())
Bu nedenle, UNO'ya ekli düğmeye basıldıktan sonra, PI ekranında yazdırılan karakterleri göreceğiz. Bu nedenle, Raspberry Pi ve Arduino arasında Temel İletişim El Sıkışması kurduk.