MEMBUAT PROGRAM LED BERJALAN DENGAN BASCOM AVR


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


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

Config Porta = Input
Config Portb = Output

Tombol Alias Pina.0
Lampu Alias Portb

Porta = &B00000000
Dim X As Byte

Do
If Tombol = 1 Then
For X = 1 To 2
Lampu = &B00000001
Waitms 100
Lampu = &B00000010
Waitms 100
Lampu = &B00000100
Waitms 100
Lampu = &B00001000
Waitms 100
Lampu = &B00010000
Waitms 100
Lampu = &B00100000
Waitms 100
Lampu = &B01000000
Waitms 100
Lampu = &B10000000
Waitms 100
Next
For X = 1 To 2
Lampu = &B10000000
Waitms 100
Lampu = &B01000000
Waitms 100
Lampu = &B00100000
Waitms 100
Lampu = &B00010000
Waitms 100
Lampu = &B00001000
Waitms 100
Lampu = &B00000100
Waitms 100
Lampu = &B00000010
Waitms 100
Lampu = &B00000001
Waitms 100
Next
End If
Loop


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?!

PROGRAM MENAMPILKAN TULISAN PADA LCD DENGAN BASCOM AVR

Sekarang LCD lebih dipilih daripada  dot matriks, seven-segment LED atau Multisegment LED untuk tampilan, disebabkan oleh selain harganya murah, LCD sudah mampu menampilkan huruf, angka bahkan grafik sekalipun serta dalam memprogramnya lebih mudah.

Berikut tabel deskripsi pin pada LCD :
















Pin
Simbol
I/O
Deskripsi
1
VSS
--
Ground
2
VCC
--
+ 5 V power suplay
3
VEE
--
Power suplay source to control contrast
4
RS
I
Register select: RS = 0 to select instruksi. Command register; RS =1 to selsct data reg.
5
R/W
I
Read/Write: R/W =0 for write, R/W= 1 for read
6
E
I
Enable
7
DB0
I/O
The 8-bit data bus
8
DB1
I/O
The 8-bit data bus
9
DB2
I/O
The 8-bit data bus
10
DB3
I/O
The 8-bit data bus
11
DB4
I/O
The 8-bit data bus
12
DB5
I/O
The 8-bit data bus
13
DB6
I/O
The 8-bit data bus
14
DB7
I/O
The 8-bit data bus
 
Sekarang kita akan membuat Program Menampilkan kata ?Pengenalan Pemograman ATMEGA32 Dengan BASCOM-AVR? dimana kata kata tersebut tampil satu persatu pada LCD dengan delay 1 detik  dan kemudian digeser kesebelah kiri sebanyak 40 kali dan kemudian disusul dengan tampilnya kata ?BY Meri Wardana? berikut programnya :


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

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0

Config Lcd = 20 * 4
Dim X As Byte

Do
Cls
Locate 1 , 1
Lcd "Pengenalan"
Waitms 100
Locate 2 , 1
Lcd "Pemograman"
Waitms 100
Locate 3 , 1
Lcd "ATMEGA8535"
Waitms 100
Locate 4 , 1
Lcd "Dengan BASCOM-AVR"
Waitms 100
For X = 1 To 40
Shiftlcd Left
Waitms 50
Next
Cls
Locate 1 , 1
Lcd "BY"
Locate 2 , 1
Lcd "Meri"
Locate 3, 1
Lcd "Wardana"
Waitms 100
Loop


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 Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0  inisialisasi pin-pin pada LCD sendiri,
Config Lcd = 20 * 4  LCD yang kita pakai adalah LCD berukuran 20*4,
Dim X As Byte = pendeklarasian bahwa variable X adalah tipe byte dimana rangenya adalah 0-255,
Do-loop = perintah perulangan,
Cls    = LCD dibersihkan terlebih dahulu
Locate 1 , 1        = menyatakan huruf atau angka yang akan ditampilkan pertama kali akan keluar pada kolom 1 baris 1,
Lcd "Pengenalan" = kata yang akan ditampilkan pada LCD adalah ?pengenalan?
Waitms 100        = delay waktu 100 milisecond
Begitu seterusnya hingga For X = 1 To 40-Next = yang menyatakan perulangan 40 kali,
Shiftlcd Left = menggeser kata-kata yang kita tampilkan tadi ke kiri 
Waitms 50 = delay waktu 50 milisecond
Selamat mencoba?!

MEMBUAT PROGRAM ROBOT LINE FOLLOWER DENGAN FUZZY LOGIC (PWM) |MEMBUAT PROGRAM ROBOT LINE TRACKING DENGAN FUZZY LOGIC (PWM)


