Tampilkan postingan dengan label Belajar Mikrokontroler. Tampilkan semua postingan
Tampilkan postingan dengan label Belajar Mikrokontroler. Tampilkan semua postingan

Rangkaian serial Relay Kontroler 8 chanel

Rangkaian serial Relay Kontroler 8 chanel adalah rangkaian untuk mengendalikan Relay untuk meyalakan lampu, pompa air, kipas angin,tv, atau apapun yang kita inginkan. rangkaian ini sangat sederhana. bisa dihibungkan ke Mikrokontroler dengan jalur serial 3 Wire, sehingga akan menghemat port mikrokontroler. dan mikrokontrolernya sendiri bisa dihubungkan ke sensor infra merah, komputer, ataupun android untuk pengendalinya.

 Rangkaian serial Relay Kontroler 8 chanel ini menggunakan IC 74HC595 sebagai dekoder serial to pararel ke 8 buah relaynya. 3 wire memiliki sebuah jalur data, clock, dan enable. data penyalaan relay di kirim lewat jalur data, clock sebagai sinkronisasinya atau pendorongnya, sementara enable untuk menlatch data secara serempak ke register outputnya.

Rangkaian serial Relay Kontroler 8 chanel
skema Relay 8 chanel


Rangkaian serial Relay Kontroler 8 chanel
PCB Layout Relay 8 chanel


Rangkaian serial Relay Kontroler 8 chanel
Bottom layer Relay 8 chanel

berikut contoh sederhana pengendalian 8 relay menggunakan mikrokontroler Atmega8 dengan bahasa Bascom-AVR, bahasa mikrokontroler yang mudah dan simpel menurut saya pribadi. dalam contoh ini mikrokntroler akan mengaktifkan relay berdasarkan tombol yang di pencet.


silahkan kopas kode pengendalian relay 8 chanel dibawah ini ke lembar kerja bascom avr, simulasikan dengan skema diatas

Config Portb = Input
Portb = &HFF
Config Portc = Output
Portc = &H00

Sdat Alias Portc.1
Clock Alias Portc.0
En Alias Portc.2

Dim T1 As Bit , T2 As Bit , T3 As Bit , T4 As Bit , T5 As Bit , T6 As Bit , T7 As Bit , T8 As Bit

Dim Relay As Byte

Declare Sub Relayon

Do
   If Pinb.0 = 0 Then
   If T1 = 0 Then
      T1 = 1
      Toggle Relay.0
      Relayon
   End If
      Else
         T1 = 0
   End If

   If Pinb.1 = 0 Then
   If T2 = 0 Then
      T2 = 1
      Toggle Relay.1
      Relayon
   End If
      Else
         T2 = 0
   End If

   If Pinb.2 = 0 Then
   If T3 = 0 Then
      T3 = 1
      Toggle Relay.2
      Relayon
   End If
      Else
         T3 = 0
   End If

   If Pinb.3 = 0 Then
   If T4 = 0 Then
      T4 = 1
      Toggle Relay.3
      Relayon
   End If
      Else
         T4 = 0
   End If

   If Pinb.4 = 0 Then
   If T5 = 0 Then
      T5 = 1
      Toggle Relay.4
      Relayon
   End If
      Else
         T5 = 0
   End If

   'silahkan tambahkan kode sampai tombol 8, kode seperti
   'diatasnya, tinggal ganti nomor pin dan T
Loop

End

Sub Relayon
    Reset En
    Shiftout Sdat , Clock , Relay , 0 , 8
    Set En
End Sub

semoga bermanfaat rangkaian relay 8 chanel yang saya berikan diatas. selamat berkarya

cara menampilkan angka ke dot matrik 5x7

untuk menampilkan sebuah angka ke Dot matrix led digunakan teknik scaning. baik data maupun penyalaan Led dilakukan dengan teknik scaning atau switching dengankecepatan tinggi. jika kecepatan tidak tinggi maka led akan kedip-kedip.

