Sebelumnya saya pernah bercerita tentang membuat arduino uno sendiri atau menggunakan minimum system untuk low budget :D. Alhamdulillah akhirnya sekarang saya memiliki arduino uno sendiri, setelah di hadiahi oleh kang Sucipto yang baik :D. Oke kali saya akan menceritakan pengalaman saya menggunakan arduino di linux Ubuntu.
Keunggulan arduino Uno adalah praktis, dan sudah ada regulator tegangan, serta dapat di monitoring dengan serial monitor. sedangkan Minimum system kita masih sedikit ribet dengan perkabelan, tidak ada regulator tegangan, tidak bisa diserial monitor, kecuali harus memprogram menggunakan alat tambahan USBasp atau USB to UART(USB to TTL).
Walaupun begitu, pengalaman menggunakan minimum system tentu sangat penting bagi kita, akhirnya kita lebih paham dari dasar microcontroller dan cara kerja dari arduino sendiri. Serta nanti nya pada fase produksi. Biaya produksi akan lebih tertekan menggunakan minimum system daripada harus membeli arduino uno untuk setiap produksi. Ada kalimat yang saya kutip dari sahabat saya "Ribet, kabel ruwet itu lebih berseni" benar sekali :D
Lanjut, karena penasaran saya langsung mencoba memprogram arduino uno dengan laptop bersistem linux Ubuntu saya.
Saya mengkoneksikan arduino dengan kabel usb ke linux, Dalam pembelian arduino uno, biasanya sudah include kabel usb untuk memprogram langsung dari PC. kemudian saya membuka arduino ide untuk mencoba mengupload sketch. Untuk percobaan saya hanya menggunakan file Example - Blink LED.
Namun ketika tompol upload sketch saya tekan, dan menuju proses uploading.
Malah terlihat eror seperti gambar dibawah ini:
Tertuliskan bahwa permission denied atau hak akses ditolak untuk menggunakan /dev/ttyUSB0.
Saat kita sambungkan USB arduino dengan PC, linux otomatis mendeteksi device sebagai /dev/ttyUSB0.
Cara Sementara:
Untuk mengatasinya kita buka terminal dan perintah seperti ini:
#sudo chmod 666 /dev/ttyUSB0
Namun karena sementara, maka perintah diatas harus dilakukan setiap kali menancapkan arduino ke linux.
#sudo apt-get remove modemmanager
Kita harus menghapus modemmanager, karena ternyata Ini adalah bug modemmanager sejak ubuntu 12.04. modemmanager membuat port serial tidak dapat digunakan tanpa akses root user.
#sudo usermod -aG dialout andreecy
Tambahkan username-mu ke group dialout, in case username saya andreecy :D
kenapa dialout? jika kita cek menggunakan perintah ls -l /dev/ttyUSB0 maka terdapat informasi group yang dipakai untuk /dev/ttyUSB0 adalah dialout.
#sudo chmod 666 /dev/ttyUSB0
Berikan akses ke ttyUSB0
#reboot
Kemudian reboot system terlebih dahulu
Cara Permanent:
Berikut ini cara agar setiap menancapkan arduino kita tidak harus melakukan perintah diatas:#sudo apt-get remove modemmanager
Kita harus menghapus modemmanager, karena ternyata Ini adalah bug modemmanager sejak ubuntu 12.04. modemmanager membuat port serial tidak dapat digunakan tanpa akses root user.
#sudo usermod -aG dialout andreecy
Tambahkan username-mu ke group dialout, in case username saya andreecy :D
kenapa dialout? jika kita cek menggunakan perintah ls -l /dev/ttyUSB0 maka terdapat informasi group yang dipakai untuk /dev/ttyUSB0 adalah dialout.
#sudo chmod 666 /dev/ttyUSB0
Berikan akses ke ttyUSB0
#reboot
Kemudian reboot system terlebih dahulu
Setelah itu coba lagi untuk mengupload sketch. Pasti akan berhasil tanpa muncul pesan eror.
Oh iya kembali ke Example Blink.
Tanpa kita pasang lampu LED, arduino uno ternyata punya lampu led sendiri yang defaultnya terkoneksi pada pin 13. Cobalah perhatikan di board arduino ada led kecil bertuliskan "L", itu dia LED pin 13. Oleh karena itu kenapa example blink led defaultnya adalah pin nomor 13. :D
Coba kita lihat script dibawah ini:
Penjelasan :
void setup() adalah fungsi untuk menginitialize atau memulai, fungsi ini biasanya sebagai setup atau pengaturan dan hanya dibaca sekali diawal, saat arduino meload program.
void loop() adalah fungsi yang akan di lakukan berulang-ulang tanpa henti oleh arduino
Sebagai contoh diatas, pada setup() telah diatur bahwa pin 13 sebagai output.
Pada fungsi loop() kita mendapati fungsi digitalWrite(13, HIGH) yang artinya kita write(menuliskan/memberikan) nilai pada pin 13 senilai HIGH atau angka I pada bilangan biner yang berarti ON.
Maka Lampu led akan menyala pada posisi ini.
Sebagai catatan: Microcontroller, Microprocessor ternyata hanya dapat mengenali 2 buah angka disebut sebagai angka biner(binary) yaitu 0 dan 1, alias ON atau OFF.. luar biasa kan :D
dibawah itu ada fungsi delay(1000) maksudnya adalah arduino menahan posisi lampu ON hingga delay selama waktu 1000 milisecond atau 1 detik.
dibawah lagi ada skrip yang hampir sama, namun bukan HIGH melainkan LOW, tentu kebalikannya yaitu memberikan nilai 0 atau OFF.
Selanjutnya arduino akan menahan posisi Led off selama 1 detik juga.
Kesimpulan program/sketch diatas: membuat lampu led setiap 1 detik akan menyala dan 1 detik akan mati.
Comments
Post a Comment