How long did this project take?
Just 7 minutes!
Short program for this Project:
VAR KEY=0, ARMSTATUS=1, I, DISARM=1,ARM=0, KEYMARTIN, GARAGESTATE, OPEN=1, CLOSE=0, GARAGECMD=0, GARAGESTATUS
KEYMARTIN = 3483347712
VARS_READ (ARMSTATUS, GARAGESTATUS,F,H)
PN532_INIT(KEY, 500)
VAR T, F, H
DHT_INIT(T,H,1000)
WHILE (1)
F=T*9/5+32
PAUSE 500
PRINT KEY
IF ARMSTATUS=2 THEN GOSUB arm
IF ARMSTATUS=3 THEN GOSUB disarm
IF KEY = KEYMARTIN AND ARMSTATUS=ARM THEN GOSUB arm
IF KEY = KEYMARTIN AND ARMSTATUS=DISARM THEN GOSUB disarm
IF GARAGECMD=OPEN AND GARAGESTATE = CLOSE THEN GOSUB garage_open
IF GARAGECMD=CLOSE AND GARAGESTATE = OPEN THEN GOSUB garage_close
IF ADC_IN5<2 THEN GARAGESTATUS=OPEN ELSE GARAGESTATUS=CLOSE
IF KEY <> KEYMARTIN AND KEY>0 THEN
PLAY_AUDIO(#UNKNOWN, 16000)
PAUSE 1000
ENDIF
WEND
arm:
ARMSTATUS = 1
FOR I=13 TO 5 STEP -0.3
PWM2 CH2 50,I,0
PAUSE 30
NEXT
PLAY_AUDIO(#ARMED, 16000)
PAUSE 2000
OUT1 OFF
RETURN
disarm:
OUT1 ON
ARMSTATUS = 0
FOR I=5 TO 13 STEP 0.3
PWM2 CH2 50,I,0
PAUSE 30
NEXT
PLAY_AUDIO(#HI, 16000)
PAUSE 3000
RETURN
garage_open:
FOR I=6.3 TO 17 STEP 0.3
PWM2 CH1 50,I,0
PAUSE 30
NEXT
GARAGESTATE = OPEN
RETURN
garage_close:
FOR I=17 TO 6.3 STEP -0.3
PWM2 CH1 50,I,0
PAUSE 30
NEXT
GARAGESTATE = CLOSE
RETURN
