Senin, 16 November 2015

SENSOR CAHAYA DENGAN MIKROKONTROLER



      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");
 }
}
while (1)
      {
      // Place your code here

      }
}


 
 
                                                           SELESAI --> SELAMAT MENCOBA  
                                                                     DOWNLOAD DISINI !!!

 














Tidak ada komentar:

Posting Komentar