Welcome Anonymous
Fledgling
Fledgling
It is currently Tue Oct 27, 2020 9:24 am

All times are



Post new topic Reply to topic  [ Array ] 
Author Message
PostPosted: Sat Feb 12, 2011 8:58 am 
Offline
Emperor
Emperor
User avatar

Joined: Fri Aug 13, 2010 8:35 pm
Posts: 553
Location: central kentucky
What I have in mind is a program for w1 to take daytime video.I have a few that I would like to turn in to video units because the flash is so weak. Sense the AIO board has a daylight sensor on it this sould be possible.
I wont it to take 15 to 30sec clips.
So all you experienced program writers this sould be a piece of cake. :puterhi


Top
 Profile  
Reply with quote  
PostPosted: Sun Feb 13, 2011 4:54 am 
Offline
Emperor
Emperor

Joined: Tue Feb 16, 2010 6:19 am
Posts: 758
This one from bowgod should be real close. It is setup for video, but it will need some changes.

*
http://www.hagshouse.com/forums/index.p ... opic=42441


Top
 Profile  
Reply with quote  
PostPosted: Sun Feb 13, 2011 5:53 am 
Offline
King
King
User avatar

Joined: Tue Feb 16, 2010 3:20 pm
Posts: 482
You mean this one buckshot?

http://www.hagshouse.com/forums/index.p ... 43085&st=0

It would need a few changes in there to get rid of some of the stuff not needed like taking pics at night etc... But this one would be a good starter program for what your trying to do.


Top
 Profile  
Reply with quote  
PostPosted: Sun Feb 13, 2011 6:57 am 
Offline
Emperor
Emperor
User avatar

Joined: Fri Aug 13, 2010 8:35 pm
Posts: 553
Location: central kentucky
Sorry guys not a member of Hags and there not taken new ones at this time.
Could you post it here?


Top
 Profile  
Reply with quote  
PostPosted: Sun Feb 13, 2011 7:26 am 
Offline
King
King
User avatar

Joined: Tue Feb 16, 2010 3:20 pm
Posts: 482
Code:
' PICAxe 20x2 Code for Sony M1 that does video during the day and takes IR pics at night using a
' Vivitar 3700 slave flash. The cap inside the camera was replaced since the flash on the camera is useless. 

'=========
'11/25/10
'=========
'Modified Smclark code from A503
'=========================
'Sony M1 w/ Slave Flash
'=========================




#picaxe20x2
'#terminal 9600
#no_data
#no_table
disablebod

'=====================================================
' Map Ports
'=====================================================
Symbol PT_IN = B.0 ' Photo Transistor input
Symbol CDS_Out = C.5 ' Output to LDR voltage Divider
Symbol Flash_Out = C.4 ' slave flash opto
Symbol Flash_Charge = C.3 ' Flash Charge Mosfet
Symbol PT_Out = C.2 ' Photo Transistor output
Symbol Video_Out = C.1 ' Spare Mosfet used to push video button
Symbol Battery_Monitor = B.6 ' ADC Input for battery monitor
Symbol LDR_IN = B.5 ' LDR ADC Input
Symbol Shutter_Out = B.4 ' Shutter Mosfet
Symbol Power_Out = B.3 ' Power Mosfet
Symbol LED_Out = B.2 ' LED
Symbol PIR_In = B.1 ' Input from PIR Circuit
Symbol BkGrnd_Timer = B1
Symbol Byte_Var = B2
Symbol ValidPIR = B3
Symbol PIR_Event = B4
Symbol WlkTestFlag = B5 ' Walk test status flag
Symbol WlkTestTime = B6 ' Number of 15 sec periods for walk test
Symbol Activity_Flag = B7
Symbol Normal_OP = B8
Symbol CamRefresh = B9
Symbol Activity_Count = B10
Symbol Event_Delay = B11
Symbol CamEvent_Flag = B12
Symbol Cam_Mode = B13
Symbol PRELOAD = 63890 ' approx 15 sec at 31khz
Symbol Flash_Flag = b14' Flag to count the # of flashes seen
Symbol TO_Counter = W1 ' Timeout counter
Symbol First_Flash = b15
Symbol Wait_Loop = W2
Symbol CDS_Value = b16
Symbol Night_Flag = b17
Symbol Day = b18
Symbol Night = b19
Symbol SlaveRefresh = b20
Symbol FlashCharge = b21
Symbol PT_On = b22


'=====================================================
' Set Port Directions
'=====================================================
Input PT_IN
Output CDS_Out
Output Flash_Out
Output Flash_Charge
Output PT_Out
Output Video_Out
Output Battery_Monitor
Input LDR_IN
Output Shutter_Out
Output Power_Out
Output LED_Out
Input PIR_In
Output C.7
Output C.0
Output B.7
Output A.0