untuk bisa menguasai pengendalian Dot matrik harus diawali dari yang paling dasar, sebelum menangani Dot matrik dalam jumlah yang banyak. misalnya untuk menampilkan informasi Jam dan Menit, Kalender, bahkan Running Text.

untuk itu belajarlah dari yang paling dasar dari blog http://hobyfauzi.tk ini

berikut ini sebuah program dasar menampilkan angka yang menghitung dari 0-9 menggunakan bahasa pemrograman Mikrokontroler yang mudah dipahami yaitu Bascom-AVR.

pengendalian dot matrik

disini kita menggunakan dot matrik 5x7, artinya kolom ada 5 dan baris ada 7. kolom di nyalakan satu persatu dengan kecepatan tinggi. sedang baris diberi data penyalaan yang merepresentasikan bentuk angka dari 0-9. angka 0 - 9 disimpan ke ROM atmega.
cara menampilkan angka ke dot matrik 5x7

gambarkan skema diatas ke dalam lembar kerja Proteus isis. lalu salin kode dibawah ini. masukkan ke lembar kerja bascom-AVR. kompilasi dan simulasikan ke Proteus

Config Portb = Output
Config Portd = Output

Dim Dotmatrix11 As Byte
Dim Dotmatrix12 As Byte
Dim Dotmatrix13 As Byte
Dim Dotmatrix14 As Byte
Dim Dotmatrix15 As Byte

Dim Dot1 As Byte , Dot2 As Byte , Dot3 As Byte , Dot4 As Byte , Dot5 As Byte

Dim Angka As Byte
Dim Digit As Byte
Dim Tunda As Word
Dim Bil As Byte

Declare Sub Biltodot()
Declare Sub Matrix1()

Do
   Incr Tunda
   If Tunda = 128 Then
      Tunda = 0

      Bil = Angka
      Biltodot
      Matrix1

      Incr Angka
      If Angka = 10 Then
         Angka = 0
      End If
   End If

   Portb = 0
   Select Case Digit
      Case 1:
         Set Portb.0
         Portd = Dotmatrix11
      Case 2:
         Set Portb.1
         Portd = Dotmatrix12
      Case 3:
         Set Portb.2
         Portd = Dotmatrix13
      Case 4:
         Set Portb.3
         Portd = Dotmatrix14
      Case 5:
         Set Portb.4
         Portd = Dotmatrix15
   End Select

   Incr Digit
   If Digit = 6 Then
      Digit = 1
   End If

   Waitms 1
Loop

End

'mengisi data ke masing2 dotmatrix setelah dilakukan konversi dari bin ke dot---
Sub Matrix1()
      Dotmatrix11 = Dot1
      Dotmatrix12 = Dot2
      Dotmatrix13 = Dot3
      Dotmatrix14 = Dot4
      Dotmatrix15 = Dot5
End Sub

