Tutorial Membuat Program C untuk microcontroller AVR dengan AVR Studio

AVR Studio yang digunakan  pada artikel disini  masih versi 4,
 pada saat tulisan ini dibuat  AVR studio versi 5  sudah dirilis.
Untuk membuat program AVR dengan AVR Studio 4 anda memerlukan 2 aplikasi:
AVR Studio 4 dan  WinAVR
  1. Download AVR Studio  di:  http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 setelah didownload install aplikasi tsb.
  2. Download WinAVR di :  http://winavr.sourceforge.net/     setelah didownload install file tsb.
Setelah kedua File tsb anda install anda sudah bisa membuat program melalui AVR Studio baik asembler maupun bahasa C .
Memulai Membuat Program C  dgn AVR Studio 4:
tahapannya antara lain:
  • Membuat Project baru
  • Mengkompile code C ke file  *.HEX
  • Men Debug code program C  dgn simulator
  • Memasukan file HEX ke  Microcontroller.
  1. Membuat Project AVR Studio 4:
Jika anda sudah menginstall dari menu klik Atmel AVR tools  -> AVR Studio 4
akan muncul menu sbb:
avr studio 1
project baru avr studio
lalu klik -> New Project
akan muncul menu sbb:
memberi nama project baru
Memberi Nama Project Baru
klik AVR GCC dan beri nama untuk projeck baru  lalu klik next
maka akan muncul menu sbb:
memilih type AVR
memilih type microcontroller AVR
klik AVR Simulator  dan Atmega8535   , lalu klik Finish. akan muncul menu sbb:

copy code program C berikut ke kotak code program

#include "avr/io.h" // avr header file untuk IO ports 

int main()

{
unsigned char i; // temporary variable
DDRA = 0x00;     // set PORTA sebagai  input
DDRB = 0xFF;     // set PORTB sebagai output
PORTB = 0x00;    // Port B di beri nilai awal 0 

i = PINA;        // baca PORTA.,simpan nilainya di i  

PORTB = i;       // kirim nilai i ke  PORTB.          

}
 
2. Mengkompile kode C ke file HEX
klik menu Build->Build All
build program
Compiling code program C ke file HEX
sampai proses ini kita berhasil membuat file HEX .  File tsb yang akan kita masukan kedalam microcontroller.
3. Memeriksa Program ( Debugging) dengan Simulator
Klik Debug->Start Debugging,
lalu tekan  F11 .
debugging
Debugging
Untuk setiap penekanan  F11, tiap baris code  akan diperiksa dan perubahan nilai register pada code program akan ditampilkan pada visaualisasi sebelah kiri spt tampak pada gambar diatas.
4. Memasukan  file *.hex ke  chip  Microcontroller
sebelumnya anda hubungkan alat dowloader /programmer ke PC anda.

cek nomor port pada device manager
pada contoh ini saya menggunakan AVR USB ISP Downloader DT-HQ buatan inovative electronic surabaya.
buka menu tools->program AVR->connect

menu konek ke downloader/programmer
maka akan muncul:

pilih Com2 sesuaikan spt no port untuk ISP pada device manager
Menu dowloader

menu memasukan *.hex ke Chip Microcontroller

sumber :http://pccontrol.wordpress.com

Program lampu lalu lintas 4 jalur (Jl.majapahit,mataram.NTB)

   hello para sobat janu tronik,kemarin kita sudah membahas lampu lalu lintas 3 jalur di seruni sekarang janu akan memberikan program lampu lalu lintas untuk 4 jalur seperti di Jl.majapahit mataram NTB,tidak perlu panjang lebar langsung aja.
    Gbr.lampu lalu lintas 4 jalur :

Tabel kebenarannya :
 programnya sbb :
$regfile = "m8535.dat"
$crystal = 12000000

Config Porta = Output
Config Portb = Output

Do
Porta = &H0C
Portb = &H09
Waitms 400
Porta = &H0A
Portb = &H09
Waitms 200
Porta = &H21
Portb = &H09
Waitms 400
Porta = &H11
Portb = &H09
Waitms 200
Porta = &H09
Portb = &H21
Waitms 400
Porta = &H09
Portb = &H11
Waitms 200
Porta = &H09
Portb = &H0C
Waitms 400
Porta = &H09
Portb = &H0A
Waitms 200

