Senin, 25 September 2017

Menambahkan board atmega16 di Arduino IDE

Halo sobat arduino Indonesia, di postingan sebelumnya tentang memprogram ATMEGA16 dengan arduino, kami menambah board atmega16 dengan cara menambah di boardmanager menggunakan gelatino,  tetapi setelah kami mencoba komunikasi i2c dengn ATMEGA 16 dengan library wire.h, terjadi error



Nah setelah nyari solusi sana sini, kami menjumpai artikel yang layak di share, sobat bisa lihat versi aslinya di sini http://openhardware.ro/using-atmega16-with-arduino-ide/ , dan kami akan share dengan versi bahasa Indonesia.

Pada intinya tutorial tersebut menjelaskan bahwa akan menambahkan board baru atmega16 di arduino tanpa lewat boardmanager, adapun langkahnya sebagai berikut :

  • Buka file 'boards.txt' , lokasi file boards.txt ini adalah di  arduino folder …[arduino folder]\hardware\arduino\avr\boards.txt.
  • Tambahkan pada baris paling akhir tulisan seperti di bawah ini

##############################################################
ATmega16-8.name=ATmega16-External 8Mhz
ATmega16-8.upload.tool=avrdude
ATmega16-8.build.mcu=atmega16
ATmega16-8.build.f_cpu=8000000L
ATmega16-8.build.core=arduino:arduino
ATmega16-8.build.variant=ATmega16
ATmega16-8.upload.maximum_size=16000
##############################################################
ATmega16-16.name=ATmega16-External 16Mhz
ATmega16-16.upload.tool=avrdude
ATmega16-16.build.mcu=atmega16
ATmega16-16.build.f_cpu=16000000L
ATmega16-16.build.core=arduino:arduino
ATmega16-16.build.variant=ATmega16
ATmega16-16.upload.maximum_size=16000
##############################################################

  • Setelah  itu, buat folder Atmega16 di dalam folder [arduino folder]\hardware\arduino\avr\variants
  • download file pins_arduino.h
  • copy file pins_arduino.h  yang sudah di download ke dalam folder tersebut.
  • Sekarang cek hasilnya di tools - board 
 
  • Setelah semuanya terdeteksi, terakhir rubah di file HardwareSerial.cpp atau bisa di lihat di folder [arduino folder]\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp
  • cari coding seperti di bawah ini
#if defined(__AVR_ATmega8__)
  config |= 0x80; // select UCSRC register (shared with UBRRH)
#endif
 
  • Rubah dengan koding di bawah ini dan simpan

#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega32__) || defined(__AVR_ATmega16__)
  config |= 0x80; // select UCSRC register (shared with UBRRH)
#endif

3 komentar:

  1. Gan saya udah ikutin tutorial di atas tpi waktu di compil masih error itu gmna ya gan

    BalasHapus
  2. Mantul gan, terimakasih, i2c bekerja dan bisa langsung upload.

    Namun pin analog nya agak ketuker , running nya jadi slow down, baudrate melambat jadi 1/8kali, timer melambat jadi 2x,pwm, dll.

    Memang ada sedikit Error sih saat compile

    BalasHapus
  3. kok gak detek gan saya cari g keluar

    BalasHapus