Kamis, 16 Desember 2010

H Bridge

    H Bridge atau jembatan H adalah adalah salah satu rangkaian yang digunakan untuk mengendalikan motor DC. Pada dasarnya rangkaian ini tersusun atas empat saklar yang berbentuk seperti rangkaian dibawah ini:

 

Dari gambar tersebut terlihat bahwa keempat saklar disusun sedemikian rupa sehingga membentuk huruf H, dari bentuk inilah mengapa rangkaian ini disebut jembatan H. Cara kerja saklar diatas adalah jika saklar satu dan saklar tiga ditekan maka motor akan berputar kearah kanan, begitu juga sebaliknya jika saklar dua dan saklar empat ditekan maka motor akan berputar kearah kiri.
    Jembatan H seperti pada gambar diatas tentu saja nelum dapat dikontrol secara digital (karena masih menggunakan saklar analog). Supaya rangkaian jembatan H dapan dikendalikan secara digital maka keempat saklar tersebut diganti menjadi transistor (bisa juga dengan MOSFET atau saklar elektronik lainnya,) sehingga rangkaian akan menjadi seperti dibawah ini :



Dengan rangkaian diatas maka driver motor dapat dikontrol secara digital, dapat juga dikontrol melalui mikrokontroler dengan menghubungkan push button dengan pin output mikrokontroler.


Download :
Simulasi H Bridge (proteus) --- klik disini

wasalam

Senin, 13 Desember 2010

Rangkaian Flip Flop Led

   Rangkaian Flip Flop adalah rangkaian yang menghasilkan efek alternate atau on secara bergantian pada output nya. Rangkaian Flip Flop ini dibagi menjadi dua macam yaitu Flip Flop analog dan digital. Perbedaan dari kedua jenis Flip Flop tersebut adalah komponen penyusunannya, Flip Flop Digital tersusun atas gerbang gerbang logika. Sedangkan Flip Flop Analog tersusun atas komponen komponen analog . Komponen komponen analog tersebut adalah sebagai berikut:
  • Transistor NPN               2 buah
  • Resistor 330 Ohm           2 buah
  • Resistor 10K Ohm          2 buah
  • Capacitor Polar 22uF      2 buah
  • Led                                 2 buah
  • Power Supply                 2 buah
Kemudian komponen komponen tersebut disusun menjadi rangkaian seperti berikut:


















Rangkaian tersebut akan menyalakan kedua led secara bergantian (alternate). Frekuensi detak nyala led ini dipengaruhi oleh nilai resistor dan kapasitor ( untuk rumus frekuensi penulis belum menemukan ). Rangkaian ini dapat digunakan sebagai pembangkit detak / clock sederhana ( bisa juga digunakan dalam beam robot).

Download :
Simulasi (Proteus) --- klik disini

Minggu, 12 Desember 2010

Aplikasi Shift Register Untuk Penampil Seven Segmen

Komponen
  • 2 buah IC 4094
  • 2 buah seven Segmen
  • Mikrokontroler
Rangkaian




























Program:

$regfile = "m16def.dat"
$crystal = 12000000

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output

Datain Alias Portb.0
Clock Alias Portb.1
Strobe Alias Portb.2

Dim Kodesat As Byte , Npul As Integer , Nsat As Integer , Kodepul As Byte

Mulai:
Npul = 3
Nsat = 0

Do
Gosub Tampil
  If Nsat = 0 Then
  Nsat = 9
  Decr Npul
  End If

  If Npul = 0 And Nsat = 0 Then
  Goto Mulai
  End If
Gosub Tampil
Decr Nsat
Loop

Tampil:
Reset Strobe
Kodesat = Lookup(nsat , Kode)
Kodepul = Lookup(npul , Kode)
Shiftout Datain , Clock , Kodesat , 1
Shiftout Datain , Clock , Kodepul , 1
Waitms 500
Set Strobe
Return

Kode:
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10

Download Link:
Simulasi Proteus --- klik disini
program ----------- klik disini