'konversi dari bcd ke dotmatrix-------------------------------------------------
Sub Biltodot()
Select Case Bil
   Case 0:
      Dot1 = Lookup(0 , Angka0)
      Dot2 = Lookup(1 , Angka0)
      Dot3 = Lookup(2 , Angka0)
      Dot4 = Lookup(3 , Angka0)
      Dot5 = Lookup(4 , Angka0)
   Case 1:
      Dot1 = Lookup(0 , Angka1)
      Dot2 = Lookup(1 , Angka1)
      Dot3 = Lookup(2 , Angka1)
      Dot4 = Lookup(3 , Angka1)
      Dot5 = Lookup(4 , Angka1)
   Case 2:
      Dot1 = Lookup(0 , Angka2)
      Dot2 = Lookup(1 , Angka2)
      Dot3 = Lookup(2 , Angka2)
      Dot4 = Lookup(3 , Angka2)
      Dot5 = Lookup(4 , Angka2)
   Case 3:
      Dot1 = Lookup(0 , Angka3)
      Dot2 = Lookup(1 , Angka3)
      Dot3 = Lookup(2 , Angka3)
      Dot4 = Lookup(3 , Angka3)
      Dot5 = Lookup(4 , Angka3)
   Case 4:
      Dot1 = Lookup(0 , Angka4)
      Dot2 = Lookup(1 , Angka4)
      Dot3 = Lookup(2 , Angka4)
      Dot4 = Lookup(3 , Angka4)
      Dot5 = Lookup(4 , Angka4)
   Case 5:
      Dot1 = Lookup(0 , Angka5)
      Dot2 = Lookup(1 , Angka5)
      Dot3 = Lookup(2 , Angka5)
      Dot4 = Lookup(3 , Angka5)
      Dot5 = Lookup(4 , Angka5)
   Case 6:
      Dot1 = Lookup(0 , Angka6)
      Dot2 = Lookup(1 , Angka6)
      Dot3 = Lookup(2 , Angka6)
      Dot4 = Lookup(3 , Angka6)
      Dot5 = Lookup(4 , Angka6)
   Case 7:
      Dot1 = Lookup(0 , Angka7)
      Dot2 = Lookup(1 , Angka7)
      Dot3 = Lookup(2 , Angka7)
      Dot4 = Lookup(3 , Angka7)
      Dot5 = Lookup(4 , Angka7)
   Case 8:
      Dot1 = Lookup(0 , Angka8)
      Dot2 = Lookup(1 , Angka8)
      Dot3 = Lookup(2 , Angka8)
      Dot4 = Lookup(3 , Angka8)
      Dot5 = Lookup(4 , Angka8)
   Case 9:
      Dot1 = Lookup(0 , Angka9)
      Dot2 = Lookup(1 , Angka9)
      Dot3 = Lookup(2 , Angka9)
      Dot4 = Lookup(3 , Angka9)
      Dot5 = Lookup(4 , Angka9)
End Select
End Sub


'tabel data penyalaan dot matrik sesuai nomor2nya. tersimpan di ROM Atmega------
Angka0:
Data &B11000001
Data &B10111110
Data &B10111110
Data &B10111110
Data &B11000001

Angka1:
Data &B11111111
Data &B10111101
Data &B10000000
Data &B10111111
Data &B11111111

Angka2:
Data &B10111101
Data &B10011110
Data &B10101110
Data &B10110110
Data &B10111001

Angka3:
Data &B11011110
Data &B10111110
Data &B10111010
Data &B10110100
Data &B11001110

Angka4:
Data &B11100111
Data &B11101011
Data &B11101101
Data &B10000000
Data &B11101111

Angka5:
Data &B11011000
Data &B10111010
Data &B10111010
Data &B10111010
Data &B11000110

Angka6:
Data &B11000011
Data &B10110101
Data &B10110110
Data &B10110110
Data &B11001111

Angka7:
Data &B11111110
Data &B10001110
Data &B11110110
Data &B11111010
Data &B11111100

Angka8:
Data &B11001001
Data &B10110110
Data &B10110110
Data &B10110110
Data &B11001001

Angka9:
Data &B11111001
Data &B10110110
Data &B10110110
Data &B11010110
Data &B11100001
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bagaiman jika dot matrix yang kita pakai lebih dari satu? misalnya jika kita gunakan 4 dotmatrik untuk membuat sebuah jam digital.

cara menampilkan angka ke dot matrik 5x7
dengan 2 dot matrix

semakin banyak jumlah dot matrik, semakin banyak pula jalur kolom yang kita butuhkan. pada contoh diatas kita hanya menggunakan 1 dot matrik 5x7. artinya 5 kolom 7 baris. sehingga jika kita menggunakan dot matrik 5x7 sebanyak 4 buah ya tinggal kita kalikan saja 5x4=20. artinya kita butuh port bebas 20 buah untuk mengendalikan kolom.

atmega 8 sendiri hanya mempunyai 22 port. 7 port sudah kita gunakan untuk jalur baris yang digunakan untuk mengirim data. sehingga tidak mungkin kita menggunakan atmega8. kita harus membutuhkan mikrokontroler dengan jumlah port yang banyak, seperti atmega128.