Sebelumnya saya sudah pernah membuat postingan Membuat Program Line Follower Dengan Codevisionavr yang menggunakan bahasa c tapi kali ini saya membuat postingan membuat program line folower juga tapi sudah memakai sedikit algoritma yaitu fuzzy logic dimana algoritma fuzzy logic ini saya terapkan untuk mengatur kecepatan motornya atau lebih tepatnya mengatur tegangan keluar untuk motor. Dimana pada program nilai 255 artinya 5 volt, dengan itu maka kita dapat mengatur pemberian tegangan pada motor sehingga pergerakan robot line follower nantinya akan menjadi halus. Berikut Programnya, juga masih menggunakan bahasa c :

#include<mega8535.h>
#include<stdio.h>

#define s1 PINA.0
#define s2 PINA.1
#define s3 PINA.2
#define s4 PINA.3

#define ka1 PORTD.0
#define ka2 PORTD.1
#define ki1 PORTD.2
#define ki2 PORTD.3


#define kanan 1
#define kiri 0
#define maju 1
#define mundur 0

void dc(unsigned char motor,unsigned char arah,unsigned char pwm)
{ if(motor==kanan)
{ if(arah==maju)
{ ka1=1;
ka2=0;
}
else
{ ka1=0;
ka2=1;
}
pwm=OCR1A;
}
else
{ if(arah==maju)
{ ki1=1;
ki2=0;
}
else
{ ki1=0;
ki2=1;
}
pwm=OCR1B;
}
}


// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

PROGRAM MOTOR SERVO DENGAN CODEVISIONAVR


Sebelum ke program ada baiknya kita mengetahui terlebih dahulu tentang Motor servo, motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW) dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya.
PROGRAM MOTOR SERVO DENGAN CODEVISIONAVR
 Gambar Motor Servo
Motor sevo merupakan sebuah motor DC yang memiliki rangkaian control elektronik dan internal gear untuk mengendalikan pergerakan dan sudut angularnya. Motor servo adalah motor yang berputar lambat, dimana biasanya ditunjukkan oleh rate putarannya yang lambat, namun demikian motor servo memiliki torsi yang kuat karena internal gearnya.
Bicara lebih jauh lagi motor servo memiliki :
?         3 jalur kabel : power, ground dan control
?         Sinyal control mengendalikan posisi
?         Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar kira-kira 20 ms dimana lebar pulsa antara 0,5 ms dan 2ms menyatakan akhir dari range sudut maksimum.
?         Konstruksi di dalamnya meliputi internal gear, potensiometer dan feedback control
Motor servo mempunyai dua jenis motor servo standard 180 derajat dan motor servo continuous dan kebanyakan motor ini dipakai untuk robot lengan, penggerak kamera dan lain-lain.
Berikut program mengerakkan motor servo dengan codevisionavr :

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.7a Standard
Automatic Program Generator
? Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 1/27/2010
Author : F4CG
Company : F4CG
Comments:


Chip type : ATmega8535
Program type : Application
Clock frequency : 8.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 128
*****************************************************/

#include <mega8535.h>        
#include <delay.h>


// Declare your global variables here
int i;

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=0
PORTA=0x00;
DDRA=0x01;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
{
// Place your code here
//0 derajat
for(i=0;i<=200;i++) 
{ PORTA.0=1 ;
delay_us(1000); 
PORTA.0=0 ; 
delay_us(1900) ;
} 
delay_ms(1000) ;
// 90 derajat 
for(i=0;i<=200;i++) 
{ 
PORTA.0=1 ; 
delay_us(1500);
PORTA.0=0 ; 
delay_us(18500) ; 
}
delay_ms(1000) ; 
//180 derajat
for(i=0;i<=200;i++) 
{ 
PORTA.0=1 ; 
delay_us(2000);
PORTA.0=0 ; 
delay_us(18000) ; 
} 
delay_ms(1000) ; }; }

Hyper Blogger | Blog Template For You

Hyper Blogger | Blog Template For You

Multimedia