wasalam

    Shift Register 4094

    IC shift register adalah sebuah komponen elektronik (IC) yang digunakan untuk memsukkan data secara serial dan mengeluarkan data secara paralel. Pada IC shift register 4094 ini memiliki konfigurasi pin seperti dibawah ini:

    Konfigurasi Pin 4094

     

    Keterangan Pin
    OE             = Output enable
    QP0-QP7  = Output Paralel 0 - Output Paralel 7
    D               = Input Data Serial
    CP             = Clock Input
    QS1-QS2  = Output Serial1 - Output Serial2
    STR           = Strobe Input
    VCC          = V+
    GND          = gnd


    Cara Kerja Shift register
       Data masuk secara serial melalui pin D (1). Pada IC Shift Register ini data masuk baru disimpan setelah terjadi clock jadi cara memasukkan data pada shift register ini adalah data masuk- clock- data masuk-clock-data masul-clock begitu seterusnya. Pin OE atau Output Enable digunakan untuk mengaktifkan output serial maupun output paralel. Logika 1 untuk enable dan logika 0 untuk disable. QP0 - QP7 adalah output paralel dari shift register ini sedangkan QS1 - QS2 adalah output serial dari shift register ini. Jika menggunakan lebih dari satu IC Shift Register maka pin data dari IC Shift Register selanjutnya dihubungkan  ke output serial dari IC Shift Register sebelumnya. Untuk lebih jelasnya bisa dilihat di timing diagram berikut ini:

    Timing Diagram











    Untuk lebih jelasnya dapat dilihat datasheetnya di sini.


    wasalam

    Sabtu, 11 Desember 2010

    Mengenal Solenoid Valve











    Solenoid Valve atau yang lebih sering disingkat dengan inisial SV adalah sebuah alat listrik yang digunakan untuk membuka/ menutup katup. SV ini pada umumnya digunakan sebagai pengganti kran pada pipa baik pipa gas, pipa air dan lain sebagainya. 

    Bagian bagian dari SV













    Keterangan gambar:
    1. Valve body
    2. Saluran masukan
    3. Saluran keluaran
    4. Coil/ Solenoid
    5. Lilitan koil
    6. Dudukan kabel
    7. Katup
    8. Pegas
    9. Lubang

    Cara Kerja
    SV bekerja berdasarkan prinsip On/Off jadi SV akan dalam keadaan terbuka jika on dan SV dalam keadaan tertutup jika di off kan kembali. Dari gambar diatas dapat dilihat bahwa katup (7) yang terdapat pada SV dikendali oleh lilitan koil (5) yang ada di sekeliling katup, jika lilitan diberikan arus listrik maka lilitan akan memiliki medan magnet, karena medan magnet katub berlawanan dengan medan magnet pada lilitan maka katup yang ada didalam lilitan akan terdorong keluar. Pegas digunakan untuk menjaga agar katup dapat kembali keposisi semula setelah didorong oleh lilitan. SV menggunakan tegangan AC tetapi ada juga yang menggunakan tegangan DC.

    Salah satu jenis SV, yaitu yang menggunakan tegangan DC 12V -berdasarkan pengalaman- dapat dengan mudah diinterfacekan  atau dihubungkan atau dikendalikan dengan menggunakan mikrokontroler. Karena output mikrokontroler hanya max 5volt maka pada rangkaian hardware SV tersebut perlu ditambahkan transistor kemudian dari transistor dihubungkan ke relay kemudian baru ke SV. Proses mengontrolnya juga sangat mudah yaitu dengan memberikan logika 1 dan 0 pada output mikrokontroler.

    wasalam

    Jumat, 10 Desember 2010

    Jangan buang lampu hemat energi anda










    Lampu hemat energi saat ini memang sudah marak dipasaran dan sudah mulai menggeser penggunaan lampu bohlam yang lebih dahulu "eksis". Jika lampu hemat energi anda mati, jangan langsung buang lampu hemat energi anda.
          Tahukah anda dalam lampu hemat energi terdapat rangkaian elektronik yang komponen komponennya sebagian besar masih bisa digunakan.











    Didalam satu lampu hemat energi terdapat:
    • resistor - 6 buah
    • dioda - 4 buah
    • transistor - 2 buah
    • capacitor mylar - 3 buah
    • electrolit capacitor - 2 buah
    • induktor - 1 buah
    • 2 utas kabel - masing masing 8 cm
    *untuk nilai masing masing komponen berbeda beda untuk setiap merk

    Sayangkan kalo komponen sebanyak itu cuma dibuang. Kurangilah sampah elektronik mulai dari diri sendiri.  

    salam damai

    Kamis, 09 Desember 2010

    Aplikasi keypad pada ATMEGA16 dengan CVAVR

    Konfigurasi hardware:
    1. keypad 4x3
    2. atmega32
    3. LCD 16*2

    berikut rangkaiannya (proteus)

    Untuk programnya digunakan bahasa pemrograman CVAVR, source codenya dapat di download disini


    Penjelasan:
    Pada dasarnya membaca input dari keypad adalah dengan melakukan proses "scan" pada setiap kolom. Maksud proses "scan" disini adalah memberikan logika 1 pada semua pin dan hanya pada kolom A saja yang diberikan logika 0

    dengan keadaan seperti diatas maka akan dapat diketahui apakah tombol a1, a2, a3 atau a4 yang ditekan. potongan programnya adalah sebagai berikut:

    DDRD = 0b00000111;
    PORTD = 0b11111110;
    delay_us(1);
    if (PIND==0b11110110) {
    lcd_gotoxy (0,0);
    lcd_putsf ("1");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    }
    else if (PIND==0b11101110)
    {

    lcd_gotoxy (0,0);

    lcd_putsf ("4");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");

    }
    else if (PIND==0b11011110){
    lcd_gotoxy (0,0);
    lcd_putsf ("7");

    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    }
    else if (PIND==0b10111110){
    lcd_gotoxy (0,0);

    lcd_putsf ("*");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    };

    kemudian untuk proses scan yang kedua sama seperti proses scan yang pertama hanya saja dilakukan pada kolom B


    dengan kondisi seperti diatas maka dapat diketahui apakah tombol b1, b2, b3 atau b4 yang sedang ditekan. Berikut merupakan potongan programnya:

    DDRD = 0b00000111;
    PORTD = 0b11111101;

    delay_us(1);

    if (PIND==0b11110101) {

    lcd_gotoxy (0,0);

    lcd_putsf ("2");

    delay_ms(100);

    lcd_gotoxy (0,0);

    lcd_putsf(" ");
    }
    else if (PIND==0b11101101){
    lcd_gotoxy (0,0);
    lcd_putsf ("5");
    delay_ms(100);
    lcd_gotoxy (0,0);

    lcd_putsf(" ");
    }
    else if (PIND==0b11011101){
    lcd_gotoxy (0,0);
    lcd_putsf ("8");

    delay_ms(100);
    lcd_gotoxy (0,0);

    lcd_putsf(" ");
    }
    else if (PIND==0b10111101){
    lcd_gotoxy (0,0);
    lcd_putsf ("0");

    delay_ms(100);
    lcd_gotoxy (0,0);

    lcd_putsf(" ");

    };

    kemudian untuk proses scan yang ketiga sama seperti proses scan yang pertama hanya saja dilakukan pada kolom C
    dengan kondisi seperti diatas maka dapat diketahui apakah tombol c1, c2, c3 atau c4 yang ditekan. berikut merupakan potongan programnya:

    DDRD = 0b00000111;
    PORTD = 0b11111011;
    delay_us(1);
    if (PIND==0b11110011) {
    lcd_gotoxy (0,0);
    lcd_putsf ("3");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    }
    else if (PIND==0b11101011){
    lcd_gotoxy (0,0);
    lcd_putsf ("6");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    }
    else if (PIND==0b11011011){
    lcd_gotoxy (0,0);
    lcd_putsf ("9");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    }
    else if (PIND==0b10111011){
    lcd_gotoxy (0,0);
    lcd_putsf ("#");
    delay_ms(100);
    lcd_gotoxy (0,0);
    lcd_putsf(" ");
    };

    ketiga proses scan tersebut harus dilakukan secara cepat dengan proses looping, semakin cepat proses loopingnya maka semakin cepat pula respon dari keypad.

    download:
    simulator (proteus) klik disini
    program(CVAVR) klik disini

    wasalam

    Keypad



    Keypad atau "bantalan kunci" sebenarnya adalah kumpulan dari push button yang disusun secara matrix, hampir mirip dengan dot matrix, jika dot matrix tersusun oleh kumpulan led maka keypad tersusun oleh kumpulan push button. Untuk lebih jelasnya dapat dilihat pada gambar berikut:

    Pada umumnya di pasaran keypad yang tersedia yaitu 4x3 dan 4x4. fungsi utama keypad yaitu sebenarnya untuk menghemat penggunaan port input, misalnya pada keypad 4x4 dapat digunakan sebagai input sebanyak 16 tombol dan hanya menggunakan 8 port, coba banyangkan kalau tanpa menggunakan keypad maka akan membutuhkan 16 port, dengan demikian penggunaan port input dapat diminimalir.

    bentuk fisik dari keypad:


    salam damai.

    Selasa, 07 Desember 2010

    Traffic light 4 jalur + down counter menggunakan ATMEGA16


    Traficlight seperti kita ketahui digunakan untuk mengatur lalu lintas pada persimpangan jalan baik pertigaan atau perempatan bahkan simpang lima. Traficlight digunakan untuk menggantikan tugas pak polisi supaya kerjanya lebih ringan dan he he he tinggal tilang aja klo ada yang gak nurut.. cukup sekian basa basinya langsung saja ke konfigurasi hardwarenya. trafic ini terdiri dari tiga buah komponen utama yaitu:

    1. Controler
    2. Counter display 7 segment
    3. Led merah, kuning dan hijau

    Controler pada trafic ini menggunakan atmega16
    Counter display menggunakan 7 segment dengan shift register sebagai perantara pengiriman data dari controler Led merah, kuning dan hijau digunakan mengatur lalulintas merah artinya stop, hijau artinya jalan dan kuning artinya jalan ngebut (keburu lampu merahnya nyala)

    untuk lebih jelasnya bisa download simulasinya (proteus) disini



    Pada prinsipnya kerja traficlight adalah menyalakan lampu hijau dan lampu kuning secara bergantian, misalnya pada trafic light 4 jalur ini. Pada traficlight ini nyala lampu hijau dan kuning dibuat sama untuk 4 jalurnya yaitu 8 detik untuk lampu hijau dan 2 detik untuk lampu kuning jadi totalnya adalah 11 detik. sedangkan untuk nyala lampu merahnya adalah 3 kali lipat nyala lampu hijau + Kuning, jadi untuk nyala lampu merahnya adalah 11+11+11 = 35. lho kog 35 bukannya 33? eit jangan salah dalam trafic light counter downnya menghitung atau mencacah sampai angka nol (0) bukan 1 untuk lebih jelasnya berikut adalah timeline nya




















    keterangan
    garis hijau = lama nyala lampu hijau
    garis kuning = lama nyala lampu kuning
    garis merah = lama nyala lampu merah

    setelah mengetahui konsepnya maka dapat langsung diimplementasikan pada programnya. disini bahasa pemrogramannya menggunakan Bascomavr. Berikut merupakan inti dari program traficlight diatas:

    program utama

    Do
    Gosub Tampil1
    Gosub Tampil2
    Gosub Tampil3

    Gosub Tampil4


    Gosub Trafic1

    Gosub Trafic2
    Gosub Trafic3

    Gosub Trafic4

    Decr Sat1
    Decr Sat2
    Decr Sat3
    Decr Sat4

    Loop

    Sub program ini berfungsi untuk memanggil sub program tampil dan sub program trafic dan juga digunakan untuk men- decrement- menurunkan nila variabel sat.

    Sub program tampil

    Tampil1:
    Reset Oe1

    Kodesat1 = Lookup(sat1 , Kode)
    Kodepul1 = Lookup(pul1 , Kode)

    Shiftout Data1 , Clock1 , Kodesat1 , 1
    Shiftout Data1 , Clock1 , Kodepul1 , 1

    Waitms 200 Set Oe1
    Return


    Sub program tersebut digunakan untuk menampilkan data data pada tabel lookup (yang berisi data nilai 0 sampai 9) ke seven segment melalui shift register. berikut merupakan tabel lookup nya:

    Kode:
    Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90

    Sub program trafic

    Trafic1:

    'lampu

    If A1 = 0 And B1 = 0 Then

    Merah1 = 0

    Kuning1 = 0
    Hijau1 = 1

    End If

    If A1 = 0 And B1 = 1 Then
    Merah1 = 1
    Kuning1 = 0

    Hijau1 = 0

    End If


    If A1 = 1 And B1 = 0 Then

    Merah1 = 0

    Kuning1 = 1

    Hijau1 = 0
    End If


    'counter


    If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 0 And Flagkuning1 = 0 Then

    Sat1 = 3
    Pul1 = 0

    Flaghijau1 = 1
    A1 = 1

    B1 = 0

    End If

    If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 1 And Flagkuning1 = 0 Then

    Sat1 = 6
    Pul1 = 3

    Flagkuning1 = 1

    A1 = 0
    B1 = 1

    End If

    If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 1 And Flagkuning1 = 1 Then
    A1 = 0

    B1 = 0

    Flaghijau1 = 0
    Flagkuning1 = 0

    End If


    If Sat1 = 0 And Pul1 = 3 Then

    Decr Pul1

    Sat1 = 10
    End If


    If Sat1 = 0 And Pul1 = 2 Then
    Decr Pul1

    Sat1 = 10
    End If


    If Sat1 = 0 And Pul1 = 1 Then

    Decr Pul1

    Sat1 = 10
    End If


    Return

    Sub program ini mempunyai 2 fungsi yaitu: Untuk menyalakan lampu merah, hijau dan kuning, dan untuk mengatur counter down (dengan perintah if...then) supaya bisa mencacah sesuai dengan angka angka pada timeline yang telah ditentukan.
    Untuk lebih jelas nya program bisa didownload disini.

    download:
    simulator klik disini
    program klik disini

    wasalam

    Sabtu, 10 Juli 2010

    Mengenal dot matrix 7x5

    Dot matrix adalah titik titik yang membentuk sebuah matrix dimana titik titik tersebut adalah led, Jadi untuk membentuk sebuah dot matrix 7x5 dibutuhkan 35 buah led. Inilah bentuk fisik dari dot matrix disebut sebelumnya.












    Dot matrix biasanya digunakan untu membuat running teks atau untuk membuat counter atau pencacah pada bangjo atau traffic light. Biasanya dot matrix yang digunakan untuk membuat alat2 tersebut digunakan lebih dari satu dot matrix. berikut merupakan scematic dari susunan led-nya
























    Untuk menyalakan dot matrix ini dengan cara menyalakan satu per satu pada setiap kolomnya atau lebih keren disebut dengan metode scanning. Supaya karakter yang ditampilkan pada dot matrix dapat terlihat utuh maka proses scanning ini harus berlangsung dengan sangat cepat.

    Aplikasi

    Dalam aplikasi ini hanya menggunakan satu buah dot matrix saja (maklum baru belajar). Rangkaiannya seperti dibawah ini.
















    Kemudian program buat ATMega8 sebagai ini dibawah berikut.

    $regfile = "m8def.dat"
    $crystal = 8000000

    Config Portc = Output
    Config Portd = Output

    dress Alias Portc
    Data_ Alias Portd

    Dim Lima As Byte
    Dim Tujuh As Byte
    Dim N_lima As Byte
    Dim N_tujuh As Byte
    Dim A As Byte
    Dim B As Byte
    Dim C As Byte
    Dim D As Byte
    Dim E As Byte
    Dim F As Byte
    Dim G As Byte
    Dim Digit As Byte

    N_lima = 0
    N_tujuh = 0


    Do


    C = 33
    For E = 0 To 33

    For B = 0 To 4

    For A = 0 To 4

    Lima = Lookup(a , Alamat)
    Adress = Lima

    D = A + C
    Tujuh = Lookup(d , Wahyu)
    Data_ = Tujuh
    Waitms 1

    Next
    Waitms 1


    Next
    Decr C

    Next





    Loop


    Alamat:
    Data &B111101
    Data &B111011
    Data &B110111
    Data &B101111
    Data &B011111

    Wahyu:
    'u
    Data &B00000000
    Data &B00000000
    Data &B00000000
    Data &B00000000
    Data &B01111110
    Data &B00000001
    Data &B00000001
    Data &B00000001
    Data &B01111110
    Data &B00000000
    'y
    Data &B01110000
    Data &B00001000
    Data &B00001111
    Data &B00001000
    Data &B01110000
    Data &B00000000
    'h
    Data &B01111111
    Data &B00001000
    Data &B00001000
    Data &B00001000
    Data &B01111111
    Data &B00000000
    'a
    Data &B00111111
    Data &B01001000
    Data &B01001000
    Data &B01001000
    Data &B00111111
    Data &B00000000
    'w
    Data &B01111110
    Data &B00000001
    Data &B01111111
    Data &B00000001
    Data &B01111110
    Data &B00000000
    Data &B00000000
    Data &B00000000
    Data &B00000000

    Program tersebut akan membuat dot matrix menampilkan "nama saya" sekali kali nebeng, secara geser ke kiri. Dalam program tersebut proses scanning terjadi pada potongan program

    For A = 0 To 4

    Lima = Lookup(a , Alamat)
    Adress = Lima

    D = A + C
    Tujuh = Lookup(d , Wahyu)
    Data_ = Tujuh
    Waitms 1

    Next

    Pada potogan program tersebut terdapat rumus D = A + C, rumus ini digunakan untuk menggeser karakter yang ditampilkan oleh dot matrix sebanyak satu kali kearah kiri. pada potongan program tersebut proses scanning hanya untuk 5 kolom saja, jika proses ini hanya diulangi sekali saja maka karakter yang ditampilkan tidak akan terlihat karena terlalu cepat, oleh karena itu proses ini juga diulang ulang sebanyak 5 kali supaya tampilan dapat dilihat dengan jelas, sehingga program menjadi

    For B = 0 To 4

    For A = 0 To 4

    Lima = Lookup(a , Alamat)
    Adress = Lima

    D = A + C
    Tujuh = Lookup(d , Wahyu)
    Data_ = Tujuh
    Waitms 1

    Next
    Waitms 1

    Next

    kemudian ditambah lagi dengan satu looping for....next yang digunakan untuk menggeser karakter yaitu.

    C = 33
    For E = 0 To 33
    .
    .
    .
    .
    .
    Decr C
    Next

    nilai awal variabel c digunakan untuk menentukan jumlah perulangannya. trust me it work ,semoga bermanfaat.

    wasallam



    Senin, 28 Juni 2010

    Aplikasi LCD ATMega16 dengan CodeVisionAVR

    CodeVisionAVR atau sering disingkat menjadi CVAVR merupakan salah satu bahasa pemrograman mikrokontroler yang berbasis bahasa C. CVAVR ini menawarkan beberapa kemudahan bagi para penggunanya salah satunya yaitu mengakses fungsi LCD 16*2 karakter. Pertama ketika membuka CVAVR akan tertampil jendela seperti ini:


    pilih port mikrokontroler yang digunakan untuk interface dengan LCD (disesuaikan dengan hardware kita)

    setelah itu klik file => generate, save and exit
    simpan deh tu semua file dengan nama suka suka kita.

    maka pada jendela utama akan tampil listing program yang panjang. Sebenarnya inti programnya hanya sedikit, seperti contoh program yang saya buat.




















    Supaya program dapat melakukan waktu tunda atau delay, jangan lupa mencantumkan library delay.h dengan sintak

    include

    kemudian setelah itu program di-build dengan menekan shift+f9 atau klik project => build. Setelah itu download program file *hex-nya ke mikrokontroler, jadi deh.

    wasalam






    Kamis, 24 Juni 2010

    Mengukur suhu dengan LM 35



    Lm 35 adalah salah satu sensor suhu yang mudah didapatkan dan cukup murah (11 Rb). Sensor yang saya gunakan berbentuk seperti ini:



    sensor jenis ini memiliki keluaran langsung kedalam bentuk tegangan. menurut data sheet Sensor ini dapat mendeteksi suhu -55 c sampai 150 c. Sensor ini memiliki skala keluaran sebesar 10mV/C,

    Pada suhu +150 C outputnya +1500mV
    Pada suhu +25 C outputnya +250mV
    Pada suhu -55 C outputnya -550mV

    Untuk membuat termometer digital menggunakan lm35 ini rangkaiannya adalah sebagai berikut.

    Hal yang terpenting dalam proses pembacaan data dari sensor adalah kalibrasi. Karena (red-menurut datasheet) lm35 sudah terkalibrasi dalam celcius maka, untuk mendapatkan suhu tinggal dihitung saja tegangan outputnya dengan pin adc. Dalam program ditulis dengan sintak

    Config Adc = Single , Prescaler = Auto , Reference = Avcc ; konfigurasi ADC
    Start Adc ;mulai ADC


    Dataadc = Getadc(0) ; simpan data adc
    Suhu = Dataadc / 1023 ;
    Suhu = Suhu * 5 ;membaca tegangan dari Lm35
    Suhu = Suhu * 100 ;konvert menjadi suhu
    Outsuhu = Fusing(suhu , "#.##") :dua angka belakang koma

    maksud sintak diatas adalah membuat rumus untuk mencari tegangan output dari Lm35:

    tegangan lm35 = (dataadc /1023(skala ADC ATMEGA 16))*5 volt (tegangan referensi)

    kemudian tegangan output dari hasil perhitungan tesebut diubah menjadi tegangan, ingat skala output lm 35 adalah 10mV/C jadi untuk mengubah tegangan output menjadi suhu adalah:

    suhu = tegangan lm35 / 10mV ======> suhu = tegangan lm35 *100

    kemudian untuk mematasi angka dibelakang koma menggunakan sintak fusing

    Outsuhu = Fusing(suhu , "#.##")

    Berikut sintak lengkap programnya

    setelah itu donlot program ke rangkaian, jadi deh termometer digital, trust me it work....

    wasalam






    Senin, 21 Juni 2010

    aplikasi realtime atmega16 + ds1307

    pada post sebelumnya link hanya dibuat aplikasi ds1307 +atmega16 hanya menampilkan jam saja sedangkan mengaturnya dengan menggunakan program, kemudian saya mencoba menggunakan push button untuk mengatur atau mengeset waktunya dan alhamdulillah berhasil (hehehehe).
    Sedikit me refresh kembali ingatan aku sendiri, rangkaian dari ds1307 adalah sebagai berikut.



















    kemudian pada pin sda dihubungkan ke pin sda minimum sistem begitu juga dengan scl-nya. Apato sda sama scl tuh? SDA adalah sinyal data sedangkan SCl adalah sinyal clock, kedua pin ini adalah pin yang digunakan mikrokontroler untuk komunikasi via I2C (Inter IC) "red-baru itu yang saya tahu tentang i2c" . Berikut merupakan rangkaian dari minimum sistem Atmega16nya
























    klik gambarnya kalo mau diperbesar. Nah setelah ntu dihubungkan rangkaian modul RTC dan Rangkaian Minimum sistemnya. Kemudian program yang digunakan adalah menggunakan bahasa pemrograman Bascom AVR ver 1.11.9.5. berikut potongan programnya.

    $regfile = "m16def.dat"
    $crystal = 12000000
    $lib "mcsbyte.lbx"
    $lib "ds1307clock.lib"

    melakukan inisialisasi dan menggambil librari ds1307clock yang terdapat peda bascom AVR.

    Config Sda = Portc.1
    Config Scl = Portc.0

    konfigurasi I2C seperti diatas, gampangkan

    Const Ds1307w = &HD0
    Const Ds1307r = &HD1

    Mendeklarasikan konstanta yang digunakan untuk melakukan operasi menulis dan membaca I2c dai ds1307.

    Waktu:
    I2cstart
    I2cwbyte Ds1307w ; menulis data ke ds1307
    I2cwbyte 0 ; mulai dari byte ke 0

    I2cstart
    I2cwbyte Ds1307r ;membaca data ke ds1307
    I2crbyte Det , Ack ;membaca data detik dimasukkan divariabel det
    I2crbyte Men , Ack ;membaca data menit dimasukkan divariabel men
    I2crbyte Jam , Nack ;membaca data jam dimasukkan divariabel jam
    I2cstop

    Det = Makedec(det) ; konversi dari BCD ke decimal
    Men = Makedec(men)
    Jam = Makedec(jam)
    Return

    Perintah diatas adalah untuk membaca data data dari IC ds1307 nya via I2c. Kalo pengen tahu arti setiap sintaknya. cari di helpnya Bascom AVR.

    Aturwaktu:
    I2cstart
    I2cwbyte Ds1307w ; menulis data ke ds1307
    I2cwbyte 0
    I2cwbyte Ndet ;memasukkan nilai variabel Ndet ke byte 1(detik)
    I2cwbyte Nmen ;memasukkan nilai variabel Nmen ke byte 2(menit)
    I2cwbyte Njam ;memasukkan nilai variabel Njam ke byte 3(jam)
    I2cstop ;stop I2c
    Return

    perintah diatas digunakan untuk memasukkan/mengeset parameter waktu seperti detik, menit dan jam. Kemudian semua parameter (jam,menit,detik) ditampilkan di LCD dengan perintah berikut:

    Main:
    Cls
    Do
    Locate 1 , 1
    Lcd "time=" ; Jam ; ":" ; Men ; ":" ; Det ; " "
    Call Waktu
    Loop

    setelah itu donlot program ke mikrokontroler, jadi deh jam digitalnya hehehehe,, trust me its work!

    bagi yang mau donload:

    wasalam.







    Minggu, 20 Juni 2010

    Antarmuka RTC ds1307 dan ATMEGA16

    IC DS1307 adalah salah satu IC RTC (realtime clock) yang saya ketahui. Karena saya punya satu dirumah, (iseng -iseng dari pada nganggur) saya gabung sama rangkaian atmega16 maka jadilah rangkaian RTC. Berikut bentuk fisik IC RTC DS1307
















    Waktu digunakan IC rtc ini perlu menggunakan 2 macam tegangan yaitu 3V dan 5v. IC ini juga ditambah dengan komponen 2 lain seperti berikut:
    • crystal 32.768kHz
    • battery 3V
    • Resistor 1K
    berikut rangkaian RTC DS1307 (Modul RTC)


















    kemudian rangkaian diatas digabung sama minimum sistem + LCD 16*2. Komunikasi antara rangkaian RTC dengan mikrokontroler AVR adalah melalui jalur I2C yaitu SDA dan SCL.

















    Kemudian di mikronya di donlot pake program bascom AVR berikut


    sementara ini sistem hanya bisa menampilkan waktu dengan mulai pewaktuan seperti pada program, untuk bisa mengeset waktunya mungkin posting selanjutnya hehehe :), maklum baru belajar. mohon koreksi kalo ada yang salah.

    wasalam





    Minggu, 13 Juni 2010

    Mengenal jenis jenis micropon


    Mikrofon adalah salah satu jenis transduser. Mikropon bekerja
    dengan mengkonversi getaran di udara menjadi variasi-variasi yang sesuai pada arus listrik. Berikut merupakan jenis-jenis mikropon tersebut:

    Microfon Dinamic















    mikrofon Dinamic ini berisi membran plastik atau diafragma. Sebuah kumparan logam di dalam, terhubung ke diaphram di satu ujung dan sebuah magnet di sisi yang lain Ketika bergerak diaphram dalam respon terhadap getaran udara kumparan bergerak di magnet sehingga menciptakan sinyal listrik yang masih lemah. Sebelum di olah menjadi data biasanya sinyal diperkuat dulu oleh preamp atau Opamp.

    karakteristik
    mikrofon dinamis mempunyai respon frekuensi yang sangat baik dan tidak perlu didukung secara internal.

    Condenser


















    Mikrofon kondensor dibangun dengan sepasang pelat logam yang bergerak lebih dekat atau lebih jauh terpisah sebagai respons terhadap getaran udara. Satu piring kaku terhubung ke Gnd, lempeng bergerak lainnya adalah fleksibel dan bermuatan positif oleh tegangan eksternal.

    karakteristik :mikrofon kondenser yang baik untuk suara yang jernih dan dapat digunakan untuk rekaman kualitas tinggi.

    Micropon elektret













    ikrofon Elektret adalah jenis khusus mikrofon kapasitor yang telah memiliki sumber muatan tersendiri sehingga tidak membutuhkan pencatu daya dari luar. Sumber muatan berasal dari suatu alat penyimpan muatan yang terbuat dari bahan teflon. Bahan teflon tersebut diproses sedemikian rupa sehingga mampu menangkap muatan-muatan tetap dalam jumlah besar, kemudian mempertahankannya untuk waktu yang tak terbatas. Lapisan tipis teflon dilekatkan pada pelat logam statis dan mengandung muatan-muatan negatif dalam jumlah besar. Muatan-muatan tersebut terperangkap pada satu sisi yang kemudian menimbulkan medan listrik pada celah yang berbentuk kapasitor. Getaran suara yang ada mengubah tekanan udara di dalamnya sehingga membuat jarak antara diafragma dan pelat logam statis juga berubah-ubah. Akibatnya, nilai kapasitansi berubah dan tegangan terminal mikrofon pun juga berubah.


    Microfon Piezoelectric











    Mikrofon Piezoelektris adalah mikrofon yang terbuat dari bahan kristal aktif. Bahan ini dapat menimbulkan tegangan sendiri saat menangkap adanya getaran dari luar jadi tidak membutuhkan pencatu daya. Cara kerjanya ialah kristal dipotong membentuk suatu irisan pada bidang-bidang tertentu, kemudian dilekatkan pada elektroda atau lempengan sehingga akan menunjukkan sifat-sifat piezoelektris. Kristal akan berubah bentuk bila mendapatkan suatu tekanan sehingga akan terjadi perpindahan muatan sesaat di dalam susunan kristal tersebut. Perpindahan muatan mengakibatkan adanya perbedaan potensial diantara kedua pelat-pelat lempengan. Uniknya, kristal tersebut dapat langsung menerima getaran suara tanpa harus dibentuk menjadi sebuah diafragma, sehingga respon frekuensi yang diterima akan lebih baik dari mikrofon lainnya walaupun tingkat keluarannya jauh lebih rendah, yaitu kurang dari 1 mV.


    source : http://www.flashicon.net/ & http://id.wikipedia.org/wiki/Mikrofon

    wasalam

    Mengenal instruksi I/O assembler menggunakan AVR studio 4

    Port I/O pada mikrokontroler ATmeg16 dapat difungsikan menjadi dua macam yaitu input dan output. Untuk mengatur fungsi I/O tersebut dapat dipilih dengan mengatur fungsi pada register DDR dan register Port, selengkapnya lihat tabel dibawah ini.


    DDR=0

    DDR=1

    Port=0

    Iutput low

    Output low

    Port=1

    Iutput high

    Output high


    Intinya adalah register DDR digunakan untuk mengatur sebagai input atau output, sedangkan register port digunakan untuk mengatur outputnya high atau low.
    Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu diberikan penguatan tambahan atau dapat juga dengan konfigurasi port sebagai shinking current.

    Berikut merupakan instruksi I/O:
    • In:Membaca data I/O port atau internal pheriperal register (Timer, UART,dsb) kedalam register. contoh = in r16, pina
    • Out: Menulis datasebuah register ke port I/O atau internal pheriperal register. Contoh = out ddra, r16
    • LDI(load immediate) : Untuk menulis konstanta register sebelum konstanta tersebut itu ditulis ke Port I/O; Contoh = ldi r16,0b00001111 ;bentuk biner
    out portd, r16 ;menulis data pada R16

    • SBI (set bit set): Untuk membuat logika high pada satu bit I/O register. Contoh= sbi portb,7 ;set bit ke-7 pada portb
    • CBI (clear bit set): Untuk membuat logika low pada satu bit I/O register. Contoh = cbi portc,5 ;clear bit ke-5 pada portc
    • SBIC (Skip if bit I/O is cleared): Untuk mengecek apakah bit I/O register clear. Jika Ya skip satu perintah dibawahnya. Contoh= sbic porta,3 ;Skip perintah ini jika porta.3 logika 0
    • SBIS (Skip if bit I/O is Set): Untuk mengecek apakah bit I/O register set. Jika Ya skip satu perintah dibawahnya. Contoh= sbis porta,3 ;Skip perintah ini jika porta.3 logika 1
    wasalam