akan tetapi ada suatu teknik menghemat port mikrokontroler. teknik ini menggunakan serial data untuk mengontrol kolom. untuk keperluan ini dibutuhkan IC 74HC595. ulasan mengenai pengendalian dot matrik dengan jumlah 4 dot matrik bisa di baca pada postingan Jam digital Dot matrix 5x7

Tip menguasai Mikrokontroler dengan mudah dan menyenangkan

tidak dipungkiri menguasai pemrograman Mikrokontroler itu memang susah, butuh kesabaran, ketekunan, ketelitian, dan tentu saja butuh uang. tidak cukup hanya dari buku dan internet. belajar menguasai pemrograman Mikrokontroler akan sangat asyik jika di pandu oleh instruktur atau tentor.

Tip menguasai Mikrokontroler dengan mudah dan menyenangkan

kalau hanya sekedar mengkopi paste kode maupun file .hex untuk membangun sistem elektronika berbasis Mikrokontroler itu sangat mudah. gak sampai 1 jam mencoba pun langsung oke. dan jika  kita mau memodifikasi sesuai keinginan juga susah.

ada juga yang bingung mau memulai dari mana belajar Mikrokontroler. sementara banyak buku yang menyajikan dengan beberapa Bahasa pemrograman yang malah membuat kita semakin bingung. saat ini Arduino begitu populer. sebelumnya juga ada C-AVR yang berbayar, ada juga Bascom-AVR yang berbayar pula. sementara disisi lain ada WinAVR yang Free. ada juga AVR Studio berbasis Bahasa Asembly yang menurut saya sendiri sangat tidak cocok untuk pengguna awal. Asembly untuk pemula lebih baik menggunakan Mikrokontroler AT89S51 yang lebih mudah dalam memahaminya.

lalu cara apa dan mulai dari mana belajar Pemrograman Mikrokontroler yang begitu canggih dan menyenagkan ini?

menurut pengalaman saya sendiri belajar pemrograman mikrokontroler harus tetap dengan pendampingan instruktur, ini supaya lebih efisien dalam memahami kode-kode program. dan kabar baiknya siswa bisa menanyakan yang memang bener-bener belum diketahuinya secara langsung dengan pembibingnya. beda jika kita belajar sendiri, kalau buntu mau tanya ke forum belum tentu dijawab dengan cepat, bahkan mungkin jawaban kurang relevan.

belajar pemrograman Mikrokontroler bersama pembimbing juga akan tercipta suasana humor antara siwa dan instruktur, gak garing, boring, dan membosankan.

lalu memakai platform bahasa apa dan Mikrokontroler jenis apa yang cocok untuk pemula alias nubie banget? Arduino, PIC, AVR, AT89, ARM, bahasa C, Bahasa Basic, Bahasa Asembly. bingungkan.........

untuk itu harus disesuaikan dengan karakter siswa. siswa yang sabaran bisa dimulai dengan bahasa asembly untuk Mikrokontroler AT89. siswa yang agak sabaran bisa memakai Bascom-AVR. sementara untuk siswa yang instan dan maunya cepet bisa mau nggak mau memakai Arduino. Arduino adalah solusi cepat menguasai mikrokontroler dengan cara instan. walaupun gak sepenuhnya bener-bener instan.

termasuk orang yang manakah anda?

simak juga; pemrogramn mikrokontroler untuk pemula

saya sendiri dulu belajar Mikrokontroler menggunakan bahasa Asembly. setelah itu Basic dan C. mana yang lebih enak?
  • bahasa Asembly paling cocok jika kita memakai Mikrokontroler AT89
  • bahasa Basic atau Bascom-AVR cocok untuk Mikrokontroler Atmel AVR
  • bahasa C pastinya ya pakai Arduino 
