0% found this document useful (0 votes)
45 views12 pages

Lampiran: 2. Datashet Sensor LDR

sensor pir..............................................................

Uploaded by

Alfred Sabandar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views12 pages

Lampiran: 2. Datashet Sensor LDR

sensor pir..............................................................

Uploaded by

Alfred Sabandar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

LAMPIRAN

1. Dataseheet Sensor PIR ( Passive Infra Red)

2. Datashet Sensor LDR


3. Tampilan pada Proteus + Coding
Coding :
/*******************************************************
This program was created by the CodeWizardAVR V3.17
Evaluation
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 11/20/2017
Author :
Company :
Comments:

Chip type : ATmega16


Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size :0
Data Stack size : 256
*******************************************************/
#include <mega16.h>
#include <io.h>
#include <delay.h>
#include <stdio.h>
#include <stdlib.h>

/ Alphanumeric LCD functions


#include <alcd.h>

/ Declare your global variables here


unsigned char a, reff=100 ;//definisi variabel a, dan menentukan angka
150 sebagai referensi

float data1;
float adc1;
unsigned char temp[33];

/ Standard Input/Output functions


#include <stdio.h>

/ Voltage Reference: AREF pin


#define ADC_VREF_TYPE ((0<<REFS1) | (0<<REFS0) | (0<<ADLAR))

// Read the AD conversion result


unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | ADC_VREF_TYPE;
/ Delay needed for the stabilization of the ADC input voltage
delay_us(10);
/ Start the AD conversion
ADCSRA|=(1<<ADSC);
/ Wait for the AD conversion to complete
while ((ADCSRA & (1<<ADIF))==0); ADCSRA|
=(1<<ADIF);
return ADCW;
}

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) | (0<<DDC1) | (1<<DDC0);
/ State: Bit7=1 Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTC=(1<<PORTC7) | (1<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) |
(1<<PORTC3) | (1<<PORTC2) | (0<<PORTC1) | (1<<PORTC0);

/ Port D initialization
/ Function: Bit7=In Bit6=In Bit5=In Bit4=out Bit3=In Bit2=In Bit1=In
Bit0=In
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (1<<DDD4) | (0<<DDD3) |
(0<<DDD2) | (0<<DDD1) | (0<<DDD0);
/ State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
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
/ Communication Parameters: 8 Data, 1 Stop, No Parity
/ USART Receiver: Off
/ USART Transmitter: On
/ USART Mode: Asynchronous
/ USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) |
(0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (1<<TXEN) |
(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) |
(1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL); UBRRH=0x00;

UBRRL=0x33;

/ 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);

/ ADC initialization
/ ADC Clock frequency: 1000.000 kHz
/ ADC Voltage Reference: AREF pin
/ ADC Auto Trigger Source: ADC Stopped
ADMUX=ADC_VREF_TYPE;
ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) |
(0<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

/ 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);

/ Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

/ RS – PORTB Bit 0

/ RD – PORTB Bit 1

/ EN – PORTB Bit 2

/ D4 – PORTB Bit 4

/ D5 – PORTB Bit 5
/ D6 – PORTB Bit 6

/ D7 – PORTB Bit 7

/ Characters/line: 16

