Problems with my "intelligent timer"


Closed Thread
Results 1 to 16 of 16

Hybrid View

  1. #1
    Join Date
    May 2008
    Location
    Italy
    Posts
    825


    Did you find this post helpful? Yes | No

    Default Re: Problems with my "intelligent timer"

    You have to write:

    Delay VAR word

    Wipper:
    Delay = wipp_time * 1000
    While gpio.5 = 0
    Pause 1000
    Led = !Led
    If Delay= 0 then Skip_0
    Pause 1
    Delay = Delay - 1
    Skip_0:
    Wend
    Return


    Cheers

    Al.
    All progress began with an idea

  2. #2
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Problems with my "intelligent timer"

    Thank You !
    ...but the schematic dont work if I wish ...
    Code:
    @ Device PIC12F675,INTRC_OSC_NOCLKOUT, WDT_OFF,PWRT_ON,PROTECT_OFF,MCLR_OFF,BOD_OFF
    Include "C:\WIPPER\Elapsed.bas"   ' just wsave(s) removed
    CLEAR
    DEFINE OSC 4
    ANSEL=0       
    CMCON=7
    TRISIO=%00100000
    
    maneta      var gpio.5
    LED         var GPIO.2         ' set GPIO.0 port as OUTPUT (LED)
    wipp_time   var byte           ' number of seconds while LED=off
    nr          var bit
    delay       var word
    
    nr = 0
    low LED
    Gosub ResetTime                ' reset Time to  0d-00:00:00.00
    
    Main:
    IF GPIO.5 = 1 then
      nr=nr+1
         if nr=1 then 
            gosub memo             ' set wipe_time 
         else
            gosub wipper           ' use seconds elapsed as wipe_time
            nr = 0                 ' ready for another setting of wipe_time        
         endif
    if nr > 2 then nr =  0     
    ENDIF    
    Goto Main
    
    memo:
    gosub StartTimer
        while maneta = 1
          	wipp_time = seconds    ' seconds counts from the beginning of gpio.5 = 0                 
        wend
    Gosub StopTimer
    Gosub ResetTime
    return
    
    
    Wipper:
    Delay = wipp_time * 1000
    While gpio.5 = 1
    Pause 1000
    Led = !Led
    If Delay= 0 then Skip_0
    Pause 1
    Delay = Delay - 1
    
    Skip_0:
    Wend
    Return
    Attached Files Attached Files

  3. #3
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Problems with my "intelligent timer"

    There are other advices ?! Please !

  4. #4
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Problems with my "intelligent timer"

    I think it's a problem with the title of my topic ... since me I am not intelligent enough to solve this !
    I try another way :
    Code:
    @ Device PIC12F675,INTRC_OSC_NOCLKOUT, WDT_OFF,PWRT_ON,PROTECT_OFF,MCLR_OFF,BOD_OFF
    
    CLEAR
    DEFINE OSC 4
    ANSEL=0       
    CMCON=7
    TRISIO=%00100000
    
    maneta      var GPIO.5
    LED         var GPIO.2         ' set GPIO.0 port as OUTPUT (LED)
    wipp_time   var word           ' number of seconds while LED=off
    nr          var word
    
    nr = 0
    
    Main:
    IF maneta = 1 then
    nr = nr + 1
        if nr= 1 then
           gosub memo
             else
           gosub wipper
        endif
    ENDIF    
    Goto Main
    
    memo:
        while maneta = 1
        low led
          	wipp_time = wipp_time + 1    ' counting in 100 ms steps                
        pause 100
        wend
    nr = 1 
    return
    
    Wipper:
        while maneta = 1 
            high led
            pause 1000
            low led 
            pause wipp_time * 100
        wend 
    nr = 0
    wipp_time = 0    
    Return
    Without results ! Variable "nr" seems to NOT increase ...I push "maneta", then go to memo, I push again, then go to wipper, I push again, then go to wipper again ?!?

  5. #5
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,154


    Did you find this post helpful? Yes | No

    Default Re: Problems with my "intelligent timer"

    Sorry Fratello, but your thread title excludes me from this discussion.

    I wish I could help you but this is over my head. I have enough problem keeping concentrated on my own little project.

    Robert

  6. #6
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Problems with my "intelligent timer"

    Thanks anyway for attention !
    How I say :
    Re: Problems with my "intelligent timer"
    I think it's a problem with the title of my topic ... since me I am not intelligent enough to solve this !
    ...to note the use of quotes in first row...
    This is my working (in Proteus) code, i will try it tomorrow :
    Code:
    MAIN:
      led1=0
      led2=0
      pause 50
    if but1=1 then
      cnt = cnt+ 1
               if cnt = 1 then     
                    while but1=1
                    gosub memo
                    wend
               endif
    
               if cnt = 2 then                         
                    while but1=1
                    gosub check
                    wend
               endif
                  
    if cnt > 2 then cnt=0               
    endif 
    Goto MAIN
    
    '==================================================
    check:          
        high led2
        pause 500
        low led2
    for num = 0 to 500   
        pause wipper 
        call breking           ' this is the new part added !!!
    next num    
    return
    
    breking:
    if but1 = 0 then 
    wipper = 0
    goto main
    endif
    return
    
    memo:
    high led1
        wipper = wipper + 1    ' counting in 500 ms steps                
        pause 500
    low led1
        pause 500
    RETURN
    Best regards !

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