Selam arkadaşlar bu yazımızda android uygulamamız ile arduinoyu bluetooth üzerinden haberleşmesini sağlayacağız.
Öncelikle android ile ilgili hiç bir bilgim yok diyorsanız OKUYUNUZ. Yazımızı okuduysanız şimdi android studio üzerinden yeni bir uygulama açarak işimize koyulalım. Android tarafında hazırlıklarımız bittiğine göre arduino tarafını da hazırlayalım. Arduinoya bluetooth modülünün nasıl bağlandığını bilmiyorsanız lütfen TIKLAYINIZ.
Arduino Ide de yeni proje açtıktan sonra aşağıdaki kodları kopyalarak yapıştıralım. Aşağıdaki kodumuzun çalışması için arduino mega kullanmanız veya kodumuzu diğer arduino çeşitlerine göre düzenlemeniz gerekmektedir. Aşağıdaki kodumuza dönecek olursak. Bluetooth modülümüzü serial1 portumuza bağlamamız gerekmektedir.
void setup() {
// Seri portumuza baund veriyoruz.
Serial.begin(9600);
// Seri portumuza baund veriyoruz.
Serial1.begin(9600);
}
void loop() {
// Serial1 erişilebilir durumdaysa true değer alır ve aşağıdaki kodları çalıştırır.
if (Serial1.available()) {
String veri = "a";
//Serial1 portundan gelen verileri string olarak okuyoruz.
veri = Serial1.readString();
//Gelen değeri serial portundan ekrana yazıyoruz.
Serial.println(veri);
// 1 saniye bekliyoruz.
delay(1000);
// Gelen veriyi Serial1 portundan geri gönderiyoruz.
Serial1.println(veri);
// 1 saniye bekliyoruz.
delay(1000);
}
}
Arduino için hazırlıklarımız tamamlandığına android tarafına geçebiliriz.
Android uygulamamızda öncelikle yeni bir activity oluşturuyoruz. Activity oluşturduktan sonra AndroidManifest dosyasına aşağıdaki izinleri ekleyelim. Eğer bu izinleri eklemezsek bluetooth servisini kullanamayız.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
Oluşturduğumuz activity nin XML tasarım alanına aşağıdaki kodlarımızı ekliyoruz.
<LinearLayout
android:gravity="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"> <ImageView
android:id="@+id/imageView"
android:layout_height="150dp"
android:layout_width="150dp"
app:srcCompat="@drawable/bluetooth" />
<EditText
android:ems="10"
android:hint="5"
android:id="@+id/editText"
android:inputType="number"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:maxLength="5"
android:textAlignment="center" />
<TextView
android:id="@+id/MtxtVwState"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:text="***"
android:textAlignment="center"
android:textSize="25sp" />
</LinearLayout> <LinearLayout
android:gravity="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:layout_width="match_parent"> <Button
android:id="@+id/btnOpen"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="wrap_content"
android:text="Bt Aç"
android:textAllCaps="false" />
<Button
android:id="@+id/btnFind"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="wrap_content"
android:text="Bağlan"
android:textAllCaps="false" />
</LinearLayout> <LinearLayout
android:gravity="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:layout_width="match_parent"> <Button
android:id="@+id/btnSettings"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="wrap_content"
android:text="Bt Ayarlar"
android:textAllCaps="false" />
<Button
android:id="@+id/btnSendData"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="wrap_content"
android:text="Veri Gönder"
android:textAllCaps="false" />
</LinearLayout>
Kodumuzu ekledikten sonra aşağıdaki gibi bir görüntü elde etmeliyiz.
Tasarımımız hazır olduğuna göre bu ekrandan biraz bahsedelim.
Bt Aç butonu ile bluetooth açıp kapatabiliriz. Bluetoothu açtıktan sonra bağlan butonuna bastığımızda bizi arduino ya bağlı olan HC-05 bluetooth modülüne bağlayacaktır. Tabi bağlanabilmesi için daha önceden eşleştirmiş olmak gerekmektedir. Eşleştirme işlemi gibi işlemler için Bt Ayarlar butonuna basarak işlemi gerçekleştirebiliriz. Veri gönderme butonu ise edittext alanına girdiğimiz veriyi gönderecektir. Eğer veri girmezsek 0 gönderecektir.
Android uygulamamız bir kaç activityden ve birden fazla classdan oluştuğu için yazıyı da çok fazla uzatmamak adına kaynak kodlarını paylaşacağım. Kaynak kodları github üzerinden indirmek için TIKLAYINIZ.
Kaynak kodları android studio ile açtıktan sonra uygulamayı incelemenizi tavsiye ederim. Kendinize göre özelleştirebilirsiniz.
Uygulamayı telefonunuza yüklemek için apk çıkarmanız gerekmektedir. APK çıkarmak için üst menüden Build>>>Build APK tıklamanız yeterli olacaktır.
Bu kaynak kodları kullanarak arduino ile bluetooth üzerinden haberleşme yapabileceğiniz için bir çok projenizi gerçekleştirebilirsiniz. Örnek olarak uzaktan kumandalı araba, evde ışık, perde gibi bir çok şeyi android uygulamanızdan açıp kapatabilirisiniz. Fakat bunları gerçekleştirirken unutmamanız önemli bir nokta güvenlik, haberleştirme işlemini gerçekleştirirken şifreleme yapmanız gerekmektedir.