New and looking for help


Closed Thread
Results 1 to 4 of 4

Hybrid View

  1. #1
    Join Date
    Aug 2005
    Location
    down south
    Posts
    90


    Did you find this post helpful? Yes | No

    Default

    this is something I did for the grand kids one day (just grab the file had not recheck
    to make sure it still works)
    thought it mite help you it uses a A/D to drive a servo
    remember I'm not a pro. just a hobbyist
    Code:
    '****************************************************************
    '*  Name    : LIGHT BOX.BAS                                      *
    '*  Author  : grounded                                   *
    '*  Notice  : Copyright (c)   *
    '*          : All Rights Reserved                               *
    '*  Date    : 3/12/2007                                         *
    '*  Version : 1.0                                               *
    '*  Notes   : IF YOU SHINE A LIGHT ON THE PHOTO CELL THE BOX OPENS                                               
    '*          : AND STAYS OPEN UNTIL THE LIGHT IS REMOVED                                              
    '****************************************************************
      pic16f676   'fuses set in inc file
    'INTRC_OSC_NOCLKOUT, WDT_ON, MCLR_OFF,
    'CPD_OFF, BOD_OFF, PWRT_ON,PROTECT_OFF
    DEFINE OSC 4
    DEFINE ADC_BITS 10 
    DEFINE ADC_CLOCK 3 
    DEFINE ADC_SAMPLEUS 50						
    Pause 7000                 'DELAY TO LET STABILIZE AFTER POWER UP & MODE 
    CMCON = 7                   'COMPARATOR OFF
    VRCON = 0                   'VOLTAGE REF. DISABLE	
    TRISA = %00001101           'MAKE A.2 & A.3 INPUTS
    TRISC = %00000011		    'MAKE .C.0,C.1 PORTC INPUTS
    ANSEL = %00000001           'PORTA.0 A/D IN,RST DIGITAL
    ADCON0.7 = 1                'RIGHT JUSTIFY FOR 10 BIT 
    OPTION_REG=%01000000        'RAISING EDGE/WEAK PULL UP  
    WPUA = %00000000            'NO WEAK PULLUPS  
    
    SYMBOL ADC  =PORTA.0         'ADCIN
    SYMBOL LDR  =PORTA.1         'PHOTO POWER
    SYMBOL PIR  =PORTA.2         'PIR TRIPS HIGH
    SYMBOL MODE =PORTA.3         'MODE BUTTON
    SYMBOL smA   =PORTA.4        'SERVO CONTROL OUTPUT
    SYMBOL LED  =PORTA.5         'WALKTEST AND POWER LED
    
    SYMBOL DIPB =PORTC.0         'DIP SWITCH 2 N/A
    SYMBOL DIPA =PORTC.1         'DIP SWITCH 1 N/A
    SYMBOL DPO  =PORTC.2         'DIP SWITCH POWER N/A
    SYMBOL RL   =PORTC.3         'N/A REMOTE LIGHT  N/A
    SYMBOL CPO  =PORTC.4         'CAM POWER BUTTON  N/A
    SYMBOL RC   =PORTC.5         'RECORD BUTTON     N/A
    '****************************SET UP VARIBLES***************************
     
    NIGHT VAR WORD:NIGHT=0        'LDR/ADCIN VAR FOR LIGHT SENSOR
    '********************************TURN EVERYTHING OFF*********************
    ADC=0:LDR=0:PIR=0:MODE=0:smA=0:LED=0:DIPA=0:DIPB=0:DPO=0:RL=0:CPO=0:RC=0 
    
     '************************************ CAL MODE*******************
     led=1 :pause 3000 :led=0
    IF MODE=0 Then GoTo  CAL  'IF MODE BUTTON =0 THEN GOTO LRD CAL MODE
    GoTo MAIN                  'SKIP CAL MODE  GO MAIN
    CAL:
    LDR=1:Pause 250           'TURN LDR/ADCIN POWER ON
    
    LED=1:Pause 250:LED=0:Pause 250
    LED=1:Pause 250:LED=0:Pause 1000  ' FLASH YOUR IN CAL MODE
    TEST:
    NIGHT=0
    LED=0
    ADCIN 0,NIGHT          'CHECK AN# READ AN1 & STORE IN NIGHT VAR
     
     IF NIGHT=<200  Then LED=1   'IF LED IS ON THEN IT'S LIGHT ENOUGHT TO OPEN BOX
     Pause 250
     
     IF MODE =0 Then GoTo main    'LEAVE CAL MODE 
     
     GoTo TEST                   'LOOP AND CHECK FOR LIGHT AGAIN
     
     
    main:
    
    asc var word : asc=70
    ldr=1
    NIGHT=0
    LED=0
    ADCIN 0,NIGHT          'CHECK AN# READ AN1 & STORE IN NIGHT VAR
     
    pause 250 
    if night =< 200 then goto open
     goto main
    
    
    open
    
    PULSOUT SMA,asc
    PAUSE 18 
    
    ASC=ASC+1
    
     if ASC=>240 THEN PAUSE 2000: GOTO shut
    GOTO open 
     shut:
     NIGHT=0
     pause 20
    ADCIN 0,NIGHT          'CHECK AN# READ AN1 & STORE IN NIGHT VAR
     pause 20
    if night => 200 then goto close
    goto shut
    close
     led=0
    PULSOUT SMA,asc
    PAUSE 18 
    
    ASC=ASC-1
    '
     if ASC=<65 THEN PAUSE 2000: GOTO main
    GOTO close
    Last edited by grounded; - 13th March 2010 at 12:58.
    " be nice it's people like me that make people like you look smart"
    yes I read the datasheet, of the 300 pages I understood 10

  2. #2
    Join Date
    Mar 2010
    Posts
    2


    Did you find this post helpful? Yes | No

    Default Thanks

    Thanks, guys, now to add some buttons and play with the logic portion

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts