Welcome Anonymous
Fledgling
Fledgling
It is currently Sun Sep 23, 2018 4:49 am

All times are



Post new topic Reply to topic
Author Message
PostPosted: Sat Apr 14, 2018 10:33 am 
Offline
Emperor
Emperor
User avatar

Joined: Wed Aug 04, 2010 2:37 pm
Posts: 767
Location: Decherd, Tennessee
For you guys who are still buying my boards from me here is the Standard Basic Code for the Critter Getter GENERATION 2.0 Board. I will post some more codes as I have time...

Code:
#REM
PROGRAMMING FOR THE NEW CRITTERGETTER GENERATION 2.0 CAMERA CONTROLLER
CONTROLS ALL 4 BASIC TYPES OF CAMERAS FROM DIP SWITCHES
DIP 1 CONTROLS THE DELAY BETWEEN PICTURES IF IN FEEDER MODE (DIP 2 IS OFF)
DIP 1 OFF = 1 MINUTE DELAY 
DIP 1 ON  = 6 MINUTE DELAY
DIP 2 CONTROLS THE MODE OF OPERATION
DIP 2 OFF = FEEDER MODE (DELAY CONTROLLED BY DIP 1)
DIP 2 ON = TRAILMASTER MODE (FASTEST PICTURES POSSIBLE)
DIPS 3 & 4 SELECTS THE TYPE OF CAMERA USED
DIP 3 OFF  DIP 4 OFF = TYPE 1 CAMERA 1.2 SECOND SHUTTER DELAY
DIP 3 OFF  DIP 4 ON  = TYPE 2 CAMERA 1.5 SECOND SHUTTER DELAY
DIP 3 ON   DIP 4 OFF = TYPE 3 CAMERA 2.0 SECOND SHUTTER DELAY
DIP 3 ON   DIP 4 ON  = TYPE 4 CAMERA 2.0 SECOND SHUTTER DELAY HOLD POWER BUTTON (PANASONICS)
#ENDREM

Symbol DIP3 = pinB.0
Symbol DIP2 = pinB.1
Symbol DIP1 = pinB.2
Symbol Out2 = B.3
Symbol Cam2Sht = B.4
Symbol Cam2Pwr = B.5
Symbol Out3 = B.6
Symbol CamSht = B.7
Symbol CDSPwr = C.0
Symbol CDSRead = C.1
Symbol PIRInput = pinC.2
Symbol Out1 = C.3
Symbol SerialIn = pinC.4
Symbol DIP4 = pinC.5
Symbol CamPwr = C.6
Symbol LED = C.7
'List Inputs
Input B.0   'Dip 3 Input
Input B.1   'Dip 2 Input
Input B.2   'Dip 1 Input
Input C.2   'PIR Sensor Input
Input C.4   'Serial Programming Input
Input C.5   'Dip 4 Input
'List the Outputs and make them low
Low Out2
Low Cam2Sht
Low Cam2Pwr
Low Out3
Low CamSht
Low CDSPwr
Low Out1
Low CamPwr
Low LED
'List Bit Variables
Symbol DayStatus = Bit0
Symbol CameraOn = Bit1
Symbol Type4 = Bit2
'List Byte Variables
Symbol LightLevel = B4
Symbol DaySetting = B5
Symbol NightSetting = B6
Symbol Counter = B7
'List Word Variables
Symbol FeederDelay = W7
Symbol WalkTestTimer = W8
Symbol CameraRefreshTimer = W9
Symbol CameraRefreshTime = W10
Symbol TrailMasterTimer = W11
Symbol ShutterDelay = W12
Symbol CheckCDSTimer = W13

Disablebod   'Disable the chips Brownout function

'Set standard variables
DayStatus = 1
CameraOn = 0
Type4 = 0
DaySetting = 35
NightSetting = 20
WalkTestTimer = 0
CameraRefreshTimer = 0
TrailMasterTimer = 0
CheckCDSTimer = 0
Nap 5   'Allow Power to settle so we can check some dip switch settings
If DIP1 = 1 Then      'Dip 1 is OFF so Feeder Delay is set for 1 minute
   FeederDelay = 27
ElseIf DIP1 = 0 Then   'Dip 1 is ON so Feeder Delay is set for 6 minutes
   FeederDelay = 157
EndIf
Nap 5   'Allow power to settle so we can check Dips 3 & 4
If DIP3 = 1 and DIP4 = 1 Then    'Dip 3 and Dip 4 is OFF so Type 1 camera is selected
   ShutterDelay = 1200      '1.2 second delay
   CameraRefreshTime = 25000   'Refresh camera once every hour if its dark
ElseIf DIP3 = 1 and DIP4 = 0 Then   'Dip 3 is OFF and Dip 4 is ON so Type 2 camera is selected
   ShutterDelay = 1500      '1.5 second delay
   CameraRefreshTime = 25000
ElseIf DIP3 = 0 and DIP4 = 1 Then   'Dip 3 is ON and Dip 4 is OFF so Type 3 Camera is selected
   ShutterDelay = 2000      '2.0 second delay
   CameraRefreshTime = 25000
ElseIf DIP3 = 0 and DIP4 = 0 Then   'Dip 3 and Dip 4 are both ON so Type 4 Camera is selected
   ShutterDelay = 2000      '2.0 second delay
   CameraRefreshTime = 25000
   Type4 = 1            'Type 4 camera selected so we will hold the power button down