Loop
End
                                     "end program"
 ket : tulisan merah adalah programnya
sekian yg dapat janu sampaikan kurang lebihnya mohon maaf........

sumber : JANUARMAN MAULANA PUTRA

BASCOM AVR

BASCOM, berdiri untuk compiler BASIC, yang dikembangkan oleh Mark Alberts adalah keluarga cross-compiler yang dapat menerjemahkan BASIC bersama dengan beberapa ekstensi proprietary ke dalam bahasa mesin eksekusi untuk beberapa arsitektur prosesor untuk embedded system. Untuk mendukung arsitektur mikrokontroler AVR dan keluarga MCS-51. The cross-compiler berjalan di bawah Microsoft Windows dan menawarkan bersama dengan fungsi terjemahan juga lingkungan pengembangan dan emulator dari sistem sasaran yang memungkinkan pengujian di bawah sistem pembangunan. Interface lebih lanjut tersedia, yang memungkinkan untuk mengirimkan kode yang dihasilkan dalam sistem target. The cross-compiler hanya tersedia secara komersial. Sebuah versi demo yang tersedia untuk bebas dari kendala sehingga kode yang dihasilkan hanya dapat memiliki jangka waktu maksimum empat kilobyte. Jika tidak, demo ini berfungsi penuh, sehingga Bascom versi demo untuk beberapa kecil Atmel mikrokontroler (misalnya ATtiny) demikian cukup karena mereka hanya memiliki memori program kecil.
BASCOM mendukung banyak ekstensi proprietary yang memenuhi persyaratan tertentu dalam sistem embedded. Perbandingan dengan varian BASIC sederhana secara signifikan diperpanjang set tipe data dasar termasuk bit tunggal yang juga diwakili seperti itu, bilangan bulat 1, 2, atau 4 byte, baik dengan dan tanpa tanda-tanda dan angka floating point dengan 32 atau 64 bit sesuai dengan standar IEEE 754 . Deklarasi array dengan tipe data dasar adalah mungkin. Sebuah varian khusus bukti yang akan dimensioned array juga dalam deklarasi string yang implisit diakhiri oleh byte dengan nilai 0.
Karena target arsitektur floating-point tidak mendukung diri mereka sendiri, hal ini dilakukan oleh entitas milik BASCOM perpustakaan, yang juga mencakup fungsi trigonometri tertentu. Perpustakaan juga mencakup lebih banyak ruang untuk arsitektur AVR penawaran untuk mendukung TCP / IP socket dan output ke layar kristal cair.
Selanjutnya, embedding kode assembly adalah mungkin dalam teks program BASIC. Hal ini dilakukan baik dengan menggunakan nama perintah yang sesuai dari bahasa mesin, asalkan mereka tidak bertentangan dengan kata-kata yang sudah disediakan, atau dengan embedding petunjuk assembler kata kunci khusus. Untuk memiliki akses langsung ke variabel dasar dalam konteks pengajaran bahasa mesin adalah ketentuan bahwa banyak alamat dari variabel di register.

 berikut toturial pembuatan program pd bascom AVR:

sember : wikipedia.org
 

Program lampu lalu lintas 3 jalur ( jl.seruni,mataram.NTB)

  sekarang janu akan posting tentang program lampu lalu lintas,soalnya kemarin janu praktek cara program lampu lalu lintas 3 jalur.......menggunakan program BASKOM AVR karena bahasanya yg mudah,dari bada janu banyak cerita mendingan langsung aja ke programnya :

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

Config Porta = Output
Config Portc = Output

Do = untuk menjalankan
Porta = &H0C
Portc = &H01
Waitms 400 = waktu lampu merah dan hijau
Porta = &H0A
Portc = &H01
Waitms 200 = waktu lampu kuning
Porta = &H21
Portc = &H01
Waitms 400
Porta = &H11
Portc = &H01
Waitms 200
Porta = &H09
Portc = &H04
Waitms 400
Porta = &H09
Portc = &H02
Waitms 200
Loop = mengulang perintah DO

End                                                         'end program

