Aplikasi Mikrokontroller 001 “Traffic light 3 arah dengan atmega8535”

Pada aplikasi ini saya mempergunakan atmega8535 sebagai mikrokontroller utama atau main controller nya ,, rangkaiannya cukup simple dengan mempergunakan 9 buah led sebagai prototype. Dan led tersebut akan menyala dengan active low ( jika diberi logika 0).

Timernya masih menggunakan sistem delay (waktu tunggu) dan untuk waktunya bisa dimodifikasi sesuai dengan keinginan dengan mengubah nilai _delay_ms(“waktutunggu”);.

Berikut komponen yang dibutuhkan :

  • 1 ic microcontroller atmega8535
  • 1 crystal 11.0592 MHz
  • 2 Capasitor 22nF
  • 1 Push button (sbg tombol reset)
  • 1 Resistor 10K
  • 1 Capasitor 10uF
  • 9 Resistor 330 Ohm
  • 3 Led warna merah
  • 3 Led warna kuning
  • 3 Led warna hijau
  • Catu daya (adaptor 5v)

Gambar rangkaian simulasi di ISIS Proteus adalah :

Image

 

Dan ini program bahasa C dengan AVR studio4 :

/*

 * Created: 08/05/2013 18:22:25

 *  Author: Ramada_Arief

 * Program Traffic_light_1

 */

#define F_CPU 11059200UL

#include <avr/io.h>

#include <util/delay.h>

void delay_ms(int ms)

{

                for(int i=0; i<=ms; i++) {_delay_ms(1);};  //fungsi delay manipulasi

}

int main(void)

{             

                PORTB=0xFF; //port output

                DDRB=0xFF; //port_b disetting sebagai output

                PORTC=0xFF;

                DDRC=0xFF;

                PORTD=0xFF;

                DDRD=0xFF;

                while(1)

    {

PORTB=(1<<PB0)|(1<<PB1)|(1<<PB2)|(0<<PB3)|(1<<PB4)|(1<<PB5)|(1<<PB6)|(0<<PB7); 

_delay_ms(50);

PORTC=(1<<PC0)|(1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(1<<PC7);

_delay_ms(50);

PORTD=(0<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);

 _delay_ms(70000);  //bisa dimodifikasi

PORTB=(1<<PB0)|(1<<PB1)|(1<<PB2)|(0<<PB3)|(1<<PB4)|(1<<PB5)|(1<<PB6)|(0<<PB7);

 _delay_ms(50);

PORTC=(0<<PC0)|(1<<PC1)|(1<<PC2)|(0<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(1<<PC7);

_delay_ms(50);

PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);

_delay_ms(2000);

PORTB=(0<<PB0)|(1<<PB1)|(1<<PB2)|(1<<PB3)|(1<<PB4)|(1<<PB5)|(1<<PB6)|(0<<PB7);

_delay_ms(50);

PORTC=(1<<PC0)|(1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(1<<PC7);

_delay_ms(50);

PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2)|(0<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);

_delay_ms(40000);  //bisa dimodifikasi

PORTB=(0<<PB0)|(1<<PB1)|(1<<PB2)|(1<<PB3)|(1<<PB4)|(1<<PB5)|(1<<PB6)|(0<<PB7);

_delay_ms(50);

PORTC=(1<<PC0)|(1<<PC1)|(1<<PC2)|(0<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(0<<PC7);

_delay_ms(50);

PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);

_delay_ms(2000);

PORTB=(0<<PB0)|(1<<PB1)|(1<<PB2)|(0<<PB3)|(1<<PB4)|(1<<PB5)|(1<<PB6)|(1<<PB7);

_delay_ms(50);

PORTC=(1<<PC0)|(1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(1<<PC7);

_delay_ms(50);

PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(0<<PD7);

_delay_ms(55000);   //bisa dimodifikasi

PORTB=(0<<PB0)|(1<<PB1)|(1<<PB2)|(0<<PB3)|(1<<PB4)|(1<<PB5)|(1<<PB6)|(1<<PB7);

_delay_ms(50);

PORTC=(0<<PC0)|(1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4)|(1<<PC5)|(1<<PC6)|(0<<PC7);

 _delay_ms(50);

PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);

_delay_ms(2000);

};

return(0);

                }

Video tutorialnya akan saya post pada blog selanjutnya. So ditunggu ya sobat.

Semoga bermanfaat ..

Leave a comment