Project 8: House Аutomation

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
                            
                            
                            
                            
                            
×
100%