Belki yanlış düşünüyorumdur, mühendislik öğrencileri olarak çoğu projelerde sadece Arduino odaklı düşünebiliyor olmamız biraz üzücü geliyor bana. Öğrenmesi kolay, kurulum zahmeti yok, maliyeti düşük, internette istemediğimiz kadar örnek var ve tabi ki alternatifleri de bilmediğimiz için hemen tercih ediyoruz. Aslında Arduino ve tek kart bilgisayar (single board computer) kullanarak çok daha ileri düzeyde uygulamalar yapmak mümkün. Arduino uygulamalarını, nesnelerin interneti uygulamalarına dönüştürebiliyoruz.

Bir bilgisayarımız olsa ve Arduino’ya bağlı sensörlerden gelen verileri okuyabilsek, bu verilere göre bilgisayar başka bilgisayarla veya geliştirici kartıyla haberleşse güzel olmaz mı?

Şekildeki gibi bir ağımız olsa mesela…

Neden olmasın! Aslında bilgisayar kullanan herkesin biraz araştırsa yapabileceği basit bir uygulama. Hayatımızın içinde birçok yerde bu ağa benzer uygulamaları görebilirsiniz.

Örnek: Arduino – Raspberry Pi bağlantısı

Arduino karttan aldığımız bir veriyi bilgisayara alıp işleyebiliriz. Alınan değerleri, sunucuya gönderebiliriz, kendimize mesaj attırabiliriz, başka bir karta bağlanarak herhangi bir devreyi aktif edebiliriz… Hayal gücümüze bağlı.

Raspberry Pi ile Arduino’nun serial ekranına verdiği çıktıları, python dosyası ile aşağıdaki kodları kullanarak okuyabiliriz:

import serial
arduinoSerialData=serial.Serial("/dev/ttyACM0",9600)
try:
	while 1:
		if(arduinoSerialData.inWaiting()!=0):
			myData=arduinoSerialData.readline()
			print myData
except KeyboardInterrupt:
	arduinoSerialData.close()

Aşağıdaki görselde Arduino’ya bağlı olan LED in durumunu Raspberry Pi’ye aldık. Bu örnekle Arduino’ya bağlı herhangi bir sensörden değer alabileceğimizi göstermiş olduk. Aldığınız bu değerler ile canlı grafik çizdirebilirsiniz, aldığınız verileri başka bir bilgisayara gönderebilirsiniz ve hatta telefonunuza mesaj olarak da iletebilirsiniz. Verileri aldıktan sonra onlarla neler yapabileceğiniz hayal gücünüze kalmış durumda.


Ayrıca python kullanarak, Arduino’yu çoklu serial ekran ile izleyebilirsiniz. Bu hafta bir arkadaşım sormuştu: “Arduino’dan gelen tüm verileri tek bir serial monitöre değil de, her sensörden gelen değerleri farklı monitöre yansıtamaz mıyız?”. Elbette yansıtabiliriz, python serial kütüphanesi ve birkaç filtre kullanarak bunu yapabiliriz 🙂