Pentingnya Mikro AVR untuk Memulai Belajar Mikrokontroller
mikro avr adalah mikrokontroller yang biasa di pelajari. Umumnya menggunakan atmega16, atmega8535, atmega32, atmega8 dan atmega328 dan diprogram dengan cvavr atau codevision AVR, Bascom AVR dan Atmel Studio.
Belajar mikro AVR di awal awal memiliki banyak ke untungan jika di bandingkan langsung belajar Arduino. Kenapa demikian? karena untuk memulai nya kita benar benar belajar dari dasar. Sebagai contoh, ketika ingin membuat system atmega32 dengan LCD, pelan pelan kita browsing rangkaian nya, kemudian desain PCB, cetak, dan kemudian solder komponen. Pada proses pembuatan ini kita akan banyak belajar hal baru tentang elektronika dan seni nya yang tidak akan di dapat kan oleh orang yang belajar Arduino sebagai dasar belajar dia.
Bayangkan saja ketika ingin buat system Arduino dengan LCD, tinggal beli jumper female dan male, beli Arduino jadi, entah itu Arduino nano, uno atau mega, kemudian beli module LCD, protoboard, colok sana colok sini, download library langsung jadi, instan, dan cepat, namun ada yang terlewatkan seperti apa yang di dapatkan ketika belajar mikro avr di awal-awal.
Di mikro avr juga kita akan belajar tentang register-register mikrokontroller itu, seperti DDR, PORT, PIN, register ADC, register timer, register USART dan lain lain. Beda dengan Arduino, semua sudah menjadi fungsi fungsi, tinggal di panggil.
Lantas apakah kamu ingin belajar Arduino langsung atau mikro AVR? itu terserah, bagi saya lebih baik belajar mikro avr dulu, kemudian sudah mahir baru belajar Arduino, agar mindset kita ketika belajar mikro avr terbawa ke Arduino. Hasil nya adalah, Arduino custome, Arduino dengan desain PCB kita sendiri, shiled Arduino dengan tipe kita sendiri.
Langkah Langkah Belajar Mikro AVR yang Harus Kamu Lalui
Pemrograman C/ C++ atau Bahasa Basic
Pertama yang harus di pelajari adalah belajar program C/C++ atau basic. Menurut saya belajar C/C++ lebih di rekomendasikan jika ingin masuk ke Arduino, karena Arduino sendiri menggunakan Bahasa C++, jadi migrasi nya lebih mudah.
Dulu ketika saya belajar C/C++, saya install neatbean dan eclipse, kemudian belajar lah apa itu operator aritmatika, operator logika, function, type data, variable local, variable global dan lain lain. Padahal program yang saya pelajari ini tidak ada hubungan nya dengan mikro avr, tapi begini lah saya memulai nya. Namun ada yang belum sempat saya pelajar di C++ yaitu OOP, Bahasa C++ berbasis OBJEK, mungkin next step akan di pelajari.
Lantas apa penting nya Bahasa pemrograman di system mikro avr? yang tentu saja untuk memprogram mikrokontroller ini sesuai dengan system apa yang kita buat. Sebagai contoh kita ingin program led nyala 1 detik, led mati satu detik, kita program dengan setingan waktu, begitu juga dengan led berjalan, led kedip cepat, sampai dengan program yang lebih kompleks dengan system automasi control yang lebih komplek. Bagaimana kamu siap belajar program C/C++?
Try Error dan Learning Rangkaian Elektronik untuk Mikro AVR dan Pendukung nya
Rangkaian untuk mikro avr dan pendukung nya sangat dibutuhkan untuk belajar mikro avr. Semakin banyak katalog kita tentang rangkaian ini maka semakin mudah kita desain sebuah system elektronik.
Sebagai contoh, kita ingin membuat sebuah alat untuk membuka pintu otomatis dalam sebuah rumah, alat real dan bukan prototype, nah rangkaian apa kah yang kita butuhkan? sensor apakah yang kita butuhkan? tipe jenis motor apakah yang akan kita pakai? Jika motor nya menggunakan motor yang besar, apakah rangkaian yang kita punya sanggup mengendalikan morot tersebut?
Semua katalog rangkaian yang kita uji satu per satu ini akan sangat membantu kita jika ingin desain sebuah system. Kita sudah punya history cara desain nya, tata letak komponen, bentuk hatsink dan lain lain. Sehingga desain system kita semakin apik dan bagus.
Satu hal yang gak kalah penting nya adalah Rangkaian power supplay di system kendali, ini sangat penting sekali karena beda desain control beda kebutuhan daya nya. Dari sana nanti kita dapat apakah kita perlu menggunakan power supply variable, apakah cukup 1A, 2A, atau malah sampai 15A.
Try Error sensor sensor untuk Mikro AVR
Pada dasar nya semua jenis sensor untuk Arduino bias kita gunakan untuk sensor Mikro AVR. Karena Arduino pun ada bebera chip nya yang memakai AVR, sepert Arduino Nano, Arduino Mega, Arduino Uno. Beda nya di bootloader dan software compiler nya.
Pengetahuan kita tentang sensor juga point yang sangat penting. Contoh kasus nya misalanya kita ingin desain sebuah system alarm peringatan banjir di sebuah sungai. Cara kerja nya jika ketinggian sungai mencapai level atau ketinggian tertentu maka dikirim notifikasi ke operator jaga misalnya. Nah sensor apakah yang harus kita pakai? sensor yang punya ketahanan tinggi, sensor yang murah dan kuat?
Itu adalah contoh kasus yang ada yang membutuhkan pengetahuan akan jenis jenis sensor. Sensor cukup banyak beredar saat ini, seperti sensor Arus, Sensor Tegangan, Sensor Level, Sensor Suara, Jarak, Suhu, Kelembaban, Gas, Api, dan sensor sensor jenis lainya.
Desain PCB untuk Membuat System Mikro AVR
Belajar desain pcb sangat penting jika kita ingin menjadi product maker di bidang elektronik control, hahaha gak mungkin kan kita buat produk dengan protoboard? jumper sana sini? hehe. Desain PCB ini adalah pondasi dari sebuah system, hardware. Ketahanan, gampang di pakai, gampang di install di cashing, atau packing, ini semua terletak di desain PCB.
Banyak sekali software software desain PCB yang ada, tapi ada dua yang sangat popular, yaitu eagle cadsoft dan Althium. Dua software ini berbayar, eagle cadsoft bahkan menjual software ini dengan lisensi perbulan, minimal beli 3 bulan lisensi. Ini yang saya rasakan ketika nanya lisensi eagle cadsoft.
Untuk memulai desain PCB bisa gunakan software eagle cadsoft yang free, menurut saya ini cukup lumayan, walau ukuran nya terbatas, tapi bisa di siasati, misal nya desain dulu PCB mega328 di satu pcb, baru sediakan socket header 2×5, kemudian desain lagi system relay. Jadi nanti untuk menghubungkan system minimum atmega328 dengan relay adalah jumper 2×5.
Membuat Project Mikro AVR untuk naik Level
Setelah semua di atas kita pelajari, mulai lah membuat sebuah project mikro AVR. Jujur saya memiliki modal yang tidak cukup untuk membuat project mikro AVR ini. Saya memulai membuat project mikro AVR dengan mengerjakan project project mahasiswa, hehehe banyak yang bilang gak boleh lah, tapi saya berasumsi, begini cara saya belajar mikro AVR, di biayain, dan dapat duit ( harga jauh disbanding kan yang lain).
begini cara saya belajar mikro AVR, di biayain, dan dapat duit ( harga jauh disbanding kan yang lain).
Dengan mengerjakan project mikro AVR ini kita akan di paksa belajar hal hal baru, karena permintaan project alat tidak selamanya sudah pernah kita lakukan. Sebagai contoh saya pernah kerjakan project SIM800L, pertama tama saya suplay sim800 dengan tegangan 5V seperti kebanyakan modul biasa nya, program dengan cara tutorial yang ada, step di ikuti pelan pelan, begitu di coba tidak berhasil, tidak jalan.
Dari project SIM800 ini juga saya mulai sadar bahwa ada beberapa module controller yang sifat nya memberikan karate melalui komunikasi serial. AT command istilah nya, dan satu lagi, tidak semua modul bekerja di tegangan 5v, ada yang spesifik, contoh nya sim800 ini level tengan nya di sekitar 3.9 – 4.2 volt, saya pribadi buat di tengangan 4V.
Begitu juga dengan project project lain yang memaksa kita terus belajar hal hal baru. Semua project yang kita buat menjadi list history di data kita, saya pribadi simpan data di cloud. Ketika ada project serupa, tinggal copy paste and modifie,
Satu hal lagi yang penting Bahasa inggris
Sebenar nya Bahasa inggris bukan hal aneh lagi untuk di pelajari, rata rata generasi baru mengerti Bahasa inggris, apalagi yang tinggal di kota dan sudah kuliah.
Kenapa berbahasa inggris? ada pola unik mindset engineer orang luar dengan orang Indonesia saya lihat. Mereka lebih terbiasa untuk berbagi. Bayangkan saja library dan coding yang gitu rumit di share public di GitHub. Karena materi mikro avr banyak dari Bahasa inggris, maka kita harus belajar juga Bahasa inggris, jujur untuk belajar Arduino saya lebih banyak belajar dari web web luar,. 🙂 google translate pun jadi lah,. haha
sekian dulu tulisa nya, semoga bermanfaat
Thanks