semua mempunyai keunggulan dan kelemahan masing-masing. sesuaikan dengan kondisi yang ada seperti yang telah diuraikan diatas. akan tetapi jauh lebih menyenangkan jika kita bisa juga menguasai Bahasa Asembly.

bagi saya sendiri Bahasa Asembly sekarang hanya untuk pembelajaran saja. saya jarang sekali membuat Proyek Mikrokontroler menggunakan Bahasa Asembly jika tidak menggunakan Mikrokontroler At89. untuk keperluan Bisnis yang cepat jadi pilihan tepat adalah menggunakan Arduino dan WinAVR, dan Bascom-AVR.

di blog http://hobyfauzi.tk ini anda juga belajar mikrokontroler dari awal menggunakan bahasa Basic dan C menggunakan Arduino dan BascomAVR. bisa juga belajar Pemrograman Mikrokontroler secara Online melalui media Facebook.

mengendalikan seven segment dengan teknik serial data

mengendalikan seven segment dengan teknik  konvensional akan membutuhkan banyak port mikrokontroler. jika kita hanya mengendalikan 1 seven segment saja bolehlah dengan cara konvensional. ada juga teknik mengendalikan seven segment dengan cara multiplexing atau scaning.

mengendalikan seven segment dengan jumlah yang banyak akan efektif jika kita menggunakan teknik 3 wire atau serial data. oleh karena itu kita harus menggunakan IC shift register tambahan. IC shift register untuk keperluan ini yang paling populer adalah 74HC595.

harga IC 74HC595 sekitar Rp1 ribuan dipasar elektronik online indonesia. bahkan ada beberpa yang menjual dibawah 1K untuk jenis 74HC595 yang SMD. tentunya ini harga yang sangat murah untuk sebuah IC shift register.

untuk mempelajari pengendalian seven segment ini kita akan menggunakan bantuan software Proteus. sedangkan pemrograman Mikrokontrolernya menggunakan Bascom-AVR. untuk chip Mikrokontroler kita pakai saja attiny13A. boleh saja memakai mikrokontroler lain, tinggal menyesuaikan pada setingan di Bascom-AVR saja.

berikut skema pengendalian seven segment menggunakan teknik serial data atau 3 wire dengan IC shift register 74HC595. karena seven segmen yang akan digunakan berukuran 2.3 inchi dengan tegangan 9 volt, maka perlu ditambahkan transistor jenis NPN dengan seri FCS4014. akan tetapi jika seven segmen menggunakan tegangan 5V untuk ukuran dibawah 1,2" maka tidak perlu ditambahkan transistor.

rangkaian seven segmen

berikut kode program dalam bahasa basic untuk pengendalian seven segment menggunakan teknik serial data atau 3 wire dengan IC shift register 74HC595. dalam kode ini akan memerintahkan mikrokontroler menghitung angka dari 0....9 lalu kembali ke nol lagi, begitu seterusnya

kode mengendalikan seven segment dengan teknik  serial  data

ketik kode diatas didalam lembar kerja Bascom-AVR, kompilasi dan isikan  file .hex ke Mikrokontroler. jika belum tahu caranya bisa membaca postingan Pemrograman Mikrokontroler untuk pemula 

berikut foto praktikum pengendalian seven segment menggunakan teknik serial data atau 3 wire dengan IC shift register 74HC595

rangkaian seven segmen

berikut video singkat praktikum pengendalian seven segment menggunakan teknik serial data atau 3 wire dengan IC shift register 74HC595

Belajar pemrograman Mikrokontroler dengan bahasa c

selain menggunakan bahasa Basic (Bascom-AVR atau Bascom8051) dalam memprogram mikrokontroler keluaran Atmel kita juga bisa menggunakan Bahasa C. bahasa C adalah bahasa tingkat tinggi (HLL), jadi kita akan dimudahkan dalam melakukan pemrograman. kali ini saya akan berbagi pengalaman bagaimana belajar pemrograman mikrokontroler  dengan bahasa c dengan menggunakan software WinAVR.

