Mengasyikkan, menyenangkan dan mengherankan, itulah kesan pertama saya ketika belajar mikrokontroler avr. Tapi kok ada “mengherankannya” sih? Eheheh, sampai detik inipun saya masih heran sebenarnya. Bagaimana bisa perangkat kecil berupa IC diberi perintah berupa kode-kode dan menerjemahkannya ke dalam rangkaian elektronik. Bagaimana pula mengsingkronisasikan antara perangkat keras komponen elektronik dengan perangkat lunak firmware. Tapi itulah bagian dari keunikan dan kecanggihan mikrokontroller. Semua ini masih misterius bagi saya, karena saya masih sangat awam dan baru belajar elektronika. Adapun proyek pertama mikrokontroler avr ini adalah membuat animasi led berjalan atau running led dengan Atmega8. Baiklah berikut saya berikan contoh animasi running led yang sudah jadi, skema rangkaian, dan kode firmware menggunakan BASCOM AVR.
Skema Rangkaian Running Led Atmega8
Alasan kenapa saya memilih Atmega8 adalah karena memiliki port yang cukup banyak yaitu 23 buah, memory yang cukup besar sebesar 8K dan tentu harganya yang lebih terjangkau. Untuk menguji dan mensimulasikan skema, kode dan firmware (hex) running led ini saya menggunakan software Proteus. Software ini berguna sekali untuk membuat skema, dan simulasi rangkaian skema tersebut sebelum benar-benar dipraktekkan pada rangkaian aslinya. Jadi Proteus adalah salah satu tool wajib Anda miliki, atau lihat juga software simulasi elektronik lainnya. Pada contoh ini saya hanya akan menggunakan 8 port dari PORTB saja sebagai output pada Led, berikut skemanya:
Seperti nampak pada gambar, rangkaian running led berjalan ini sangat sederhana, dengan varian komponen yang minimal pula yaitu hanya IC Atmega8 dan beberapa Led saja. Atau untuk keamanan Anda bisa menambahkan resistor 100~330 ohm pada jalur negatif led ke ground. Namun sampai tahap ini led belum akan berjalan karena belum diisi programnya, so keep on reading…
Lihat juga: Rangkaian Ultrasonik Pengusir Tikus
Contoh Kode Running Led Atmega8 dengan BASCOM
Ada banyak sekali bahasa programming untuk mikrokontroler ini, saya juga bingung harus pilih yang mana wkwkw… Tapi menurut saya bahasa basic seperti BASCOM ini lebih mudah dipahami ketimbang C. Dan setelah dipelajari dan diulik-ulik jadilah kode firmware untuk animasi led berjalan dengan atmega8 ini. (atau bisa juga dipakai untuk running led love yang lebih keren lagi). Mudah-mudahan dengan contoh ini nantinya Anda bisa membuat variasi sendiri. Anyway, berikut kodenya:
rem Main.bas file generated by New Project wizard rem DVS v 1.0 rem Created: Thu Feb 18 2018 rem Processor: ATmega8 rem Compiler: BASCOM-AVR rem Write your code here $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output Lampu Alias Portb Dim X As Byte Do For X = 1 To 3 'Kedip 3x Lampu = &B11111111 Waitms 128 Lampu = &B00000000 Waitms 64 NEXT For X = 1 To 3 ' Gerak Keluar Lampu = &B00000000 Waitms 160 Lampu = &B00011000 Waitms 160 Lampu = &B00111100 Waitms 160 Lampu = &B01111110 Waitms 160 Lampu = &B11111111 Waitms 160 Next 'Gerak Ke dalam For X = 1 To 1 Lampu = &B11111111 Waitms 160 Lampu = &B01111110 Waitms 160 Lampu = &B00111100 Waitms 160 Lampu = &B00011000 Waitms 160 Lampu = &B00000000 Waitms 160 Next Loop
Terjemah video ke indonesia: pilih settings-> CC – > auto translate -> pilih bahasa Indonesia.
Free Running Led Hex Code.
Catatan: skema di atas adalah untuk 8 channel ATmega8, adapun untuk 12 buah channel output bisa dibaca pada 12 Led Berjalan Atmega8.
Sebenarnya contoh kode di atas sangat mudah dipahami bahkan bagi pemula. Deretan angka &B11111111 adalah angka binary 8 digit yang mewakili 8 led yang ingin dibuat animasinya. Angka 1 artinya nyala dan sebaliknya angka 0 artinya mati. Jadi jika &B11111111 artinya 8 led akan nyala semua, dan jika &B00000000 maka led akan mati semua. Demikian dan seterusnya, yang perlu Anda lakukan adalah membuat variasi nyala led dengan variasi yang unik sesuai keinginan Anda. Dasar kode sederhana di atas sudah cukup untuk membuat animasi seperti nampak pada video. Dengan sedikit ketekunan Andapun pasti bisa membuatnya. Dan untuk mempermudah membuat running led atmega8 ini gunakan software Proteus untuk mensimulasikan kreasi led berjalan buatan Anda. Di sini saya bagikan juga file hex atau firmware yang sudah jadi, silahkan download Kode Hex Running Led di atas. Anda bisa pakai kode ini pada simulasi Proteus atau bisa langsung diflash ke dalam IC Atmega8. Kalo bingung dan butuh kode lengkap yang sudah jadi, kontak saya aja ya… Baca pula cara Menyulap Powerbank Jadi Lampu Darurat LED AC. Demikian tutorial kali ini semoga bermanfaat…
Untuk IC Atmega8 max bisa berapa led mas ?
22 biji gan
Mau bertanya itu kok pakek logika and ya ?, Berati klo pakek logika and seharusnya led nya mati gk terjadi apa 2?
Kedua cara membuat do next terus dim x as byte gimana ya?
Itu kan confignya portb sbg output lampu led, statenya 1= nyala 0= padam. Perintah do cukup sekali, selanjutnya cukup next, dim x as byte itu untuk fungsi pengulangan
Nama software nya apa gan?
Pngin bljar bkin running ledππ
Untuk bikin kodenya saya pake CV AVR nah klo simulasinya pake Proteus
Berarti harus diprogram dlu ya mas?
Betul gan, itu contoh programnya sudah ada atau bisa juga download contoh kode hex yg sudah jadi dibawah
Ingin belajar LED animasi
Saya belajar mandiri nyontek2 dari internet bisa kok gan smpe bisa bikin kode hex dan flashnya sendiri. So… semangat gan π