ket : tulisan merah adlh programnya.

berikut tabel kebenaranny

ket : -M1,M2,M3 = lampu merah
        -K1,K2,K3 = lampu kuning
        -H1,H2,H3 = lampu hijau

gambar lalu lintasnya di Jl.seruni,mataram.NTB
  
Sekian postingan sy semoga bermanfaat........

sumber : januarman maulana putra

Project Input Output Led dengan Switch Berbasis ATmega8535

   Lama dah gak nongol,, salam blogger kali aku mau shared tentang Microprocessor,, Kamu tau Atmega8535 ??? nah itu lah kegiatan yang dibahas kali ini..
Saya mau share sebuah Porject yang aku buat yaitu Project Led Berjalan dengan Switch yang berbasis Microprocessor Atmega8535 tadi. Langkah pembuatannya cukup simpel ja kok. Aku tunjukan layout rangkaian di bawah ini..,
Kalau pengen file yang udah jadi saya juga punya tinggal download layout design :


Dalam pembuatan Project ini saya menggunakan Software yang diberi oleh kakak kelas di Kampus,, Softwarenya berupa “CodeVisionAVR” dan “Proteus 7 Pro”. Project ini sengaja aku buat,, karena iseng-iseng pengen pelajari lebih dalam tentang microprocessor karena aku suka dengan robotik. Terus sekalian lah kalau ada yang pengen belajar atau mau sharing ke aku biar lebih bisa ^_^ hehe,,,
Baiklah kita mulai langkah pembuatannya.
Pertama aku buka Project nyala Led dengan switch berbasis mircoprocessor ATmega8535 nya yang dah dibuat dengan Proteus. Nyala led didasarkan berdasarkan switch yang kita tekan. Jika :
  • Switch 1 ditekan led nyalanya berjalan dari kanan ke kiri.
  • Switch 2 ditekan led nyalanya berjalan dari kiri ke kanan.
  • Switch 3 ditekan led nyalanya berkedip semua.
  • Switch 4 ditekan led nyalanya berkedip bergantian.
  • Switch 5, 6, 7, 8 kosong bisa diisi sendiri terserah kalian .... hehehe ^_^
Baru kemudian buka CodeVision AVR.. dapat kalian liat tampilan Code Vision AVR dibawah ini

buat new project.. File > New > Project.




Confirm “Yes”.











Pilih AVR Chip Type “AT90,Atmega,FPSLIC”.

Maka akan terbuka Code Wizard AVR ... seperti di bawah ini

Ubah Tab “Chip” dengan nama “Atmega8535”, dan Clock 12,000000 MHz. Clock merupakan sebuah crystal yang digunakan..dalam rangkaian kita.. kemudian kita buka tab Ports.











Buat PORT A sebagai Out karena keluaran Led dari Poteus kita tadi PORTA dan PORTB merupakan inputan Switch.. bila sudah Generate , Save and Exit.

Dalam save kita dianjurkan untuk Save sebanyak 3 kali. Beri nama project yang sama setiap kali kita Membuat Project.. bila sudah kalian akan mendapatkan sebuah kode-kode berupa Program C.. dimana kita udah tau tengan program C kan....



Di atas merupakan kode Bahasa C yang telah didapatkan tadi.. kode di atas belum selesai kita harus menambahkan sebuah Program Kerja pada Atmega8535 tadi untuk keperluan kita yaitu Membuat Led nyala dengan menekan Switch yang ada.. bila switch 1 ditekan Led nyala dari kanan ke kiri, switch 2 ditekan Led nyala dari kiri ke kanan, switch 3 ditekan Led nyala berkedip-kedip dan seterusnya.. kode yang kita tambah yaitu sebagai berikut :

Tambahkan kode #include <delay.h> dibawah kode #include <mega8535.h>
#include <mega8535.h>
#include <delay.h>
Lalu cari kode 
while (1)
      {
      // Place your code here
      }
Letak dari kode diatas paling bawah sendiri.. masukkan sebuah kode “IF else” bahasa C pada kurung kurawal,, bahasa C yang saya buat hanya sederhana berupa perintah dari Input dan Output yang telah kita buat tadi diatas.

if (PINB.0==0)

       {

        PORTA=0b00001110;

        delay_ms(5);

        PORTA=0b00001100;

        delay_ms(5);

        PORTA=0b00001001;

        delay_ms(5); 

        PORTA=0b00000011;

        delay_ms(5); 

        PORTA=0b00010111;

        delay_ms(5); 

        PORTA=0b00111111;

        delay_ms(5); 

        PORTA=0b01101111;

        delay_ms(5);

        PORTA=0b11001111;

        delay_ms(5);  

        PORTA=0b10001111;

        delay_ms(5);

       }

       else if (PINB.1==0)

        {

         PORTA=0b10001111;

         delay_ms(5);

         PORTA=0b11001111;

         delay_ms(5);

         PORTA=0b01101111;

         delay_ms(5);

         PORTA=0b00111111;

         delay_ms(5);

         PORTA=0b00010111;

         delay_ms(5);

         PORTA=0b00000011;

         delay_ms(5);

         PORTA=0b00001001;

         delay_ms(5);

         PORTA=0b00001100;

         delay_ms(5);

         PORTA=0b00001110;

         delay_ms(5);

        }

        else if (PINB.2==0)

         {

          PORTA=0b00001111;

          delay_ms(15);

          PORTA=0b11110000;

          delay_ms(15);

         }

         else if (PINB.3==0)

          {

           PORTA=0xFF;

           delay_ms(15);

           PORTA=0x00;

           delay_ms(15);

          }

          else

           {

            PORTA=0x0F;

           }
Setelah itu COMPILER dengan menekan tombol pada Keyboard yaitu “SHIFT + F9” jangan lupa dalam kita membuat sebuah project kalau udah selesai harus di compiler akar program yang kita buat bisa diakses jika tidak maka program kita tidak berjalan.. setelah selesai langkah berikutnya merupakan langkah akhir yang jadi penentu Project kita jadi atau gagal.. kita buka Proteus kita tadi yang telah dibuat..

Pada blog IC microprocessor Atmega8535 kita “Klik Doble” ,,
Pada Program File : ...... isi file yang udah kita buat dan disimpan dengan AVR tadi pada folder Exe... file nya berupa “.hex” lalu setelah itu OK..
kemudian jalankan apakah program yang dibuat tadi berjalan dengan baik atau tidak...dengan menekan tombol Play pada Project Proteus..
Saya udah persiapkan Project Jadi yang saya buat bila pengen mengetahuinya ,, berupa file download. Jika ingin bisa download ja link di bawah ini




Download :

Itu tadi merupakan langkah-langkah yang kita lakukan untuk membuat Project Led Nyala dengan menekan Switch yang ada. Banyak Project-project lainnya yang pastinya mengasikkan seperti Trafict Led, Seven Segment, dan masih banyak lagi.. 
 
sumber : http://lbukhori.blogspot.com/2011/10/project-input-output-led-dengan-switch.html

Membuat program LED berjalan ( RUNNING LED )


Kita akan membuat led berjalan 2 kali ke kiri dan dua kali ke kanan secara berulang, berikut program pada bascom avrnya:


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

Config Porta = Output

Tombol Alias Pina.0
Lampu Alias Portb

Porta = &B00000000
Dim X As Byte

Do
If Tombol = 1 Then
For X = 1 To 2
PortA = &B00000001
Waitms 100
PortA = &B00000010
Waitms 100
PortA = &B00000100
Waitms 100
PortA = &B00001000
Waitms 100
PortA = &B00010000
Waitms 100
PortA = &B00100000
Waitms 100
PortA = &B01000000
Waitms 100
PortA = &B10000000
Waitms 100
Next
For X = 1 To 2
PortA = &B10000000
Waitms 100
PortA = &B01000000
Waitms 100
PortA = &B00100000
Waitms 100
PortA = &B00010000
Waitms 100
PortA = &B00001000
Waitms 100
PortA = &B00000100
Waitms 100
PortA = &B00000010
Waitms 100
PortA = &B00000001
Waitms 100
loop
end                                            "end program" 

ket : tulisan merah adlh programnya


Pembahasan Program :