lcd_init(16);
#asm("sei")
while (1)
{
/ Place your code here
a=read_adc(0)/2; data1
= read_adc(0); adc1 =
data1/4;

ftoa(adc1,1,temp);
lcd_gotoxy(0,0);
lcd_putsf("Nilai ADC =");
lcd_puts(temp);
printf("A%s\r\n",temp);
delay_ms(100);

lcd_gotoxy(3,1);
delay_ms(50);

if(a>=reff){ //perumpamaan jika a kurang dari nilai referensi (150)


maka LCD
lcd_putsf("Malam Hari");//akan menampilkan angka 0, jika a>referensi
(150) maka LCD
if(PINC.1==1)
{
PORTD.4=0xff;
printf("B%s\r\n",temp);
4. Tampilan GUI

Blok Diagram Pada LabView


Hasil output data :
Tanggal Waktu LDR PIR

02/02/2018 15:01:02 100,0000 0,000000

02/02/2018 15:01:23 100,0000 0,000000

02/02/2018 15:01:46 100,0000 0,000000

02/02/2018 15:01:48 100,0000 0,000000

02/02/2018 15:01:49 100,0000 0,000000

02/02/2018 15:01:50 100,0000 0,000000

02/02/2018 15:01:51 100,0000 0,000000

02/02/2018 15:01:52 100,0000 0,000000

02/02/2018 15:01:53 100,0000 0,000000

02/02/2018 15:01:54 100,0000 0,000000

02/02/2018 15:01:55 100,0000 0,000000

02/02/2018 15:01:56 100,0000 0,000000

02/02/2018 15:01:57 100,0000 0,000000

02/02/2018 15:01:58 100,0000 0,000000

02/02/2018 15:01:59 100,0000 0,000000

02/02/2018 15:02:02 100,0000 0,000000

02/02/2018 15:02:23 100,0000 0,000000

02/02/2018 15:02:46 100,0000 0,000000

02/02/2018 15:02:48 100,0000 0,000000

02/02/2018 15:02:49 100,0000 0,000000

02/02/2018 15:02:55 100,0000 0,000000

02/02/2018 15:02:56 100,0000 1,000000

02/02/2018 15:02:57 100,0000 1,000000

02/02/2018 15:02:58 100,0000 1,000000

02/02/2018 15:02:59 100,0000 1,000000

02/02/2018 15:03:02 100,0000 1,000000

02/02/2018 15:03:23 100,0000 1,000000

02/02/2018 15:03:46 100,0000 1,000000

02/02/2018 15:03:48 100,0000 1,000000

02/02/2018 15:03:49 100,0000 1,000000

02/02/2018 15:03:50 100,0000 1,000000

02/02/2018 15:03:51 100,0000 1,000000


02/02/2018 15:03:52 100,0000 1,000000

02/02/2018 15:03:53 100,0000 1,000000

02/02/2018 15:03:54 100,0000 1,000000

02/02/2018 15:03:55 100,0000 1,000000

02/02/2018 15:03:56 100,0000 1,000000

02/02/2018 15:03:57 78,84000 1,000000

02/02/2018 15:03:58 78,84000 1,000000

02/02/2018 15:03:59 78,84000 1,000000

02/02/2018 15:04:00 64,72000 1,000000

02/02/2018 15:04:01 64,72000 1,000000

02/02/2018 15:04:02 64,72000 1,000000

02/02/2018 15:04:03 64,72000 1,000000

02/02/2018 15:04:04 64,72000 1,000000

02/02/2018 15:04:05 64,72000 1,000000

02/02/2018 15:04:06 64,72000 1,000000

02/02/2018 15:04:07 51,24000 1,000000

02/02/2018 15:04:08 51,24000 1,000000

02/02/2018 15:04:09 51,24000 0,000000

02/02/2018 15:04:10 51,24000 0,000000

02/02/2018 15:04:11 44,28000 0,000000

02/02/2018 15:04:12 44,28000 0,000000

02/02/2018 15:04:13 44,28000 0,000000

02/02/2018 15:04:14 32,90000 0,000000

02/02/2018 15:04:15 32,90000 0,000000


02/02/2018 15:04:16 32,90000 0,000000
02/02/2018 15:04:17 32,90000 0,000000

02/02/2018 15:04:18 32,90000 0,000000

02/02/2018 15:04:19 32,90000 0,000000

02/02/2018 15:04:20 32,90000 0,000000

02/02/2018 15:04:21 32,90000 0,000000

02/02/2018 15:04:22 32,90000 0,000000

02/02/2018 15:04:23 32,90000 0,000000

02/02/2018 15:04:24 32,90000 0,000000

02/02/2018 15:04:25 22,56000 0,000000

02/02/2018 15:04:26 22,56000 0,000000

02/02/2018 15:04:27 22,56000 0,000000

02/02/2018 15:04:28 22,56000 0,000000

02/02/2018 15:04:29 22,56000 0,000000

02/02/2018 15:04:30 22,56000 0,000000

02/02/2018 15:04:31 22,56000 1,000000

02/02/2018 15:04:32 22,56000 1,000000

02/02/2018 15:04:33 22,56000 1,000000

02/02/2018 15:04:34 22,56000 1,000000

02/02/2018 15:04:35 22,56000 1,000000

02/02/2018 15:04:36 22,56000 1,000000

02/02/2018 15:04:37 22,56000 1,000000

02/02/2018 15:04:38 22,56000 1,000000

02/02/2018 15:04:39 22,56000 1,000000

02/02/2018 15:04:40 22,56000 1,000000

02/02/2018 15:04:41 44,74000 1,000000

02/02/2018 15:04:42 44,74000 1,000000

02/02/2018 15:04:43 65,22000 1,000000

02/02/2018 15:04:44 65,22000 1,000000

02/02/2018 15:04:45 84,76000 1,000000

02/02/2018 15:04:46 84,76000 1,000000

02/02/2018 15:04:47 100,0000 1,000000

02/02/2018 15:04:48 100,0000 1,000000


02/02/2018 15:04:49 100,0000 1,000000
02/02/2018 15:04:50 100,0000 1,000000

02/02/2018 15:04:51 100,0000 1,000000

02/02/2018 15:04:52 100,0000 1,000000

02/02/2018 15:04:53 100,0000 0,000000

02/02/2018 15:04:54 100,0000 0,000000

02/02/2018 15:04:55 100,0000 0,000000

02/02/2018 15:04:56 100,0000 0,000000

02/02/2018 15:04:57 100,0000 0,000000

02/02/2018 15:04:58 100,0000 0,000000

02/02/2018 15:04:59 100,0000 0,000000

02/02/2018 15:05:00 100,0000 0,000000

02/02/2018 15:05:01 100,0000 0,000000

02/02/2018 15:05:02 100,0000 0,000000

02/02/2018 15:05:03 100,0000 0,000000

02/02/2018 15:05:04 100,0000 0,000000

02/02/2018 15:05:05 100,0000 0,000000

02/02/2018 15:05:06 100,0000 0,000000

02/01/2018 15:05:07 100,0000 0,000000

You might also like