SENSOR CAHAYA DENGAN MIKROKONTROLER
LDR
PROTEUS 8
PROFESSIONAL
Sebelum memulai langkah kerjanya,kita harus memiliki
software proteus 8 terlebih dahulu.Jika belum ada lakukan penginstall-an
terlebih dahulu.
Jika software telah siap,sebaiknya kita mengetahui
komponen – komponen apa saja yang diperlukan untuk membuat rangkaian pembaca
suhu.Adapun komponen – komponen tersebut sebagai berikut :
1.
ATMega16
2.
Altenator
3.
LM016L
4.
Button
5.
Buzzer
6.
Cap
7.
Cap-pol
8.
Res
9.
Lamp
10.
Relay
11.
Torch-LDR
12.
LED
13.
OMIH-SH-124D
GAMBAR YANG AKAN DIBUAT |
LANGKAH
KERJA
1.
Pastikan komputer ada telah menginstall
perangkat lunak proteus 8 professional terlebih dahulu.
2.
Jika telah melakukan penginstallan,selanjutnya
buka proteus 8 professinal.Maka akan muncul tampilan sebagai berikut :
3.
Lalu pilih File -> New Project ->
Next,klik create a schematic...-> Next -> Next -> Finish.
4.
Setelah muncul tampilan gambar seperti
diatas.Maka ikuti gambar dibawah ini :
Ketikkan keywodr komponen yang ingin dicari
misal atmega 16,pilih atmega yang dicari -> klik
-> enter.Lakukan hal yang sama untuk mencari komponen lain.
5.
Kemudian klik ATMEGA16 letakkan pada kotak dan Klik juga LM016L lalu
tempatkan kedalam kotak.
6.
Kemudian sambungkan dengan garis,lalu beri
output dan ground.
Ikuti seperti gambar dibawah ini :
7.
Selanjutnya tambahkan relay dan sambungkan pada
ATMega16 lalu beri ground .
8.
Setelah itu tambahkan altenator dan lamp.Ikuti
gambar dibawah ini :
9.
Kemudian letakkan Torch-LDR dan
resistor,kemudian beri output:
10.
Terakhir sambungkan resistor,crystal,cap,cap-pol,dan
button sabagai komponen terakhir.
Lalu tambahkan input,output,dan ground :
Untuk menjalankan
rangkaian nya maka,kita perlu memasukkan program kedalam IC-nya dengan
menggunakan CODE VISION AVR.Adapun skrip yang di masukkan atau di tambahkan
dalam CODE VISION AVR yakni sebagai berikut :
/*******************************************************
This program was created by the CodeWizardAVR V3.23a
Automatic Program Generator
© Copyright 1998-2015 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 04/11/2015
Author :
Company :
Comments:
Chip type
: ATmega16
Program type
: Application
AVR Core Clock frequency: 12,000000 MHz
Memory model
: Small
External RAM size
: 0
Data Stack size
: 256
*******************************************************/
#include <io.h>
// Alphanumeric LCD functions
#include <alcd.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In
Bit1=In Bit0=In
DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) |
(0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) |
(0<<DDA0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T
Bit0=T
PORTA=(0<<PORTA7) | (0<<PORTA6) |
(0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) |
(0<<PORTA1) | (0<<PORTA0);
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In
Bit1=In Bit0=In
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) |
(0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) |
(0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T
Bit0=T
PORTB=(0<<PORTB7) | (0<<PORTB6) |
(0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) |
(0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out
Bit2=Out Bit1=Out Bit0=Out
DDRC=(1<<DDC7) | (1<<DDC6) | (1<<DDC5) |
(1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) |
(1<<DDC0);
// State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0
Bit0=0
PORTC=(0<<PORTC7) | (0<<PORTC6) |
(0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) |
(0<<PORTC1) | (0<<PORTC0);
// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out
Bit2=Out Bit1=Out Bit0=Out
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) |
(1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) |
(1<<DDD0);
// State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0
Bit0=0
PORTD=(0<<PORTD7) | (0<<PORTD6) |
(0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) |
(0<<PORTD1) | (0<<PORTD0);
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00)
| (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) |
(0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) |
(0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) |
(0<<CS10);
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: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20)
| (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) |
(0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) |
(0<<OCIE0) | (0<<TOIE0);
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01)
| (0<<ISC00);
MCUCSR=(0<<ISC2);
// USART initialization
// USART disabled
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE)
| (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) |
(0<<TXB8);
// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) |
(0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME);
// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE)
| (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) |
(0<<ADPS0);
// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) |
(0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) |
(0<<SPR0);
// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) |
(0<<TWEN) | (0<<TWIE);
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD
menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);
lcd_init(16);
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("Vinna Vikauly");
lcd_gotoxy(0,1);
lcd_putsf("-----");
delay_ms(500);
while(1)
// Place your code here
if (PINA.0==1)
{
lcd_clear();
lcd_gotoxy(0,1);
lcd_putsf("sensor cahaya");
lcd_gotoxy(0,0);
lcd_putsf("Aktif");
PORTD=0xFF;
delay_ms(250);
}
else if (PINA.0==0)
{
lcd_clear();
lcd_gotoxy(0,1);
lcd_putsf("sensor cahaya");
lcd_gotoxy(0,0);
lcd_putsf("Mati");
PORTD=0x00;
delay_ms(250);
}
else
{
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("anda salah");
}
}
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("Vinna Vikauly");
lcd_gotoxy(0,1);
lcd_putsf("-----");
delay_ms(500);
while(1)
// Place your code here
if (PINA.0==1)
{
lcd_clear();
lcd_gotoxy(0,1);
lcd_putsf("sensor cahaya");
lcd_gotoxy(0,0);
lcd_putsf("Aktif");
PORTD=0xFF;
delay_ms(250);
}
else if (PINA.0==0)
{
lcd_clear();
lcd_gotoxy(0,1);
lcd_putsf("sensor cahaya");
lcd_gotoxy(0,0);
lcd_putsf("Mati");
PORTD=0x00;
delay_ms(250);
}
else
{
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("anda salah");
}
}
while (1)
{
// Place your
code here
}
}
SELESAI --> SELAMAT MENCOBA
DOWNLOAD DISINI !!!