#Belajar Arduino : Kesalahan umum perancangan berbasis Arduino #1

Indobot Academy

Halo Sahabat Indobot, kemarin kita telah membahas apa saja jenis – jenis dari Microcontroller Arduino  , masih ingat ?, Nah pada artikel kali ini kita akan membahas kesalahan yang sering terjadi dalam perancangan Arduino ini ya sahabat Indobot , kalian bisa mampir dulu ke artikel belajar ardunio untuk informasi lengkap tentang apa sebenarnya Ardunio itu sahabat Indobot !.

Kita Mulai ya , Artikel ini akan kita bagi dalam 2 Part agar Sahabat Indobot bisa memahami setiap detailnya secara jelas.

Dapatkan diskon 10% untuk setiap pembelian kursus di Indobot Academy dengan chat Minbot 085-731-636-408. Dapatkan sekarang juga!

Umunya ya Sahabat Indobot  Kendala perancangan arduino yang sering terjad terdiri dari hal ini i :

  1. Program berhenti di tengah jalan
  2. Contoh rangkaian dan sketch tidak jalan
  3. Tegangan referensi bersama
  4. Hasil pembacaan sensor analog tidak konsisten
  5. Jalannya program tersendat
  6. Pembacaan detik yang berulang pada RTC
  7. Modul serial tidak bisa berkomunikasi
  8. Data dari komunikasi melalui internet tidak lengkap
  9. Arduino kekurangan power
  10. Kesalaham umum sketch/program
  11. kondisi if..else tidak bekerja di dalam loop()
  12. Interupsi bertumpuk dan terabaikan
  13. Variabel tidak berubah di dalam blok interupsi
  14. Arduino me-reset saat relay berubah keadaan
  15. Upload sketch gagal

Kita akan bahas satu persatu ya untuk detailnya sahabat indobot 😀

Mungkin Sahabat Indobot sering menghadapi masalah dalam mengembangkan sistem berbasis arduino, maka sebelum melakukan perakitan arduino pastikan hal sepele berikut :

  1. Pastikan kabel jumper tersambung antara ujung-ujungnya.
  2. Komponen tidak rusak/cacat secara fisik
  3. Power supply / baterai / adaptor tersambung dengan benar (sesuai polaritas dan tegangan)

Sebelum memulai merakit arduino Juga perlu di perhatikan jalur internal pin-pin di papan/board arduino yang terhubung secara fisik.

Dapatkan diskon 10% untuk setiap pembelian kursus di Indobot Academy dengan chat Minbot 085-731-636-408. Dapatkan sekarang juga!

Berikut ini adalah beberapa permasalahan yang sering muncul dalam perancangan sistem otomatis berbasis arduino:

1. Program berhenti tengah jalan

Jika Perangkat Sahabat Indobot berjalan normal tetapi terhenti setelah menyelesaikan tugasnya. dan tidak bisa menjalankan perintah lainnya. Hal ini terjadi karena di dalam sketch terdapat baris berikut:

 

baris sketch ini akan menghentikan jalannya program (kecuali interrupt), biasanya di sisipkan oleh perancang untuk melihat hasil dan membuat perangkat selesai melakukan tugasnya dan berhenti di titik itu. dengan menghapus baris tersebut maka program akan kembali berjalan dan menjalankan baris perintah berikutnya.

Dapatkan diskon 10% untuk setiap pembelian kursus di Indobot Academy dengan chat Minbot 085-731-636-408. Dapatkan sekarang juga!

2. Tegangan referensi bersama

Groung/polaritas negatif yang tidak terhubung mengakibatkan intepretasi yang berbeda terhadap suatu nilai.

Membangun sebuah sistem digital atau sistem analog yang terhubung dengan beberapa perangkat lain harus memiliki tegangan referensi yang sama (biasanya ground/negatif) kecuali wireless.

3. Hasil pembacaan sensor analog tidak konsisten

Pembacaan sensor analog melalui pin A0-A5 (A0-A8 pada mega) menggunakan perintah analogRead(pin), hasil berubah-ubah padahal sensor mengukur sesuatu yang diam.