Software ini free alias gratis. anda bisa mengunduh melalui situs resminya di https://sourceforge.net/projects/winavr/files/WinAVR/

saya anggap teman-teman sudah bisa instalasi program under Windows. termasuk cara instal WinAVR. setelah selesai memasang WinAVR di komputer anda maka akan menghasilkan file instalan seperti pada gambar dibawah ini.

belajar pemrograman mikrokontroler  dengan bahasa c

MFile [WinAVR] dan Programmers Notepad akan sering kita gunakan, jadi sebaiknya dibikinkan shortcut di dekstop saja. bagaimana membuat shortcut di dekstop seperti membuat shortcut2 program lain. dan beginilah bentuk shorcut untuk kedua program tersebut

Belajar pemrograman Mikrokontroler  dengan bahasa c

MFile [WinAVR] digunakan untuk menseting Mikrokontroler, sedangkan Programmers Notepad digunakan untuk menulis kode-kode perintah Mikrokontroler dalam bahasa C. karena untuk tujuan belajar kita untuk sementara bisa menggunakan proteus untuk mensimulasikan hasil.

Program pertama yang akan kita buat adalah sebuah Pemrograman yang sangat sederhana bagaimana cara menyalakan sebuah lampu Led menggunakan bahasa C dengan tool WinAVR. yaelah masak mau nyalain Led saja harus pakai program! disini yang menjadi masalah bukan  menyalakan Lednya, akan tetapi bagaimana sebuah program itu bekerja. sebuah komputer atau smartphone yang sangat canggih sekalipun tetap dasar tekniknya adalah bagaimana menyalakan sebuah Led, dalam hal ini nyala=1 (ada tegangan) dan padam=0 (tidak ada tegangan)

setelah bisa memprogram nyala Led selanjutnya adalah sebuah program sederhana bagaimana mengedipkan sebuah lampu Led. jadi dimulai dari yang paling sangat sederhana dulu.

persiapan awal setelah proses instalasi winavr selesai
buatlah sebuah folder dengan nama terserah, misal belajarwinavr.
bukalan programmer notepad, dan buatlah sebuah project group

akan menghasilkan group project seperti gambar dibawah

setelah itu buatlah new project

akan tampil seperti di bawah ini. Tentukan nama project dan direktori tempat penyimpanan project tersebut

Selanjutnya, buatlah program dalam bahasa C anda!. Sebagai contoh, ketiklah program ini pada Programmer’s Notepad!.

// program LED01.C
// menghidupkan lampu LED pada PORTB
#define F_CPU 11059200
#include "avr/io.h"
#define led PORTB

//===========================================
void init_devices()
{
DDRB=255;
}

//==========================================program utama
int main()
{
init_devices();
led=255;
}


Jika anda sudah selesai membuat program, kemudian simpanlah file program tersebut dengan nama sesuai dengan keinginan anda dan dengan diberi ekstensi *.c. Misal dalam contoh ini file program diberi nama “led.c”. Simpan file tersebut pada direktori yang sama dengan tempat anda menyimpan file project sebelumnya.

Selanjutnya, tambahkan file ini ke dalam project dengan meng-klik kanan pada project lalu "add file".


Kemudian cari file berekstensi *.c pada directory tempat kita tadi menyimpan file. Pilih>>Ok.



selanjutnya kita akan membuat makefile. makefile digunakan untuk pengaturan mikrokontroler yang dipakai. juga setingan kompilasi program.

Materi Belajar pemrograman Mikrokontroler  dengan bahasa c ini akan bersambung terus sampai kita memahami Dasar dasar pemrograman Mikrokontroler dengan bahasa C dengan tools WinAVR. dan pada nantinya bisa dikembangkan untuk proyek proyek mikrokontroler yang lebih canggih. 

Membuat Mikrokontroler Development Board Sendiri

