Motor Stepper
Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
1. Hardware [Kembali]
Prinsip Kerja :
Rangkaian terdiri dari LCD, driver motor L293D, keypad, dan 2 switch dengan menggunakan mikrokontroller Atmega 128. Dimana LCD terhubung pada PORT A, switch terhubung pada PORT B dengan switch 1 pada pin 0 ddan switch 2 pada pin 6. Dan juga driver motor terhubung pada PORT D dan keypad terhubung pada PORT E. untuk menjalankan simulasi klik tombol PLAY. untuk memulai operasi maka ditekan tombol RESET terlebih daulu. setelah itu, apabila tombol 1 pada keypad ditekan, maka motor stepper akan berputar. dan apabila switch 1 diaktifkan, maka motor stepper akan berputar juga.
#include <mega128.h> // Library atmega 128
#include <delay.h> // Libaray delay
#include <alcd.h> // Library LCD
int pin[]={1,2,4,8}; // Deklarasi pin digunakan
int i; // Deklarasi nilai I;
void putar() // Fungsi putar
{
for( i=4;i>0;i--) // Perulangan
{
lcd_gotoxy(1,1); // Posisi tulisan pada LCD
lcd_putsf("Putar"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan /reset LCD
PORTD= pin[i]; // Menjalankan motor sesuai biner
}
}
void keypad()
{
PORTE=0b1111011; // PORTE sebagai keypad
delay_ms(1); // Delay selama 1 ms
if (PINE.4 == 0) // Jika PINE.4 ditekan dengan aktif low
{
lcd_gotoxy(1,0); // Posisi kata yang tampil pada LCD
lcd_putsf("Anda Tekan 1"); // Menulis kata pada LCD
putar(); // Memanggil fungsi putar
}
}
void main(void) // Fungsi utama dalam program
{
PORTD=0x00; // PORTD dengan kondisi awal aktif low
DDRD=0xff; // PORTD ditetapkan sebagai ouput
PORTF=0x00; // PORTF dengan kondisi awal aktif low
DDRF=0x00; // PORTF ditetapkan sebagai input
PORTE=0xff; // PORTE dengan kondisi awal aktif high
DDRE=0x0f; // PORTE ditetapkan sebagai input dan output
lcd_init(16); // Inisialisasi tipe LCD yang digunakan
while(1) // Looping dalam program
{
keypad(); // Fungsi keypad
if (PINB.0 == 1) // Jika PINF.0 aktif high saat ditekan
{
putar(); // Memanggil fungsi putar
}
}
}
Tidak ada komentar:
Posting Komentar