Pembacaan analog dengan Arduino menggunakan ADC. ADC pada Arduino sendiri memiliki spesifikasi yang harus di penuhi seperti dalam datasheetnya, beberapa penyebab yang sering terjadi adalah:

  1. Tegangan sumber (power supply) ke Arduino dan sensor tidak stabil.
  2. Resistansi yang besar, bisa di akibatkan
  • Jarak sensor dan pin dengan kabel yang panjang.
  • kabel memiliki resistansi besar.
  • Koneksi konektor yang tidak bagus (tidak kontak sempurna) karena longgar atau karatan.
  • interferensi sinyal lain (sinyal yang bersebelahan, jala listrik, sinyal handphone dll)

Dapatkan diskon 10% untuk setiap pembelian kursus di Indobot Academy dengan chat Minbot 085-731-636-408. Dapatkan sekarang juga!

4. Jalannya program tersendat

penyebab umum jalannya program arduino lambat dan tersendat:

  1. Delay sering di gunakan, namun sebenarnya pengunaan perintah delay yang berlebihan sangat merugikan karena
    • Menyita kinerja CPU
    • Melewatkan adanya permintaan dari modul/komponen luar yang ingin segera di tanggapi.
  2. Interupsi yang berlangsung tanpa di sadari seperti penggunaan library yang sebenarnya mengandung interupsi.
  3. Perulangan seperti for, do, while yang berlangsung terus menerus, sebaiknya lebih di efesien lagi dan keluar dengan perintah ‘break’ jika persyaratannya telah terpenuhi.

5. Pembacaan detik yang berulang pada RTC

RTC di gunakan sebagai penedia data waktu real time, namun kesalahan yang sering terjadi adalah ketika menunggu adanya perubahan data dari RTC (detik), pembacaan dilakukan berulang-ulang ke RTC.

Jika dicermati RTC juga memiliki fitur interupsi yang memberii tahu CPU bahwa adanya perubahan data. Ketika CPU Arduino mendapat interupsi ini barulah dilakukan pembacaan data RTC.

Dapatkan diskon 10% untuk setiap pembelian kursus di Indobot Academy dengan chat Minbot 085-731-636-408. Dapatkan sekarang juga!

6. Modul serial tidak bisa berkomunikasi

Beberapa baudrate yang direkomendasikan : 300, 1.200, 2.400, 4.800, 9.600, 19.200, 38.400, 57.600, 74.880, 115.200, 230.400, 250.000, 500.000, 1.000.000, 2.000.000. Pemilihan baudrate berdasarkan :

  1. Spesifikasi modul yang akan berkomunikasi dengan Arduino. beberapa modul memiliki fitur ‘auto Baudrate’
  2. Tingkat kesalahan data, hal ini berkaitan dengan frekuensi CPU arduino, batas yang dizinkan adalah 0.5%.
    yang dihitung menggunakan rumus :
    error(%) = ((baudrate sebenarnya/badudrate )- 1) * 100%
  3. Baud rate yang rendah akan menyebabkan waktu tunda (delay) yang lebih banyak, seringkali hal ini tidak disadari dan menyebabkan baris perintah lain terlambat untuk dieksekusi.
    untuk menghitung waktu yang dibutuhkan serial dalam mengirim data (1 start bit, 8 data, 1 parity, 1stop bit) digunakan formula:Waktu(detik) = (1/baudrate * 11) * jumlah datasebagai contoh untuk mengirim 100 karakter pada baud rate 9600 dalam mode asynchronous membutuhkan waktu ±1  detik

7. Data dari komunikasi melalui internet tidak lengkap

Akses Arduino bisa di lakukan menggunakan ethernet, Wifi, Modem. Kesalahan umumnya adalah data yang di terima tidak lengkap, terpotong, kacau. kemungkinan yang terjadi adalah :

  1. Koneksi terganggu, perbaiki pengkabelan dan periksa apakah koneksi ke internet berjalan dari perangkat lain.
  2. Upaya menampilkan hasil data yang di terima melalui komunikasi serial.
    • naikkan baudrate misal Serial.begin(115200) untuk mengurangi waktu bagi komunikasi serial
    • Simpan data yang di terima dalam variabel string, dan tampilkan melalui serial setelah komunikasi internet selesai.

Dapatkan diskon 10% untuk setiap pembelian kursus di Indobot Academy dengan chat Minbot 085-731-636-408. Dapatkan sekarang juga!

Nah, itu dulu ya sahabat Indobot materi belajar ardunio untuk kali ini, eits tenang untuk pembahasan lengkapnya akan di bahas pada materi selanjutnya, makanya bookmark dulu website kita dan tunggu update an dari kita ya !

 

 

 

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp