update terbaru haya di barliannet.com

Senin, 20 April 2015

tombol cerdas cermat barlianno bascom 8535

pada kesempatan hari ini saya akan mencoba membuat program untuk tombol cerdas cermat, degan menggunakan atmga 8535 dan program bascom.
cara kerja program

jika tombol di tekan maka seven segmen akan mengeluarkan angka sesuai dengan tombol yang di tekan, lampu led akan meyala sesuai degan tombol yang di tekan , dan buzer juga akan berbunyi,

jika tombol tidak di tekan seven segmen akan mati, lampu led akan meyala berjalan dari atas ke bawah buzer tidak berbunyi.
ini program nya :


'  barlianno pemahaman if then else
  
$regfile = "m8535.dat"
$crystal = 1000000
Buz
Alias Portd.4
Config Portc = Output                                       'dipasang seven segmen comon anoda
Config Portb = Output                                       'dipasang led
Config Porta = Input                                        'di pasang tombol
Ddrd.4 = 1                                                  'di pasang buzer
 
Portb = 0
Portc = 0
Porta = &HFF                                                'heksa ff=11111111
Do
If Pina = &B11111110 Then
   Buz
= 1                                                  'heksa f9=  1111 1001 akan muncul angka1
  
Portc = &HF9
  
Portb = &B00000001
  
Bitwait Pina.0 , Set
Elseif Pina = &B11111101 Then
   Buz
= 1                                                  'heksa a4=1010 0100 muncul anka 2
  
Portc = &HA4
  
Portb = &B00000011
  
Bitwait Pina.1 , Set
Elseif Pina = &B11111011 Then
   Buz
= 1
  
Portc = &HB0                                             'heksa b0=1011 0000 akanmuncul anka 3
  
Portb = &B00000111
  
Bitwait Pina.2 , Set
Elseif Pina = &B11110111 Then
   Buz
= 1
  
Portc = &H99                                             'heksa 99=10011001 muncul anka 4
  
Portb = &B00001111
  
Bitwait Pina.3 , Set
Elseif Pina = &B11101111 Then
   Buz
= 1
  
Portc = &H92                                             'heksa92=10010010 muncul angka 5
  
Portb = &B00011111
  
Bitwait Pina.4 , Set
Elseif Pina = &B11011111 Then
   Buz
= 1
  
Portc = &H82                                             'heksa82= 10000010 muncul angka 6
  
Portb = &B00111111
  
Bitwait Pina.5 , Set
Elseif Pina = &B10111111 Then
   Buz
= 1
  
Portc = &HF8                                             'heksaf8= 11111000 muncul angka 7
  
Portb = &B01111111
  
Bitwait Pina.6 , Set
Elseif Pina = &B01111111 Then
   Buz
= 1                                                  'heksa 80=10000000 muncul angka 8
  
Portc = &H80
  
Portb = &B11111111
  
Bitwait Pina.7 , Set
Else
   Buz
= 0                                                  'buzer tidak buyi
  
Portc = &HFF                                             'seven segmen mati
  
Portb = &B00000000                                       'led mati
   
Waitms 50
  
Portb = &B00000001                                       'led 1 yala
     
Waitms 100
  
Portb = &B00000010                                       'led 2 yala
    
Waitms 100
  
Portb = &B00000100                                       'led 3 yala
    
Waitms 100
  
Portb = &B00001000                                       'led 4 yala
  
Waitms 100
  
Portb = &B00010000                                       'led 5 yala
  
Waitms 100
  
Portb = &B00100000                                       'led 6 yala
  
Waitms 100
  
Portb = &B01000000                                       'led 7 yala
  
Waitms 100
  
Portb = &B10000000                                       'led 8 yala
  
Waitms 100
End If
Loop
End

cara jalannya program baskom
PORTA di seting input Porta = &HFF 

PORTB di seting output Portb = 0 karna   nantinya akan di pasang led yang katodaya ke groud
PORTC di seting output
PORTD di seting outputBuz Alias Portd.4  dan haya keluar di pin 4 saja  Ddrd.4 = 1


  pembacaan prgram jika
Do
If Pina = &B11111110 Then
   Buz
= 1                                                  'heksa f9=  1111 1001 akan muncul angka1
  
Portc = &HF9
  
Portb = &B00000001
  
Bitwait Pina.0 , Set
Elseif Pina = &B11111101 Then
   Buz
= 1                                                  'heksa a4=1010 0100 muncul anka 2
  
Portc = &HA4
  
Portb = &B00000011
  
Bitwait Pina.1 , Set


jika tombol ditekan  pina sama degan &B11111110 maka buyikan buzer,port c munculkan angka 1 dan led yala 1, jika tidak pina sama dengan &B11111101 maka buyikan buzer port c munculkan anka 2 dan led meyala 2 buah
danb seterusnya
proteusnya:

semoga bermanfaat telah di uji coba di lab barlianno, 

Selasa, 14 April 2015