'=====================================================
'Pullups
'=====================================================
'Disable all PUs
pullup %00000000

'=====================================================
' Configure ADC
'=====================================================
adcsetup = %010000000000 'make adc 10 a input
'============================================================================

' STARTUP
'============================================================================

; Allow board to stabilize for 20 sec

High LED_Out
pause 5000
GoSub CamPWR
pause 5000
GoSub CamPWR
pause 20000
Low LED_Out




Powerup:
WlkTestTime = 2 ' set walk test timer to 15sec intervals of timer
WlkTestFlag = 1 ' Turn on walk test mode
CamRefresh = 0
Event_Delay = 2 ' # of 15sec periods to wait before another cam event occurs
CamEvent_Flag = 0 ' Set flag to off
Cam_Mode = 1
Activity_Flag = 0
Activity_Count = 0
Normal_OP = 1 ' board is operating in normal mode if 0. Activity mode or walktest if 1
Night = 155; lux level 7 = 100k(R16) 2v @ 4v 2 X 256 / 4 = 128
Day = 144
Night_Flag = 0
SlaveRefresh = 0
' Do initial board setup for light & battery levels
GoSub CdsChk
IF Night_Flag = 1 Then GoSub Slave_Charge
'=====================================================
'Configure Interrupts
hintsetup %01100110 'set HINT2(PIR) & HINT1(FLASH) to trigger Interrupt at rising edge
Setintflags %00000100,%00000100 'enable interrupt flags


'=====================================================
Main: ' Main loop that checks for a PIR event, charges slave, turns off the cam if in trail mode and increments counters & timers, then sleeps for 15 secs and does it all over again:
'=====================================================

If PIR_Event = 1 Then GoSub PIR_INTService

' Slave charge every 10 minutes for 10 seconds if night_flag = 1 (40 15 second periods)
If SlaveRefresh = 40 And Night_Flag = 1 Then
GoSub Slave_Charge
SlaveRefresh = 0 ' restart our 10min period
EndIf

''Turn off cam if no more activity for trail mode.
'If Activity_Flag = 1 And Activity_Count = 0 Then
' High Power_Out
' pause 150
' Low Power_Out ' Turn camera off
' If Pinc.3 = 1 Then ' Turn of mosfet for flash charging
' Low Flash_Charge
' EndIf
' Activity_Flag = 0

'EndIf


' Turn off walk test if time is up
If WlkTestFlag = 1 And WlkTestTime = 0 Then
WlkTestFlag = 0 'turn off walk test If Time is up
Byte_Var = 0 ' Flash LED to indicate walk test over
For Byte_Var = 0 To 7
pause 400
Toggle LED_Out
Next
Pause 3000 ' pause so CdsCHK does not see led and think it's day time
EndIf



' Increment counters & timers
Inc BkGrnd_Timer
If WlkTestFlag = 1 And WlkTestTime <> 0 Then Dec WlkTestTime : EndIf
'If WLKTestFlag = 0 Then Inc CamRefresh : EndIf
If Activity_Flag = 1 And Activity_Count >= 0 Then Dec Activity_Count : EndIf

If Night_Flag = 1 Then Inc SlaveRefresh :EndIf

GoSub CdsChk
Sleep 7
GoTo Main


Interrupt:
'sertxd ("Interrupt ",13,10)
If hint2flag = 1 Then 'Check to see if INT2 has been triggered
PIR_Event = 1 'Set the PIR event flag
hint2flag = 0 'reset hint2flag to 0
EndIf

If hint1flag = 1 Then ' Flash has been detected
'sertxd ("Flash Flags ", #Flash_Flag,13,10)
First_Flash = 1
IF PT_On = 0 then Inc Flash_Flag :endif
hint1flag = 0
Setintflags %00000010,%00000010 'enable interrupt flags FOR FLASH ONLY!
EndIf


hintflag = 0

Return


PIR_INTService:

PIR_Event = 0
; +++++++ Now See how long the port is high ++++++++++++++
Byte_Var = 0 'clear the counter
Do While Pinb.1= 1 'While the PIR is high (motion detected)
Inc Byte_Var 'Inc our counter
'Pause 1 'un-comment for a longer period
If Byte_Var >= 2 Then
ValidPIR = 1 'flag the motion detected as valid
Exit
EndIf
Loop



If ValidPIR = 1 Then 'If valid motion then
ValidPIR = 0

