New approach to Rotary Encoder


Closed Thread
Results 1 to 40 of 91

Hybrid View

  1. #1
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,133


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    If you place two 100nF to ground for debouncing false results will be limited.
    Ioannis

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


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    I already tried that...without results ! %$@#^*#@^ roller !

  3. #3
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    not sure to understand your thing, but give yourself a chance, plug the encoder on a set of "interruptable" I/O, the wiper to GND and use interrupt to triger the Encoder reading. end of the story.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  4. #4
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    Code:
                END SELECT
                oldState = newState
                GOSUB UpOrDn  
                pause 100              ' <--- Have you removed this?
        endif           
        ENDIF

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


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    Mr.Mister_E : Can not put the wiper to GND because of hardware ( http://www.picbasic.co.uk/forum/show...126#post113126 ).
    Mr.Henrik : I remove already this line ; is better but not best.

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


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    I tried to ad a second check of direction :
    Code:
    loop:
        PortA.1 = 0
        newState = PortA & 011100         ; this is for my hw : 11100 = 28
        pause 50                             ; no matter what I put here : none, @ nop , pause 100 !
            newa = PortA & 011100
        PortA.1 = 1
        If newState <> 28 THEN
            If newState <> oldState THEN
                  
                Select Case oldState
                    Case 12
                    If NewState = 20 THEN 
                            if newa = 24 then dir=up
                    endif        
                    
                    case 12
                    If NewState = 24 THEN 
                            if newa = 20 then dir=dn
                    endif
     
                    
                    Case 20
                    If NewState = 24 THEN 
                            if newa = 12 then dir=up
                    endif  
                    
                    Case 20
                    If NewState = 12  THEN 
                            if newa = 24 then dir=dn
                    endif     
                    
                    Case 24
                    If NewState = 12 THEN
                            if newa = 20 then dir=up
                    endif
                    
                    Case 24
                    If NewState = 20 THEN
                            if newa = 12 then dir=dn
                    endif
    
                END SELECT
                oldState = newstate
                GOSUB UpOrDn 
           endif     
        ENDIF
    But, in this way, any direction I rotate, the command is always "Dir Up" ?! Never goes "down" ...

  7. #7
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: New approach to Rotary Encoder

    And what does the UpOrDn routine look like?

Members who have read this thread : 3

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