keypad 4X4 dengan bascom atmga 8535

cara membuat keypad 4x4 pada atmga 8535 dengan program bascom
buat program di bascom seperti di bawah ini
====================================================


     'creatip barlianno
      
$regfile = "m8535.dat"
$crystal = 11059200

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcdbus = 4
Config Lcd = 16 * 2
Cursor Off

Config Kbd = Portd , Debounce = 20 , Delay = 5
Dim Keypad As Byte

Cls
Main
:
Do
Keypad
= Getkbd()
Locate 1 , 1
Lcd "swit barlianno"
Locate 2 , 1
Goto Label_swit
Loop

Label_swit
:
Select Case Keypad
Case 0 : Lcd "swit 0 ditekan"
Case 1 : Lcd "swit 1 ditekan"
Case 2 : Lcd "swit 2 ditekan"
Case 3 : Lcd "swit 3 ditekan"
Case 4 : Lcd "swit 4 ditekan"
Case 5 : Lcd "swit 5 ditekan"
Case 6 : Lcd "swit 6 ditekan"
Case 7 : Lcd "swit 7 ditekan"
Case 8 : Lcd "swit 8 ditekan"
Case 9 : Lcd "swit 9 ditekan"
Case 10 : Lcd "swit 10 ditekan"
Case 11 : Lcd "swit 11 ditekan"
Case 12 : Lcd "swit 12 ditekan"
Case 13 : Lcd "swit 13 ditekan"
Case 14 : Lcd "swit 14 ditekan"
Case 15 : Lcd "swit 15 ditekan"

End Select
Goto Main

============================================================

buat sekema di proteus


 penjelasan program
Config Kbd = Portd , Debounce = 20, Delay = 5
untuk mengkonfigurasi fungsi KBD pada portD, dan nilai debouncing sebesar 20 dengan tundaan sebesar 5 milisekon.
fungsi umum Confid KBD dalam BASCOM AVR sebagai berikut :
CONFIG KBD = PORTx , DEBOUNCE = value [, DELAY = value]
PORTx dimana letak port yang digunakan, untuk nilai debounce, default nya sebesar 20, untuk nilai maksimum nya 255,
 Delay, tundaan ini optional, bisa dipakai maupun tidak. parameter yang optional yang menyebabkan fungsi GETKBD() untuk menunggu waktu tertentu saat setelah keypad ditekan


Dim Keypad As Byte , mendeklarasikan variabel Keypad dengan tipe data BYTE.

Keypad = Getkbd() , berfungsi untuk scan keypad matrix dan mengembalikan nilai dari tombol yang ditekan.

Goto Label_swit , untuk melompat ke label tertentu, dalam hal ini melompat ke label Label_swit_tombol: , label Label_tombol
Select Case Keypad, adalah instruksi operasi bersyarat menggunakan SELECT..CASE, yang diakhiri dengan END SELECT .

Goto Main, lompat ke label MAIN



sebagian tulisan di ambil dari sumber http://goes-open.blogspot.com/2012/01/akses-keypad-matrix-4x4-dengan-bascom.html

telah di coba di lab barlianno

Sabtu, 11 April 2015

toturial mini bascom avr


 basom avr merupakan sebuah aplikasi compiler untuk mikrokontroler dengan bahasa basic. Dari bascom ini nanti akan didapatkan file .hex yang mana file itu digunakan untuk di-download-kan ke mikrokontroler yang bersangkutan, agar mikrokontroler itu dapat dijalankan atau dioperasikan.

Bahasa basic menurut saya mudah dipelajari dari pada bahasa c maupun assembly, hehe
Pada intinya cara menggunakan bascom avr ini, dengan membuka aplikasi bascom avr kemudian akan muncul jendela editor dari bascom avr, seperti gambar dibawah ini :


ide+bascom 






Bacom AVR

Nah, Bascom avr yang aku gunakan itu versi1.11.9.0, dai editor itu kemudian dituliskan program atau koding nya kemudian setelah selesai kita check syntax dan kemudian di-compiler, fungsi compiler digunakan untuk menghasilkan file .hex .obj .bin dan lain-lain.

compiler

Selanjutnya, tipe data di bascom AVR gimana ya???
tipe data nya seperti berikut :
tipedata
Variabel
Variabel digunakan untuk menyimpan data secara sementara, dimana aturan nya sbb :
1. bukan angka, harus dengan huruf
2. nama variabel tidak boleh sama dengan program
3. maksimum 32 karakter
4. Tanpa spasi
Untuk mendeklarasi sebuah variabel pada bascom digunakan perintah DIM, sebagai berikut :
Dim <nama_variabel> As <Tipe_data>

Konstanta
penulisan konstanta dalam bascom avr sbb:
Dim namaKonstanta As const nilaiKonstanta
atau
Const namaKonstanta = NilaiKonstanta