kali ini saya mau berbagi bagaimana cara membuat mikrokontroler development board sendiri menggunakan mikrokontroler atmega8. sengaja ditambahkan LCD, Rotary, dan microswitch untuk kemudahan pengembangan. jadi kita tidak direpotkan dengan penyambungan kabel ke LCD, Switch, dan Rotary. ini saya anggap suatu kelebihan, karena sebagian besar perangkat membutuhkan layar LCD untuk membaca informasi yang diperlukan. selain itu juga diperlukan input input perintah dari tombol maupun rotary.

Membuat Mikrokontroler Development Board Sendiri

mikrokontroler board development ini sangat cocok untuk pemula maupun yang sudah mahir. bagi yang senang dengan Radio komunikasi bisa digunakan untuk mengendalikan PLL maupun DDS. display 16x2 sangat pas di pasangkan pada Mikrokontroler Development Board ini, dalam proses debuging LCD sangat membantu menampilkan variabel tertentu untuk kita amati perilakunya, termasuk flag flag khusus.

Membuat Mikrokontroler Development Board Sendiri

keypad pada mikrokontroler board development ini berjumlah total 6 tombol dengan menggunakan teknik ADC keypad. keuntungan menggunakan teknik ini adalah hanya diperlukan 1 jalur Port Mikrokontroler saja. akan tetapi teknik ini juga mempunyai kelemahan, yaitu jika microswitch rusak atau aus maka akan terjadi salah perintah, perintah jadi kacau dan terbalik balik. contoh nyatanya yang seriing terjadi adalah pada pesawat televisi, ketika memindah chanel justru malah volume yang berubah. untuk itu kita tidak boleh asal sembarangan memakai microswitch. pilihlah microswitch yang bagus. ciri-cirinya adalah ketika dipencet terasa halus dan tidak menmbulkan suara "ceklik" yang keras. ciri yang lain adalah warna kepala switch bukan yang hitam. yang warna hitam adalah kalitas buruk, kasar, berisik, dan cepat rusak.

baca juga : pemrograman dasar tombol ADC

selain menggunakan keypad kita juga bisa memanfaatkan Rotary Encoder untuk mengakses sistem mikrokontroler develpment board  kita. penggunaan Rotary sangat mudah karena sudah disediakan library di berbagai bahasa pemrograman mikrokontroler. Rotary Encoder ada juga ada yang dilengkapi dengan tombol push on. yang model seperti ini sangat cocok untuk diterapkan pada peralatan komunikasi ataupun Audio. pada Audio untuk memilih mode Volume, Bass, Treble, ataupun Balance hanya dengan sebuah rotary encoder. pada peralatan komunikasi sangat cocok untuk memilih step, dan mode mode lain hanya dengan satu rotary encoder.

baca juga : cara mengakses rotary encoder

sistem mikrokontroler board development ini untuk melakukan download program menggunakan jalur SPI (mosi, miso, sck, dan reset). untuk memudahkan bisa kita gunakan USBASP untuk menghubungkan Board Development dengan Komputer melalui port USB. sedangkan untuk aplikasi downloadernya bisa memakai Khazama yang lebih simpel dan familier. karena sebagian Port Mikrokontroler sudah dipakai untuk LCD, Keypad, dan Rotary maka tinggal tersisia Port D, dan beberapa Port ADC yang jadi satu dengan Port C.

usb asp
USB ASP

salah satu kelemahan mikrokontroler development board ini adalah tidak terpakainya PWM, karena Port B secara keseluruhan sudah terpakai untuk LCD dan Crystal. pada pengembangan yang lebih lanjut bisa menggunakan LCD I2C yang hanya membutuhkan 2 jalur port Mikrokontroler saja. sehingga Port PWM dapat kita pakai sepenuhnya. akan tetapi untuk tujuan belajar dan aplikasi khusus sudah mencukupi dengan board ini.

berikut contoh contoh program untuk mulai belajar menggunakan Mikrokontroler Development Board menggunakan bahasa pemrograman Basic for Mikrokontroler (Bascom-AVR). dimulai dari pemrograman yang paling sederhana bagaimana menampilkan sesuatu di LCD 16x2.