EndIf
Nap 3
'Let's turn on the camera and power everything up for 30 seconds so pir circuit can stabalize
High LED   'Turn on the status led
Pause 500
High CamPwr   'Turn ON the camera
Pause 500
If Type4 = 0 Then
   Low CamPwr
EndIf
Sleep 14   'pause 30 seconds to allow pir circuit to stabilize
High CamPwr   'Turn the camera OFF
Pause 500
Low CamPwr
Pause 500
Low LED   'turn the led off
Nap 5      'Allow power to stabalize before we check the cds to see if it is day or night
High CDSPwr 'Apply power to CDS sensor
Nap 5        'Allow power to settle
Readadc     CDSRead, LightLevel
Low CDSPwr
If LightLevel < NightSetting then
      DayStatus = 0
ElseIf LightLevel >= DaySetting then
   DayStatus = 1
EndIf
CheckCDSTimer = 0
CameraRefreshTimer = 0
Nap 3

WalkTest:
If PIRInput = 1 Then
   Pause 50
   If PIRInput = 0 Then
      GoTo WalkTest
   EndIf
   High LED
   Nap 6        'Pause low power for 1.1 seconds
   Low LED
   Nap 8     'Pause low power for 4 seconds
   WalkTestTimer = 0
EndIf
If WalkTestTimer >= 208 then   'Approx 30 seconds
      Let B8 = 10   'Here is where you set the #of led flashes when walk test ends
      For Counter = 1 to B8
   High LED
   Pause 200
   Low LED
   Pause 200
   Next Counter
      Pause 1000
   SetInt %00100000, %00100000   'Set the PIR Interrupt so when motion is detected
   Pause 500
      GoTo MainProgramLoop   'Start main program loop
EndIf
WalkTestTimer = WalkTestTimer +  1   'Increment loop counter             
GoTo WalkTest

MainProgramLoop:
If CameraOn = 1 Then
   TrailMasterTimer = TrailMasterTimer + 1   'Increment timer for TrailMasterMode
   If TrailMasterTimer > 208 Then   'Approximately 30 seconds
      High CamPwr   'Turn Off the camera
      Pause 500
      Low CamPwr
      CameraOn = 0 'Camera is off
      CameraRefreshTimer = 0
      TrailMasterTimer = 0
      Sleep 2
   EndIf
EndIf

CameraRefreshTimer = CameraRefreshTimer + 1   'Increment timer for camera refresh every hour
If CameraRefreshTimer > CameraRefreshTime Then
   If DayStatus = 0 Then   'It is dark outside so lets turn on the camera and refresh the flash
      High CamPwr
      If Type4 = 0 Then
         Low CamPwr
      EndIf
      CameraOn = 0
      Sleep 5   'Leave camera ON for 10 seconds to refresh the flash capacitor
      High CamPwr
      Pause 500
      Low CamPwr
      CameraOn = 0
      Sleep 2
   ElseIf DayStatus = 1 Then   'Its Daytime outside so no need to turn on the camera
      Sleep 2
   EndIf
CameraRefreshTimer = 0
EndIf

CheckCDSTimer = CheckCDSTimer + 1   'Increment the timer for checking the cds sensor
If CheckCDSTimer > 2084 Then   'Check the CDS Every 5 Minutes
   Nap 5
   High CDSPwr
   Nap 5        'Allow power to settle
   Readadc     CDSRead, LightLevel
   Low CDSPwr
   If LightLevel < NightSetting then
         DayStatus = 0
   ElseIf LightLevel >= DaySetting then
      DayStatus = 1
   EndIf
CheckCDSTimer = 0
Nap 3
EndIf
Nap 3
GoTo MainProgramLoop


Interrupt:
If CameraOn = 0 Then   'PIR has sensed motion so lets turn on the camera
   High CamPwr   'Push the power button
   Pause 500
   If Type4 = 0 Then
      Low CamPwr
   EndIf
   CameraOn = 1   'Camera Is ON
   Pause ShutterDelay   'Pause the shutter delay
EndIf
High CamSht   'Push the shutter button to take a picture
Pause 3000
Low CamSht
If DIP2 = 1 Then   'Dip 2 is OFF so we are running in feeder mode so let's turn off the camera
   Pause 2000
   High CamPwr   'Turn OFF the camera
   Pause 500
   Low CamPwr
   CameraOn = 0    'Camera is now OFF
   CameraRefreshTimer = 0
   TrailMasterTimer = 0
   Sleep FeederDelay   'Sleep the amount of time selected by Dip 1 before we look for motion again
   SetInt %00100000, %00100000   'Reset the Interrupt for the next PIR detection
   Return   'Return to the Main Program Loop
EndIf
If DayStatus = 1 Then   'Its daytime so no need for any extra time to recharge flash
   Pause 1000
ElseIf DayStatus = 0 Then   'Its dark outside so lets pause a few seconds and let flash charge
   Pause 4000
EndIf
TrailMasterTimer = 0   'Reset the TrailMaster Timer
CameraRefreshTimer = 0    'Reset the camera refresh Timer
SetInt %00100000, %00100000   'Reset the Interrupt for the next PIR detection
Return   'Return to the Main Program Loop


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic

All times are


Who is online

Array


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group