Selasa, 12 Januari 2016

sensor alarm




 
 
SENSOR ALARM

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.   Buttery
    3.   Button
    4.   Cap
    5.   Cap-pol
    6.   Crystal
    7.   Lamp
    8.   LED-Blue
    9.   LM016L
   10. Motor
   11. Relay
   12. Res
   13. Switch


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.
3.            Lalu pilih File -> New Project -> Next,klik create a schematic...-> Next -> Next -> Finish.
4.            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.
7.            Selanjutnya tambahkan relay dan sambungkan pada ATMega16 lalu beri ground.
8.            Setelah itu tambahkan battery dan buzzer.
9.            Kemudian letakkan juga LED-blue sebanyak 4 buah,tambahkan input dan juga Dclock.
10.         Tambahkan juga switch,sambungkan dengan output lalu beri ground :
11.          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    : 03/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>
#include <delay.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_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("Alarm"); 
      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("Alarm");
      lcd_gotoxy(0,0);
      lcd_putsf("Mati");
      PORTD=0x00; 
      delay_ms(250);   
 }  
  else
 {
      lcd_clear();
      lcd_gotoxy(0,0);
      lcd_putsf("anda salah");
 } 
}


UNTUK MELIHAT GAMBAR PROJECT DIATAS (SENSOR ALARM),KLIK LINK BERIKUT   INI
SEKIAN TERIMA KASIH,SELAMAT MENCOBA ^_^



Tidak ada komentar:

Posting Komentar