sebelumnya atur dulu penggunaan chip (dalam hal ini Atmega8) dan lcd (16x2) di bascom-AVR. caranya sebagai berikut:
- masuk ke Bascom-AVR, pilih option, compiler, lalu chip

- lalu pilih mikrokontroler m8def.dat, selanjutnya pilih LCD

belajar pemrograman mikrokontroler

- setelah itu atur pin mikrokontroler yang terhubung ke LCD, pastikan LCD terpilih 16x2, lalu OK

belajar pemrograman mikrokontroler

setelah itu cobalah program-program dibawah ini, kopas ke bascom-AVR, kompilasi dan simulasikan di proteus. jika di proteus berhasil bisa langsung dicoba ke  mikrokontroler development board. boleh juga langsung dicoba di board development.


Program sederhana menampilkan kalimat "Mari Belajar Mikrokontroler"

ddrb=&B00111111
portb=&B00000000

locate 1,1:lcd "   Mari  Beajar   "          
locate 2,1:lcd " Mikrokontroler "

do
loop

end

Program sederhana menampilkan suatu bilangan atau angka yang tersimpan dalam memory mikrokontroler

ddrb=&B00111111

portb=&B00000000

dim angka as byte
angka=26

locate 1,1:lcd angka

do
loop

end

Program sederhana menampilkan suatu bilangan atau angka yang menghitung dari 0 - 255 kemudian kembali ke 0 lagi yang tersimpan dalam memory mikrokontroler

ddrb=&B00111111

portb=&B00000000

dim angka as byte
angka=26

do
      locate 1,1:lcd angka

      incr angka

     waitms 200

      if angka=0 then
             cls
     end if
loop


end

Cara Membuat Timer Digital

kali ini akan saya share bagaiamana Cara Membuat Timer Digital menggunakan IC Mikrokontroler Atmega8 dengan display LCD 16x2. oleh karena itu tentunya kita akan melibatkan Timer/Counter yang terdapat di Mikrokontroler. dan kebetulan Atmega8 memiliki 3 Timer/Counter. akan tetapi cukup sebuah timer saja yang akan kita libatkan. kita pilih Timer/Counter0 saja yah...

Cara Membuat Timer Digital

dalam ulasan Cara Membuat Timer Digital ini akan saya berikan contoh 1 menit timer, dan setelah satu menit tercapai akan menghidupkan atau mematikan Led. dalam kehidupan sehari-hari led bisa anda ganti sesuai kebutuhan. seperti biasa silahkan anda gambar dulu skema timer ini di Proteus.

Cara Membuat Timer Digital

Timer0 mempunyai lebar 8bit, sehingga maksimal hanya sampai mengukur sebanyak 255 pulsa. setelah itu akan kembali ke 0 lagi. dalam program ini untuk membentuk sebuah Timer kita harus membuat sebuah time base 1 detik dulu. untuk membuat time base 1 detik sangatlah mudah. pertama yang harus diketahui adalah frekuensi kerja Mikrokontroler dulu, dalam hal ini kita memakai 8 MHz. jika Interupsi Timer/counter0 diaktifkan maka setiap detiknya akan terjadi 8MHz / 256 = 31250 interupsi timer0. sehingga dengan mudah tinggal kita bikin sebuah hitungan dari 0 - 31250 dalam interupsi timer0, setelah hitungan 31250 tercapai artinya tepat 1 detik. silahkan anda ketik kode Cara Membuat Timer Digital dibawah ini. masukan ke Bascom-AVR lalu kompilasi dan jalankan simulasinya

Cara Membuat Timer Digital

timer ini bisa anda kembangkan lagi dengan memanfaatkan tombol untuk menginput data timer. dan akan lebih menarik menggunakan display seven segment. pada pengembangan yang lebih canggih bisa untuk mengendalikan/menggantikan Timer pada mesin Cuci. demikian Cara Membuat Timer Digital sederhana ini, selamat berkreasi.