I have a question/problem.
Is there an effective way to deal with a person who doesn't know what they don't know?
Been driving me crazy for years.
-Steve
I have a question/problem.
Is there an effective way to deal with a person who doesn't know what they don't know?
Been driving me crazy for years.
-Steve
Melrso here is a program I did for a door controller sometime back
I spent about 15 mins. modifing *** it to do what I think you asking
(I left all the extras that I needed)
I have not tested the mod. only compiled. it's a lot of code to do so little
but you get what you pay for and this is free. after 3 years I'm still a newbie
as we say down south maybe this will prime your pump
chow
grounded
'************************************************* ***************
'* Name : GATE.BAS *
'* Author : GROUNDED *
'* Notice : Copyright (c) 2007 HAVING FUN PROGRAMMING *
'* : All Rights Reserved *
'* Date : 1/11/2006 /10-12-07 *
'* Version : 1.0 ***MOD. FOR GATE CLOSER *
'* Notes : DRIVE THOUGH DOOR WITH PHOTO EYE, REVERSING EDGE *
'* & AJAR SAFETY SWITCHS . ONE PUSH BUTTON FOR OPEN/CLOSE *
'WITH FAULT CODE (FLASHING LED) *
'PHOTO EYE FAULT CODE LED 4 SEC. ON 4 SEC. OFF *
'REVERSING EDGE FAULT CODE LED ON 1 SEC OFF 1 SEC ON 1 SEC. OFF 4 SE
'AJAR FAULT CODE LED ON 1/4 SEC. OFF 1/4 SEC. ON 1/4 SEC. OFF 4 SEC.
'FAULT DOES NOT RESET WITH POWER RECYCLE MUST PUSH RESET BUTTON
'COMPILED @ 389 WORDS
'** ADDED FOR GATE CONTROLLER REVERSE OPERATION ON PB PUSH *
'************************************************* ***************
pic16f630
'FUSES SET IN INC. FILE
'INTRC_OSC_NOCLKOUT, WDT_ON, MCLR_OFF,
'CPD_OFF, BOD_OFF, PWRT_ON,PROTECT_OFF
DEFINE OSC 4
Pause 7000 'DELAY TO LET STABILIZE AFTER POWER UP
CMCON = 7 'COMPARATOR OFF
VRCON = 0 'VOLTAGE REF. DISABLE
TRISA = %00011111 'MAKE ALL BUT A.5 INPUTS
TRISC = %00110000 'MAKE PORTC .4,.5 INPUT REST OUTPUTS
OPTION_REG=%01000000 'ENABLE WEEK PULLUPS (CLEAR RAPU)& RISIING EDGE
WPUA = %00010011 'WEAK PULLUPS ON PORTA..0,.1,.4,
SYMBOL OL = PORTA.0 'OPEN LIMIT SW.IN 3
SYMBOL CL = PORTA.1 'CLOSED LIMIT SW.IN 4
SYMBOL PB = PORTA.2 'OPEN/CLOSE PB IN 1
SYMBOL RS = PORTA.3 'FAULT RESET IN 2 RESET
SYMBOL PE = PORTA.4 'PHOTO EYE IN 5
SYMBOL LED = PORTA.5 'POWER UP & FAULT LED OUT 3
SYMBOL CDC = PORTC.0 'CLOSE DOOR CONTACTOR OUT 1
SYMBOL ODC = PORTC.1 'OPEN DOOR CONTACTOR OUT 2
SYMBOL NA = PORTC.2 'N/A
SYMBOL NAA = PORTC.3 'N/A
SYMBOL RE = PORTC.4 'REVERSING EDGE IN 6
SYMBOL AJ = PORTC.5 'AJAR SWITCH IN 7
FR VAR BYTE 'FAULT VAR
PEC VAR BYTE 'PHOTO EYE FAULT CODE
REC VAR BYTE 'REVERSING EDGE FAULT CODE
AJC VAR BYTE 'AJAR FAULT CODE
OL=0:CL=0:PB=0:RS=0:PE=0:LED=0:CDC=0:ODC=0:NA=0:NA A=0:RE=0:AJ=0
LED=1 :PAUSE 2000 :LED=0 'POWER UP LED
MAIN:
IF fr=1 then goto fault 'CHECK FOR FAULT AFTER POWER UP
'LOOP UNTIL OPEN /CLOSED PUSH BUTTON IS PUSHED
IF PB=1 THEN PAUSE 10000 : GOTO CHECKIT'***10 SEC. TO RELEASE PB
PAUSE 250
GOTO MAIN
CHECKIT:
IF (OL=0) AND (CL=0) THEN GOTO OPENUP 'IF NO LIMIT SW. MADE THEN OPEN (COULD USE CLOSE)
IF (OL=0) AND (CL=1) THEN GOTO OPENUP 'IF CLOSE LIMIT SW. MADE THEN OPEN
IF (OL=1) AND (CL=0) THEN GOTO CLOSE 'IF OPEN LIMIT SW. MADE THEN CLOSE
RELO: '*******
PAUSE 100
IF PB=0 THEN GOTO EOPEN '** PB MUST BE RELEASED BEFORE DOOR WILL START OPENING
GOTO RELO
EOPEN:
IF PB=1 THEN GOTO OPENUP'***LOOP UNTIL PB IS PUSHED THEN OPEN
GOTO EOPEN
OPENUP:
IF (FR=0) AND (OL=0) THEN ODC=1 'IF NO FAULT & OPEN LIMIT NOT MADE OPEN
IF PB =1 THEN ODC=0:PAUSE 3000: GOTO RELC '***IF PB PUSHED STOP AND THEN CLOSE
IF OL=1 THEN ODC=0 : GOTO MAIN 'WHEN DOOR FULLY OPENS GOTO MAIN
GOTO OPENUP 'LOOP UNTIL OPEN LIMIT IS MADE
RELC:
PAUSE 100
IF PB=0 THEN GOTO ECLOSE '***PB MUST BE RELEASED BEFORE START CLOSING
GOTO RELC
ECLOSE:
IF PB=1 THEN GOTO CLOSE '**** LOOP UNTIL PB IS PUSHED THEN START CLOSING
GOTO ECLOSE
CLOSE:
CDC=1 'CLOSE DOOR CONTACT
'IF PHOTO EYE OR REVERSING EDGE IS TRIPP WHEN DOOR IS CLOSING STOP AND THEN OPEN
IF PB=1 THEN CDC=0 :PAUSE 3000 :GOTO RELO '**IF PB PUSHED STOP AND THEN OPEN
IF CL=1 THEN CDC=0 :GOTO MAIN 'LOOP UNTIL CLOSE LIMIT IS MADE
IF PE=1 THEN PEC=2: CDC=0 :PAUSE 4000 :GOTO FO 'PHOTO EYE FAULT
IF RE=1 THEN REC=2: CDC=0 :PAUSE 4000 :GOTO FO 'REVERSING EDGE FAULT
IF AJ=1 THEN AJC=2: CDC=0 :PAUSE 1000 :GOTO FAULT 'AJAR FAULT
GOTO CLOSE 'LOOP AND CHECK FOR FAULT
FO: 'IF YOU HAVE A PE OR RE FAULT OPEN DOOR AND
'THEN SHOW FAULT
IF OL =0 THEN ODC=1
IF OL=1 THEN GOTO FAULT
GOTO FO
FAULT:
FR=1
IF PEC=>2 THEN LED=1:PAUSE 4000 :LED=0 :PAUSE 4000
IF REC=>2 THEN LED=1:PAUSE 1000:LED=0:PAUSE 1000:LED=1:PAUSE 1000:LED=0:PAUSE 4000
IF AJC=>2 THEN LED=1:PAUSE 250:LED=0:PAUSE 250:LED=1:PAUSE 250:LED=0:PAUSE 4000
IF RS=1 THEN PEC=0: REC=0 :AJC=0 : FR=0 :GOTO MAIN
GOTO FAULT
Bookmarks