Arduino Nedir?
Arduino bir G/Ç kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformudur. (Bkz. Arduino Nedir?-Vikipedi)
Üzerinde bir mikro denetleyici ve program vardır. Bağladığımız sensörler vb elemanlar sayesinde tek başına çalışan cihazlar geliştirmemizi sağlar.
Raspberry Pi nedir?
Birleşik Krallık’ta Raspberry Pi Vakfı tarafından okullarda bilgisayar bilimini öğretmek amacılığıyla geliştirilmiş kredi kartı büyüklüğünde tek kartlı bir bilgisayardır. (Raspberry Pi – Vikipedi) Modeline göre değişiklik gösterse de temel olarak Ekran (HDMI), Klavye-Mouse (USB) çıkışları vardır. Ethernet ve ya Wi-Fi ile internete bağlanır. Bilgisayarda temel olarak yapabileceğiniz tüm işlemleri (yazı yazma, internete girme vb.) gerçekleştirebilirsiniz.
Arduino ve Raspberry Pi Karşılaştıralım
Bu makalede bu iki aracın birlikte kullanımının faydaları üzerinde duracağım. Fakat öncesinde araçları daha iyi tanımak için bazı özelliklerini karşılaştıralım.
Aşağıdaki tabloda görüldüğü gibi Pi neredeyse normal masaüstü bir bilgisayarın özelliklerine sahip. Raspberry Pi bir mikroişlemci, Arduino ise bir mikrodenetleyicidir. (http://www.elektrikport.com/teknik-kutuphane/mikroislemci-ve-mikrodenetleyici-arasndaki-farklar-elektrikport-akademi/8139#ad-image-0)
Arduino programlaması çok basittir, sensörlerden aldığı veriyi hızlıca iletir. Kullanım alanı geniştir. Raspberry Pi linux tabanlı açık kaynak işletim sistemi ile çalışır, programlanırken Python dili kullanılır. İleri düzey programlama bilgisi gerektirir.
Not:Fakat python öğrenmesi çok kolay bir programlama dilidir.
Mesela basit bir termometre yapacaksanız bunu her ikisi ile de yapabilirsiniz fakat bunun için Arduino kullanmak daha pratik olur. Daha az güç harcayarak daha hızlı programlayarak daha hızlı sonuca ulaşırsınız. Analog veri okuyacaksanız yne Arduino bu işte öne çıkar çünkü Pi ile analog veri okumak için ekstra donanım takmanız gerekecektir.
Ama bir görüntü işleme, yüksek işlemci gerektiren proje yapacaksanız, iyi bir işlemciye ve grafiğe (GPU) ihtiyacınız vardır. Raspberry Pi GPU ve işlemcisi ile sizi daha kolay sonuca ulaştıracaktır. Ya da daha komplike bir kaç işi birden yapan araç geliştirmek istiyorsanız Arduino yerine Raspberry Pi kullanmalısınız.
Arduino ve Raspberry Pi Birlikte Çalışır Mı?
Gelelim asıl konumuza, başlıktaki soruya yanıt vermek gerekirse evet çalışır. Fakat neden birlikte kullanalım, ne zaman tercih edelim sorularından yola çıkmamız gerek.
Şöyle basit bir senaryo kuralım; evde sıcaklığı ölçtüğünüz bir nem-sıcaklık ölçen IoT (Arduino ile hazırlanmış) olduğunu düşünelim. Bunun ile veriyi alıp iletebilirsiniz (ağ bağlantısı ile). Senaryoyu geliştirirsek, içerdeki sıcaklığa ve neme göre çalışan bir pervane ya da fan benzeri araç olsun ve bunların hepsi ağa bağlı olsun. İşte burada tüm sistemi Raspberry Pi ile kontrol edebilirsiniz. Pi üzerine kuracağınız bir web server ile istediğiniz yerden internete bağlanıp arayüzde tüm değerleri okuyabilirsiniz. Evdeki akıllı cihazları monitör edip, manuel ve ya otomatik olarak kontrol edebilirsiniz. Hatta daha komplike problemleri de çözebilirsiniz, örneğin evde bir de çiçek sulama mekanizması olsun, balkondaki ve ya bahçedeki çiçekler için ulusal hava durumu yayını yapan web servislerden veriyi çekip hava durumuna göre sulama işlemini başlatabilir süresini ayarlayabilirsiniz.
Bu saydıklarımızın hepsini tek başlarına arduino ile çözebilirsiniz ama Raspberry Pi bu tip karmaşık problemlerin daha kompakt halde çalışmasını sağlar.
Sonuç
Tek bir veriyi okuyup değerlendireceksek, analog veri okumak gerekiyorsa, bir motor çalıştıracak isek Arduino öne çıkar ve bize daha faydalı olur. Grafik arayüzü gerektiren, yüksek işlemci gücüne ihtiyaç duyuyor isek Raspberry Pi kullanmamız daha faydalıdır. Ama birden fazla sensörden veri okuyup aynı zamanda bu gelen verileri farklı bir veriyle işleme sokup sonuç üreteceksek, bu sonucu da monitör etmemiz gerekirse ya da Bulut tabanlı arduino araç (Cloud-Based IoT) geliştireceksek Raspberry Pi ve Arduino birlikte kullanmak hem güçlü bir çözüm sunar hem de projeyi daha kullanışlı hale getirir.
Kaynakça:
Gazi Üniversitesi Bilgisayar Öğretmenliği mezunuyum. 1 yıl yazılım geliştirici olarak çalıştıktan sonra, 2012 yılından beri Özel Evrim Okulları’nda Bilişim Teknolojileri Öğretmeni ve Teknoloji Sorumlusu olarak çalışıyorum.
Google Certified Educator L2, Eğitim Teknolojileri Uzmanı, Microsoft Innovative Educator (MIE ), MSFTEDU, MCTS, MCPD