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.