Pemilihan Arduino Menggantikan ATmega 8535
Gambar 4.20 List program connected
179. caca5.setOnClickListenernew OnClickListener { 180.
181. Override
182. public void onClickView v {
183. TODO Auto-generated method stub
184. 185.
SetBluetoothDevice pairedDevices = mBluetoothAdapter.getBondedDevices;
186. ifpairedDevices.size 0
187. {
188. forBluetoothDevice device : pairedDevices
189. {
190. ifdevice.getName.equalsHC-05 Note, you will
191. need to change this to match the name of your device
192. {
193. mmDevice = device;
194. Toast.makeTextgetApplicationContext, Connected,
Toast.LENGTH_SHORT.show; 195.
196. break;
197. }
198. }
199. }
200. UUID universal yang digunakan 201. UUID uuid = UUID.fromString00001101-0000-1000-8000-00805f9b34fb;
202. Standard SerialPortService ID
203. 204.
try { 205.
mmSocket = mmDevice.createRfcommSocketToServiceRecorduuid;
206. } catch IOException e {
207. TODO Auto-generated
catch block 208.
e.printStackTrace; 209.
} 210.
211. try {
212. mmSocket.connect;
213. } catch IOException e {
214. TODO Auto-generated
catch block 215.
e.printStackTrace; 216.
} 217.
218. try {
219. mmOutputStream =
mmSocket.getOutputStream; 220.
} catch IOException e { 221.
TODO Auto-generated catch block
222. e.printStackTrace;
223. }
224.
225. try { 226.
mmInputStream = mmSocket.getInputStream;
227. } catch IOException e {
228. TODO Auto-generated
catch block 229.
e.printStackTrace; 230.
} 231.
beginListenForData; 232.
send=e; data yang dikirim dalam char 233.
try { 234.
SendDatasend; 235.
terimaData; 236.
} catch IOException e { 237.
TODO Auto-generated catch block 238.
e.printStackTrace; 239.
} 240.
Toast.makeTextgetApplicationContext, data di terima, Toast.LENGTH_SHORT.show;
241. }
242. };
243. Gambar 4.20 List program connected lanjutan
Setelah UUID dipersiapkan, langkah selanjutnya adalah menjalankan program SendData. Isi dari fungsi SendData dapat dilihat pada gambar 4.21.
49. mengirim data dari android 50.
void SendDataString datathrows IOException{ 51.
mmOutputStream.writedata.getBytes; 52. mmOutputStream.flush;
53. }
Gambar 4.21 List fungsi SendData Di dalam fungsi SendData digunakan untuk mengirim data dari Android ke Arduino
Uno. Pada program connected data “e”dalam bentuk char dikirimkan dari Android ke
Arduino Uno. Data tersebut diterima dan diproses oleh Arduino Uno. Pada Arduino terdapat listing program seperti gambar 4.22.
38. if kata==101 cek awal decimal ASCI ‘e’
39. { 40. cek_awal;
41. kata=0; 42. delay3000;
43. } 44. else if kata==97
decimal ASCI ‘a’ 45. {
46. buka_pintu; 47. }
Gambar 4.22 List program Arduino
48. else if kata==98 decimal ASCI ‘b’
49. { 50. tutup_pintu;
51. } 52. else if kata==99
decimal ASCI ‘c’ 53. {
54. hidup_lampu; 55. }
56. else ifkata==100 decimal ASCI ‘d’
57. { 58. matikan_lampu;
59. } 60. }
Gambar 4.22 List program Arduinolanjutan Data “e” yang diterima oleh Arduino Uno kemudian diterjemahkan menjadi desimal
ASCI dan masuk pada fungsi cek_awal. Isi dari fungsi cek_awal adalah seperti gambar 4.23.
62. void cek_awal 63. {
64. lam=digitalRead2; 65. gar1=digitalRead3;LSA
66. gar2=digitalRead4;LSB 67. if lam==1mati lampu
68. { 69. lampu=L0;
70. } 71. else if lam==0hidup lampu
72. { 73. lampu=L1;
74. } 75. if gar1==1gar2==0tutup pintu
76. { 77. garasi=G0;
78. } 79. else if gar1==0gar2==1buka pintu
80. { 81. garasi=G1;
82. } 83. else ifgar1==1gar2==1
84. { 85. garasi=G2;
86. } 87. BTSerial.printlampu; data yang dikirim untuk tombol hidup dan mati lampu
88. BTSerial.printgarasi; data yang dikirim untuk tombol buka dan tutup 89. BTSerial.write\r\n;
90. kata=0; 91. delay1000;
92. }
Gambar 4.23 List program cek_awal.