' WalkTest
If WlkTestFlag = 1 Then 'if walktest then turn on led to indicate PIR event
WlkTestTime = 2 'reset walktest timer back to original count again
Byte_Var = 0
For Byte_Var = 0 To 19
Toggle LED_Out
Pause 20
Next
Pause 4000; wait a few secs to settle PIR
GoTo PIR_INTService_Exit
EndIf


If Night_Flag = 1 Then
High PT_Out ' Turn on PT to detect flash
Setintflags %00000010,%00000010 'enable interrupt flags FOR FLASH ONLY!
High Flash_Charge
EndIf

Flash_Flag = 0

If Activity_Flag = 0 And WlkTestFlag = 0 Then
GoSub CamPWR ' Turn the camera on for the first time
Pause 1500
If night_flag = 1 then
Gosub Fire_Flash
Else
Gosub Video
EndIf

'Activity_Flag = 1
Pause 3000
'Activity_Count = 2 ' set activity counter to 2 allowing 30sec
Gosub CamPwr ' power cam down

EndIf

If Night_Flag = 1 Then
Pause 12000 'Allow flash to recharge
Low Flash_Charge 'and then turn off
Pause 20000
Else
Pause 30000
EndIF

EndIf
PIR_INTService_Exit:
'sertxd ("PIR Exit ",13,10)
Setintflags %00000100,%00000100
ValidPIR = 0
Return

LED_Blink:
Byte_Var = 0
For Byte_Var = 0 To 19
Toggle LED_Out
Pause 20

Next
Return


CamPWR:
High Power_Out
pause 150
Low Power_Out
Return

Shutter:
High Shutter_Out
pause 150
Low Shutter_Out
Return

Video:
High Video_Out
pause 150   
Low Video_Out
Pause 30000
High Video_Out
pause 150   
Low Video_Out
Return







Fire_Flash:
SetFreq m16
flash_flag = 0
'sertxd ("Flash Start ",13,10)
'Gosub Shutter
High Shutter_Out
Do
Inc TO_Counter
If TO_Counter =1000 Then
Flash_Flag = 0 ' Reset flags
TO_Counter = 0
GoSub Flash_Led ' Flash Led to indicate time out.
GoTo Flash_Exit
EndIf
Loop while flash_flag <> 2

' FireFlash


'If Flash_Flag = 2 Then
High Flash_Out

pause 400

Low Flash_Out
Flash_Flag = 0 ' Reset flags
TO_Counter = 0
FlashCharge = 1 ' Flash fired so set flag to charge it.
GoTo Flash_Exit

'EndIf



Flash_Exit:
Low Shutter_Out
First_Flash = 0
Flash_Flag = 0
Low PT_Out
SetFreq m8
'sertxd ("Flash Exit ",13,10)

Return

Flash_Led:
For b0 = 1 To 50
Toggle LED_Out
pause 20
Next
Return


CdsChk:
High CDS_Out 'Turn on pin to supply voltage to cds voltage divider
readadc 10 , CDS_Value ' Read light value
'sertxd ("CDS Value ",#CDS_Value,13,10)
'IF Night_Flag IS SET THEN WE CHECK TO SEE IF THE LIGHT LEVEL IS > = 144 IF ADC GREATER OR = THEN STILL DARK AND EXIT
'IF ITS BELOW 144 THEN WE CLEAR NITEFLG AND RETURN
'IF Night_Flag = 0 THEN CHECK TO SEE IF ADC ABOVE 155 THEN WE SET NITEFLG AND RETURN
Low CDS_Out 'Turn off voltage divider
If Night_Flag = 1 And CDS_Value >= Day Then
GoTo CdsChk_Exit 'already set and Still dark so we exit
Else
Night_Flag = 0 ' already set and Daylight so clear flag
EndIf
If Night_Flag = 0 And CDS_Value >= Night Then
Night_Flag = 1 ' Its dark so set flag
Gosub Slave_Charge ' Charge the slave up also
Else
Night_Flag = 0 ' Daylight so clear flag
EndIf
CdsChk_Exit:

Return


Slave_Charge:
High Flash_Charge
Pause 12000 ' charge for 12sec
Low Flash_Charge
Return


Top
 Profile  
Reply with quote  
PostPosted: Sun Feb 13, 2011 8:17 am 
Offline
Emperor
Emperor
User avatar

Joined: Fri Aug 13, 2010 8:35 pm
Posts: 553
Location: central kentucky
Thanks bowgod02, Ill see what I can do with this,more question to come.


Top
 Profile  
Reply with quote  
PostPosted: Sun Feb 13, 2011 10:12 am 
Offline
King
King
User avatar

Joined: Tue Feb 16, 2010 3:20 pm
Posts: 482
connect your video wire to the spare mosfet. Thats how it is in the code right now.


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

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:  
Powered by phpBB® Forum Software © phpBB Group