Penulisan Bilangan
Desimal ditulis kan seperti biasa, misal : 25
Biner diawali dengan &B , misal : &B11110000
Heksadesimal diawali &H, misal : &H9A

Perintah Alias
Perintah alias digunakan untuk membuat nama yang identik dengan hardware yang dibuat, misal:
button alias PORTC.1 
Sehingga pada portc.1 nama lainnya adalah button.

Penulisan port pada mikrokontroler dapat dengan portxx atau dengan pinxx, misal : portb.0 atau pinb.0

Array
Array merupakan sekumpulan variabel dengan nama dan tipe yang sama.
penulisannya sebagai berikut:
Dim namaArray(jumlah anggota) as typeData 
contoh :
Dim data(5) as byte

Operator
Operator digunakan untuk pengolahan data pemrograman.
1. Operator aritmatika
     +  untuk  operasi penjumlahan
     -  untuk  operasi pengurangan
     *  untuk  operasi perkalian
     /  untuk  operasi pembagian
     %  untuk  operasi sisa pembagian

2. Operator relasional
=     untuk operator samadengan
<>   untuk operator tidak samadengan
>     untuk operator lebih besar dari 
<     untuk operator lebih kecil dari
>=   untuk operator lebih besar atau sama dengan
<=   untuk operator lebih kecil atau sama dengan

3. Operator Logika
AND   untuk operasi AND
OR      untuk operasi OR
NOT   untuk operasi NOT
XOR   untuk operasiXOR

Operasi bersyarat

IF...THEN
instruksi akan dikerjakan jika memenuhi syarat--syarat atau kondisi tertentu. Cara penulisannya:
if <kondisi> then <perintah>
end if

atau

if <kondisi> then
<perintah1>
<perintah2>
end if

IF THEN ELSE
instruksi ini dikerjakan jika memenuhi syarat-syarat atau kondisi tertentu, jika tidak dipenuhi maka instruksi atau serangkaian instruksi lainnya lah yang akan dikerjakan.

if <kondisi> then
<perintah1>
else
<perintah2>
end if

SELECT CASE
digunakan untuk menangani pengujian kondisi yang jumlahnya cukup banyak.
Selct case <variabel>
case 1: <perintah 1>
case 2: <perintah 2>
end select

Pengulangan Operasi

FOR NEXT
digunakan untuk melaksanakan perintah secara berulang sesuai dengan jumlah yang ditentukan.
For <var> = <nilaiAwal> To <nilaiAkhir> <step angka>
<variabel>
Next [<var>]

DO LOOP
digunakan untuk melakukan perulangan terus menerus tanpa henti.
Do
<pernyataan>
Loop

WHILE WEND
digunakan untuk melakukan pengulangan selama kondisi benar saja:
While <kondisi>
<perintah
WEND




EXIT
perintah yang digunakan untuk keluar secara langsung dari perulngan DO-LOOP, FOR-NEXT, WHILE-WEND :
EXIT FOR
EXIT DO
EXIT WHILE
EXIT SUB
EXIT FUNCTION


perintah GOSUB<nama-subrutin>
perintah untuk melakukan lompatan subrutin, kemudian kembali lagi setelah subrutin perintah tsb selesai dekerjakan. dan diakhiri dengan RETURN.

perintah GOTO<label>
perintah digunakan untuk melakukan lompatan ke label kemudian melakukan serangkaian instruksi tanpa harus kembali lagi, sehingga tidak perlu RETURN.

sumber di ambil dari  http://goes-open.blogspot.com/2011/12/pemrograman-bascom-avr.html

semoga bermangpaat

Kamis, 09 April 2015

motor stepeer 8545 pakai bascom

saya akan coba membuat program motor stepeer sederhana menggunakan bascom dan atmga8535
alat dan bahan
atmga 8535
dioda in 4007 4 buah
transistor darlinton d2604
motor steper


buat sekema di proteus seperti di bawah ini

buka program bascom danbuat seperti di bawah ini
=======================================================


'penggerak motor stepeer sederhana barlianno
$regfile = "m8535.dat"
$crystal = 12000000
Config Portc = Output
Dim A As Integer


For A = 0 To 30                                             'memutar cw (searah jarum jam) sampai 30.
Portc = &B00000001
Waitms 10
Portc = &B00000010
Waitms 10
Portc = &B00000100
Waitms 10
Portc = &B00001000
Waitms 10
Next A
'

 
For A = 0 To 30                                           'memutar ccw sampai 30
Portc = &B00001000
Waitms 10
Portc = &B00000100
Waitms 10
Portc = &B00000010
Waitms 10
Portc = &B00000001
Waitms 10
Next A


====================================================================
cara kerja program
motor akan bergerak kekiri ( searah jarum jam )30 kali laku akan berputar ke kanan (berlawana jarum jam )
For A = 0 To 30 untuk meggerakan putaran sampai 30 kali setelah itu akan menjalan perintah ke kedua yaitu memutar ke kanan 


selamat mencoba telah di uji coba di lab barlianno