Multimedia
Menurut IBM, multimedia adalah gabungan video, audio, grafik dan teks dalam suatu produksi bertingkat berbasis komputer yang dapat dialami secara interaktif atau menurut McCormick multimedia secara umum merupakan kombinasi tiga elemen yaitu suara, gambar dan teks atau menurut Robin dan Linda multimedia merupakan alat yang dapat menciptakan presentasi yang dinamis dan interaktif yang mengkombinasikan teks, grafik, animasi, audio dan gambar video ( dalam http://lecturer.ukdw.ac.id/anton/download/multimedia2.pdf ) .


Sejarah Multimedia
Suyanto ( 2003 : 19 ) menyatakan bahwa istilah multimedia berawal dari teater, bukan komputer. Pertunjukan yang memanfaatkan lebih dari satu medium sering kali disebut pertunjukan multimedia. Pertunjukan multimedia mencakup monitor video dan karya seni manusia sebagai bagian dari pertunjukan. Sistem multimedia dimulai pada akhir 1980-an, sejak permulaan tersebut hampir setiap pemasok perangkat keras dan lunak melompat ke multimedia. Pada tahun 1994 diperkirakan ada lebih dari 700 produk dan sistem multimedia dipasaran.

Definisi Multimedia
Dalam industri elektronika menurut Suyanto ( 2003 : 20) , Multimedia adalah kombinasi dari komputer dan video ( Rosch, 1996) atau multimedia secara umum merupakan kombinasi tiga elemen, yaitu suara, gambar dan teks ( McCormick, 1996) atau multimedia adalah kombinasi dari paling sedikit dua media input atau output dari data, media ini dapat audio ( suara, musik) , animasi, video, teks, grafik dan gambar ( Turban dkk, 2002 ) atau multimedia merupakan alat yang dapat menciptakan presentasi yang dinamis dan interaktif yang mengkombinasikan teks, grafik, animasi, audio dan gambar video ( Robin dan Linda, 2001)
Definisi yang lain dari multimedia, yaitu dengan menempatkan dalam konteks, seperti yang dilakukan oleh Hofstetter ( 2001) , multimedia adalah pemanfaatan komputer untuk membuat dan menggabungkan teks, grafik, audio, gambar bergerak ( video dan animasi ) dengan menggabungkan link dan tool yang memungkinkan pemakai melakukan navigasi, berinteraksi, berkreasi dan berkomunikasi, menggabungkan link dan tool yang memungkinkan pemakai melakukan navigasi, berinteraksi, berkreasi dan berkomunikasi.



Objek Multimedia

objek multimedia terbagi menjadi :

1. Teks
Hampir semua orang yang biasa menggunakan komputer sudah terbiasa dengan teks. Teks merupakan dasar dari pengolahan kata dan informasi berbasis multimedia. Dalam kenyataannya multimedia menyajikan informasi kepada audiens dengan cepat, karena tidak diperlukan membaca secara rinci dan teliti. Menurut Hofstetter ( dalam http://lecturer.ukdw.ac.id/anton/download/multimedia2.pdf ) adalah kebanyakan sistem multimedia dirancang dengan menggunakan teks karena teks merupakan sarana yang efektif untuk mengemukakan ide-ide dan menyediakan instruksi-instruksi kepada user ( pengguna ) .

2. Image
Secara umum image atau grafik berarti still image seperti foto dan gambar. Manusia sangat berorientasi pada visual dan gambar merupakan sarana yang
sangat baik untuk menyajikan informasi.

3. Animasi
Animasi adalah pembentukan gerakan dari berbagai media atau objek yang divariasikan dengan gerakan transisi, efek-efek, juga suara yang selaras dengan
gerakan animasi tersebut atau animasi merupakan penayangan frame-frame gambar secara cepat untuk menghasilkan kesan gerakan.

4. Audio
penyajian audio atau suara merupakan cara lain untuk lebih memperjelas pengertian suatu informasi. Contohnya, narasi merupakan kelengkapan dari penjelasan yang dilihat melalui video. Suara dapat lebih menjelaskan karakteristik suatu gambar, misalnya musik dan suara efek ( sound effect ) . Salah satu bentuk bunyi yang bisa digunakan dalam produksi multimedia adalah Waveform Audio yang merupakan format file audio yang berbentuk digital. Kualitas produknya bergantung pada sampling rate ( banyaknya sampel per detik) . Waveform ( wav ) merupakan standar untuk Windows PC.

5. Video
Video merupakan elemen multimedia paling kompleks karena
penyampaian informasi yang lebih komunikatif dibandingkan gambar biasa. Walaupun terdiri dari elemen-elemen yang sama seperti grafik, suara dan teks, namun bentuk video berbeda dengan animasi. Perbedaan terletak pada penyajiannya. Dalam video, informasi disajikan dalam kesatuan utuh dari objek yang dimodifikasi sehingga terlihat saling mendukung penggambaran yang seakan terlihat hidup.

6. Interactive
Sebagian dari multimedia adalah interaktif, dimana pengguna dapat menekan mouse atau objek pada screen seperti button atau teks dan menyebabkan program melakukan perintah tertentu. Interactive link dengan informasi yang dihubungkannya sering kali dihubungkan secara keseluruhan sebagai hypermedia. Secara spesifik, dalam hal ini termasuk hypertext ( hotword) , hypergraphics dan hypersound Menjelaskan jenis informasi yang dihubungkan.
Interactive link diperlukan bila pengguna menunjuk pada suatu objek atau button agar dapat mengakses program tertentu. Interactive link diperlukan untuk menggabungkan beberapa elemen multimedia sehingga menjadi informasi yang terpadu. Cara peng-aksesan informasi pada multimedia terdapat dua macam, yaitu linier dan non-linier. Informasi linier adalah informasi yang ditampilkan secara sekuansial, yaitu dari atas ke bawah atau halaman demi halaman, sedangkan pada informasi non-linier ( seperti pada Gambar dibawah ) dapat ditampilkan langsung sesuai dengan kehendak pengguna.




untuk tulisan lengkapnya, download aja disini

TRIK UNTUK SMS GRATIS


MAU SMS GRATIS...?????

Sms gratis via internet merupakan sarana berkomunikasi yang murah meriah dan paling populer dibandingkan dengan MMS ataupun video call. Rata-rata biaya berkirim sms adalah Rp.100 untuk sesama operator. Apabila Anda ingin mencoba ber-sms dengan tarif yang lebih murah maka Anda bisa mempergunakan sms via internet.
Sms via internet adalah berkirim sms melalui website yang menyediakan layanan sms gratis. Sehingga Anda hanya akan dipungut biaya gprs yang notabene lebih murah daripada biaya sebuah sms.Salah satu penyedia layanan internet gratis adalah http://mjoy.com. Situs yang berbasis di Jerman ini mendukung sms gratis secara internasional. Selain itu situs mjoy berbentuk mobile sehingga mudah diakses lewat ponsel (karena memang diperuntukkan untuk ponsel).

Apabila menggunakan PC bisa diakses melalui Opera Browser, apabila melalui Firefox maka hanya ada petunjuk untuk mengirim link mjoy ke ponsel.
Cara penggunaan:

? Buka http://mjoy.com
? Klik Join
? Di bagian Your Country isi Indonesia
? Masukkan nomor telepon Anda dengan format +62xxx. Fungsi nomor telepon adalah untuk menerima kode konfirmasi dan nanti akan menjadi nomor yang terlihat saat Anda mengirim sms (nomor pengirim sms)
? Masukkan Security Code
? Klik Register

Beberapa saat kemudian maka Anda akan menerima sebuah sms yang berisi sebuah link. Silakan buka link tersebut kemudian isi username dan password sesuai keinginan Anda. Sms registrasi berhasil sampai, saat menggunakan nomor Indosat. Pada saat dicoba dengan nomor Telkomsel, sms registrasi tidak sampai.
Berkirim Sms:

? Silahkan login menggunakan username dan password Anda di http://mjoy.com
? Klik kotak Free Text
? Klik icon Surat+ yang ada dibawah tulisan Free Text
? Masukkan nomor tujuan dengan format +62xxxx (sms berhasil masuk ke Telkomsel dan Indosat, operator lain belum dicoba)
? Masukkan isi sms. Sms bisa lebih dari 160 karakter
? Klik icon surat untuk mengirim pesan
? Sms akan tiba ke nomor tujuan beberapa saat kemudian dengan nomor Anda sebagai nomor pengirim. Di bawah isi sms akan ada iklan ?Text for free with http://mjoy.com?
? Apabila nomor yang dituju sudah terdaftar di mjoy, maka sms tidak bisa panjang. Akan ada link untuk membuka lanjutan sms di inbox mjoy Anda.





Agar lebih hemat Anda bisa menyimpan halaman berkirim sms. Atau bisa juga dengan membookmark halaman. Sehingga saat ingin berkirim sms, bisa langsung membuka halaman tersebut. Saat dicoba dengan Opera Mini dan Mentari menggunakan halaman yang disimpan tadi hanya menghabiskan data 8KB (Rp.8). Pada saat tulisan ini dibuat tidak ada batas dalam pengiriman sms perharinya.


Pengiriman sms cukup cepat, mungkin belum banyak penggunanya. Namun kadang sms tidak sampai tujuan. Jadi gunakan untuk hal-hal tidak penting saja. Jika penting lebih baik menggunakan sms reguler.

Semoga bermanfaat.