$regfile = "m32def.dat"  library yang menyatakan bahwa mikrokontroller yang kita pakai adalah atmega32,
$crystal = 8000000  meyatakan bahwa clock oscillator yang kita pakai sebesar 8Mhz,
Config Porta = Input pengkonfigurasian bahwa porta menjadi input
Config Portb = Output pengkonfigurasian bahwa porta menjadi output
Porta = &B00000000 menyatakan bahwa keadaan awal pada portb semuanya logic low(0)
Tombol Alias Pina.0 = inisialisasi bahwa tombol adalah dipina.0
Lampu Alias Portb = inisialisasi bahwa lampu adalah portb
Dim X As Byte = pendeklarasian bahwa variable X adalah tipe byte dimana rangenya adalah 0-255,
Do-loop = perintah perulangan,
If Tombol = 1 Then menyatakan jika tombol =1 /logic high maka
For X = 1 To 2 yang menyatakan perulangan 2 kali,
Lampu = &B00000001 ini bearti led paling kanan / led 1 hidup
Waitms 100        dengan delay 100 milisecond
Begitu seterusnya Selamat mencoba…!

Membuat Roket Air dari Botol Aqua Bekas

Foto anak SMP N 1 Gabus sedang  praktek roket air
Dalam pembelajaran IPA di perlukan praktek IPA agar pembelajaran IPA lebih menarik lagi. Salah satu praktek yang menarik bagi anak didikku adalah praktek hukum III yaitu konsep gaya aksi dan reaksi, dengan roket air, merkea sangat antusias untuk mempraktekkanya dan mencobanya, Jika tidak percaya silahkan mencobanya. Roket air yang bagus banyak, tapi mmebutuhkan biaya yang mahal untuk membuatnya, nah di sini ada tip  untuk membuat roket air agar lebih murah dan mudah bagi siswa-siswaku sekalian, walau kalian boleh dan lebih bagus jika mau membuat roket air yang seperti di internet  youtube ini (cara membuat roket air). Cara pembuatannya dan cara menggunakanya sebagi berikut ini!

Alat dan Bahan yang digunakan untuk membuat roket air sederhana .
1. botol minuman bekas berukuran besar,
2. kertas penutup, dan
3. karton untuk sirip roket.
4. sumbat,
5. bolpen
5. dop

Cara Pembuatan :
  1. Menyediakan botol aqua bekas dan dibuka tutupnya
  2. Membuat botol aqua tersbut menjadi berbentuk roket
  3. Membuat sumbat karet dengan bekas sendal yang tebal, jika tidak ada bisa bekas sendal di gabung dengan lem
  4. Memasukkan sumbat karet ke dalam ujung  bekas bolpoin yang sudah di buka isi dan bagian atas dan bawahnya
  5. Memasukan air kira-kira sepertiganya  ke dalam botol aqua yang sudah berbentuk roket
  6. Memasukkan sumbat karet yang sudah dihubungkan ke bolpoint karet ke dalam lubang aqua
Cara Penggunaan :


  1. Masukkan ujung bolpoin yang tidak ada sumbat karetnya dengan selang yang ada pada pompa
  2. Pegang ujung bolpen yang ada sumbatnya dipegang dengan kuat jangan sampai meluncur dulu sampai tekanan gas yang ada dalam roket cukup besar
  3. Pompa roketa ait, setelah kira-kira tekanan gasnya cukup kuat lepaskan roket air maka  rangkaian roket itu dan roket akan melaju ke atas 
Konsep IPA  yang digunakan :

Ketika roket  dipompa air pada roket  mendapatkan tekanan udara dari pompa ketika sumbat sudah tidak dapat menahan tekanan udara dalam roket  maka roket akan mengeluarkan gaya dorong  air dari bawah roket. Akibat gaya dorong roket ini maka roket akan meluncur ke atas. Hal ini sesuai dengan konsep hukum Newton III ”jika setiap benda di berikan gaya  aksi maka  benda tersebut memberikan gaya yang sama besar namun berlawanan arah
 
Jika kalian ingin membuat lebih bagus solahkan alain berkunjung ke Youtube, di sana juga banyak contoh-contoh roket air   :
 
 sumber : http://guru-ipa-pati.blogspot.com/2010/07/tugas-rumah.html