Bluetooth dan Arduino bisa digunakan untuk berkomunikasi dengan Android menggunakan MIT App Inventor, berikut langkahnya:
Arduino + bluetooth
Mempersiapkan rangkaian yang terdiri dari Arduino mega dan modul bluetooth HC-05.
Masukkan program atau sketch berikut
String text = ""; void setup() { Serial.begin(9600); Serial1.begin(9600); Serial.println("Koneksi arduino dengan app inventor melalui bluetooth"); Serial.println("Ketik pesan yang akan dikirim (pastikan setting serial ke \"both NL & CR\""); Serial.println("https://www.project.semesin.com"); } void loop() { while(Serial.available()) { char c = Serial.read(); text += c; if(c == '\n') { Serial1.print(text); text = ""; } } while(Serial1.available()) { Serial.print(char(Serial1.read())); } }
Sketch ini akan menerima text dari “Serial Monitor” dan meneruskannya ke sambungan bluetooth
Begitu juga apabila ada data yang masuk melalui hubungan bluetooth akan ditampilkan ke Serial monitor.
Android + App Inventor
Instal apk ini di android BluetoothConnection.apk
Atau bisa mengedit Design MIT App Inventor berikut BluetoothConnection.aia
Design:
Block :
Blok inisialisasi merupakan block yang pertama kali dipanggil ketika aplikasi dijalankan, Jika bluetooth tidak aktif maka blok ini akan memberikan peringatan dan jika bluetooth aktif maka daftar perangkat bluetooth yang terhubung dimasukkan dalam daftar (list)
Blok buttonConnect.Click memiliki dua fungsi yaitu menghubungkan bluetooth dengan perangkat arduino dan memutuskan koneksi bluetooth. Jika bluetooth belum terhubung maka fungsi ini akan memanggil fungsi ListPicker1 yang menampilkan daftar perangkat bluetooth yang terhubung ke android.
Blok ListPicker1.AfterPicking merupakan sebuah even yang berjalan ketika daftar perangkat bluetooth sudah dipilih. Kemudian android diperintahkan untuk membuat sambungan bluetooth dengan perangkat arduino.
Blok buttonSend.Click bekerja saat pengguna menekan tombol kirim dan akan mengirimkan data yang ditulis di textBox.
Blok Clock1.Timer bekerja setiap interval untuk memantau adanya pengiriman data dari perangkat arduino, kemudian akan ditampilkan di layar aplikasi.
Blok Screen1.ErrorOccured merupakan sistem penanganan apabila aplikasi bermasalah dan akan memutuhkan hubungan bluetoothnya.
Block lengkapnya:
Artikel terkait : https://www.project.semesin.com/2018/06/02/komunikasi-data-bluetooth-dengan-app-inventor/
Arduino: 1.8.5 (Windows 7), Board: “Arduino/Genuino Uno”
C:\Users\USER\Documents\Arduino\sketch_jul17c\sketch_jul17c.ino: In function ‘void setup()’:
sketch_jul17c:4: error: ‘Serial1’ was not declared in this scope
Serial1.begin(9600);
^
C:\Users\USER\Documents\Arduino\sketch_jul17c\sketch_jul17c.ino: In function ‘void loop()’:
sketch_jul17c:18: error: ‘Serial1’ was not declared in this scope
Serial1.print(text);
^
sketch_jul17c:22: error: ‘Serial1’ was not declared in this scope
while(Serial1.available())
^
exit status 1
‘Serial1’ was not declared in this scope
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Saya pake Mega,
kalo uno nga punya Serial1, coba gunakan SoftwareSerial
bang kalau seandainya tulisannya yg di kirim itu kebalik itu gimana yah bang…?
misalnya saya ngirim jhon tapi yang muncul di serial monitornya jadi onjh bang, terus hurufnya kadang hilang bang, pas ane ngirim 12345 malah yang nampil 1245
itu gimana yah bang solusinya…?
SoftwareSerial perlu perlakuan khusus, karena basis timingnya barupa delay.
kalo memang bermasalah softwareSerialnya, sebaiknya dipindah saja ke HardwareSerial
Mas, ada materi algoritma inventor g ?
Klo ada mungkin bisa d share
Mksh
saat ini belum ada, kebanyakan berhubungan dengan komunikasi
selain iyu agak susah juga untuk perhitungan algoritma karena app inventor berbasis block
ga membantu sama sekali, software serial juga ga ke declare di scopenya. Gimana suhu?
contoh sketch ini menggunakan arduino mega yang punya 4 Serial
jika menggunakan arduino uno, gunakan software serial
bang saya buat ranning text dengan arduino uno dan koneksinya pake bluetoot ke hp android nya tapi buat text berhenti saya belum ber hasil kalo yang berjalan udah berhasil tolong kasi tau caranya dong
running text mengambil porsi clock arduino 5000 setiap detik, kemungkinan komunikasi arduino-bluetooth ter-interupsi oleh running text sehingga menyebabkan kegagalan komunikasi
Bg gimana caranya buat ketika button tambah 1x di tekan label1 berubah jd angka 10 jika 2xdi tekan jd 20, lalu ketika button kurang di tekan 1x maka label1 yg angkanya 20 td jadi 10.
Bang, mau nanya. hasil yang di tampilkan dari lcd berupa angka terus kita hubungkan lagi ke (web atau android) berupa persentasi dari hasil lcd tadi. Kira-kira lebih mudah mnghubungkannya kemana ( web atau android) untuk memprogramkan. Terimakasih
relatif susah/mudah-nya
1. web (sebagai server) jika ada request, maka kirim data-nya (banyak example tapi sering kendala sulit saat koneksi serta update lambat)
2. android (bluetooth) buat komponen text ganti value textbox dengan apapun yang diterima bluetooth (waktu lebih untuk buat aplikasi tapi update data cepat)
bg, saya mau tanya, gimana cara agar aplikasi android menerima data dari ldr, misal nya jika ldr medapati cahaya maka label yg ada di android berwarna hijau tapi jika tidak ada cahaya maka label nya akan berwarna merah, gimana cara nya bg?
dari arduino dikirim status ldr (misalkan ‘0’ dan ‘1’)
maka di app inventor pesan yang di terima ini (melalui blok timer) diperiksa, jika bernilai ‘0’ maka …, dan jika ‘1’ maka …
Mas…gimana blocks nya kalo pas bluetooth kondisi terhubunh…tiba2 terputus karena jarak semakin menjauh ,,,dan lalu di hp muncul tulisan *upss…koneksi terputus*
gunakan timer untuk memeriksa bluetoothClient.isConnected
Kalo utk mengirim data ke beberapa arduino melalui koneksi bluetooth gmn ya pak ?
(HC-05) Pengirimnya sebagai slave, dan ‘beberapa’ arduino penerima sebagai master (set melalui at command)
bluetooth 4.0 bisa menggunakan fasilitas broadcast
Bagaimana caranya kalo arduino mengirim data ke hp dan di hp jadi suara… makasih
1. kirim string ke android melalui bluetooth, misal “test\r\n”
2. hp membaca dta dari bluetooth dengan komponen ‘bluetooth.ReceiveText’ (=test)
3. gunakan komponen ‘TextToSpeech’ untuk membaca dengan suara string yang dikirim (=suara ‘test’)
Maksudnya begini mas …data yg diterima dari arduino jadi suara….misal datang dari arduinonya kirim data 1 di hp bersuara (voice) satu
jawabannya sama,
di contoh menggunakan “test\r\n”
ganti menjadi “1\r\n” atau “satu\r\n” = ‘(suara) satu’
Makasih bos ku… Akhirnya berhasil saya buat apk di mit app. Selama ini saya isi tulisan nya pake aplikasi serial bluetooth. Mo tanya lagi nih. Apa bisa kita buat save tulisan kayak di aplikasi serial bluetooth
bisa, simpan tulisan tersebut ke eeprom arduino
Mas mau tanya kalo mau sync waktu dari android ke rtc arduino gmn ya terima kasih
dengan mengirinm data string waktu, contoh “01/01/2000 00:00:00” dan di parse di arduino menjadi tanggal, bulan, dst