Code test

hippy

Technical Support
Staff member
The lazy dog ducked beneath the quick brown fox.

Code:
[color=Green][i]'AXE112 Colour module using PICAXE-08M
'Sorts coloured Smarties(TM) into correct position bin

; MODIFIED 05-08-2005 
; FOR USE WITH HITEC HS-311 SERVO 
; LIGHT SENSOR SUPPORTED BY 30mm+12mm SPACER

' ********************************************
' Servo Position Constants

' Predefined servo positions - will require editing for your setup!
' These positions need to be found by experimentation[/i][/color]

[color=Blue][b]symbol [/b][/color][color=Black]pos_tube [/color][color=DarkCyan]= [/color][color=Navy]203         [/color][color=Green][i]' tube position[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]pos_scan [/color][color=DarkCyan]= [/color][color=Navy]178         [/color][color=Green][i]' scan position[/i][/color]

[color=Blue][b]symbol [/b][/color][color=Black]pos_red [/color][color=DarkCyan]= [/color][color=Navy]143          [/color][color=Green][i]' red bin[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]pos_green [/color][color=DarkCyan]= [/color][color=Navy]110        [/color][color=Green][i]' green bin[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]pos_blue [/color][color=DarkCyan]= [/color][color=Navy]83          [/color][color=Green][i]' blue bin[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]pos_yellow [/color][color=DarkCyan]= [/color][color=Navy]124       [/color][color=Green][i]' yellow bin[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]pos_reject [/color][color=DarkCyan]= [/color][color=Navy]63        [/color][color=Green][i]' reject bin


' ********************************************
' PICAXE-08M input/output pins[/i][/color]

[color=Blue][b]symbol [/b][/color][color=Black]LED [/color][color=DarkCyan]= [/color][color=Navy]0    [/color][color=Green][i]' Colour sensor white LEDs    (output 0)[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]S2  [/color][color=DarkCyan]= [/color][color=Navy]1    [/color][color=Green][i]' Colour sensor select S2     (output 1)[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]ser [/color][color=DarkCyan]= [/color][color=Navy]2    [/color][color=Green][i]' Servo                       (output 2)[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]CSI [/color][color=DarkCyan]= [/color][color=Navy]3    [/color][color=Green][i]' Colour sensor pulse         (input 3)[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]S3  [/color][color=DarkCyan]= [/color][color=Navy]4    [/color][color=Green][i]' Colour sensor select S3     (output 4)

' ********************************************
' Variables[/i][/color]

[color=Blue][b]symbol [/b][/color][color=Black]counter [/color][color=DarkCyan]= [/color][color=Purple]b0           [/color][color=Green][i]' Counters for loops[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]counter2 [/color][color=DarkCyan]= [/color][color=Purple]b1[/color]
[color=Blue][b]symbol [/b][/color][color=Black]start_pos [/color][color=DarkCyan]= [/color][color=Purple]b2         [/color][color=Green][i]' Servo start position[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]end_pos [/color][color=DarkCyan]= [/color][color=Purple]b3           [/color][color=Green][i]' Servo end position[/i][/color]

[color=Blue][b]symbol [/b][/color][color=Black]red_value   [/color][color=DarkCyan]= [/color][color=Purple]w4       [/color][color=Green][i]' Colour sensor red content[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]blue_value  [/color][color=DarkCyan]= [/color][color=Purple]w5       [/color][color=Green][i]' Colour sensor blue content[/i][/color]
[color=Blue][b]symbol [/b][/color][color=Black]green_value [/color][color=DarkCyan]= [/color][color=Purple]w6       [/color][color=Green][i]' Colour sensor green content
                              ' Remember w4-w6 uses b8-b13!


' ********************************************

'initialise LED and move servo to tbe tube position[/i][/color]

[color=Black]init: [/color][color=Blue][b]low [/b][/color][color=Black]LED                 [/color][color=Green][i]' make LED pin an output
      [/i][/color][color=Black]start_pos [/color][color=DarkCyan]= [/color][color=Black]pos_tube    [/color][color=Green][i]' set start position
      [/i][/color][color=Blue][b]servo [/b][/color][color=Black]ser, pos_tube     [/color][color=Green][i]' move servo
      [/i][/color][color=Blue][b]pause [/b][/color][color=Navy]300               [/color][color=Green][i]' delay for servo to move

' ********************************************

' scan and sort a sweet every 3 seconds[/i][/color]

[color=Black]main:
      [/color][color=Blue][b]low [/b][/color][color=Black]ser           [/color][color=Green][i]' servo off to save power 
      [/i][/color][color=Blue][b]pause [/b][/color][color=Navy]3000        [/color][color=Green][i]' wait three seconds
      
' vibrate sweet out of tube

      [/i][/color][color=Blue][b]for [/b][/color][color=Black]counter2 [/color][color=DarkCyan]= [/color][color=Navy]1 [/color][color=Blue][b]to [/b][/color][color=Navy]3
            [/color][color=Black]end_pos [/color][color=DarkCyan]= [/color][color=Black]pos_tube [/color][color=DarkCyan]- [/color][color=Navy]2
            [/color][color=Blue][b]gosub [/b][/color][color=Black]move
            end_pos [/color][color=DarkCyan]= [/color][color=Black]pos_tube
            [/color][color=Blue][b]gosub [/b][/color][color=Black]move_back
      [/color][color=Blue][b]next [/b][/color][color=Black]counter2[/color]

[color=Green][i]' move to scanning position 

      [/i][/color][color=Black]end_pos [/color][color=DarkCyan]= [/color][color=Black]pos_scan
      [/color][color=Blue][b]gosub [/b][/color][color=Black]move[/color]

[color=Green][i]' scan the colour

      [/i][/color][color=Blue][b]gosub [/b][/color][color=Black]colour[/color]

[color=Green][i]' move to correct bin

      [/i][/color][color=Blue][b]gosub [/b][/color][color=Black]move
      [/color][color=Blue][b]pause [/b][/color][color=Navy]100[/color]

[color=Green][i]' back to start

      [/i][/color][color=Black]end_pos [/color][color=DarkCyan]= [/color][color=Black]pos_tube
      [/color][color=Blue][b]gosub [/b][/color][color=Black]move_back

      [/color][color=Blue][b]goto [/b][/color][color=Black]main[/color]
 
Last edited:

hippy

Technical Support
Staff member
Code:
[color=Green]'AXE112 Colour module using PICAXE-08M
'Sorts coloured Smarties(TM) into correct position bin

; MODIFIED 05-08-2005 
; FOR USE WITH HITEC HS-311 SERVO 
; LIGHT SENSOR SUPPORTED BY 30mm+12mm SPACER

' ********************************************
' Servo Position Constants

' Predefined servo positions - will require editing for your setup!
' These positions need to be found by experimentation[/color]

[color=Blue]symbol [/color][color=Black]pos_tube [/color][color=DarkCyan]= [/color][color=Navy]203         [/color][color=Green]' tube position[/color]
[color=Blue]symbol [/color][color=Black]pos_scan [/color][color=DarkCyan]= [/color][color=Navy]178         [/color][color=Green]' scan position[/color]

[color=Blue]symbol [/color][color=Black]pos_red [/color][color=DarkCyan]= [/color][color=Navy]143          [/color][color=Green]' red bin[/color]
[color=Blue]symbol [/color][color=Black]pos_green [/color][color=DarkCyan]= [/color][color=Navy]110        [/color][color=Green]' green bin[/color]
[color=Blue]symbol [/color][color=Black]pos_blue [/color][color=DarkCyan]= [/color][color=Navy]83          [/color][color=Green]' blue bin[/color]
[color=Blue]symbol [/color][color=Black]pos_yellow [/color][color=DarkCyan]= [/color][color=Navy]124       [/color][color=Green]' yellow bin[/color]
[color=Blue]symbol [/color][color=Black]pos_reject [/color][color=DarkCyan]= [/color][color=Navy]63        [/color][color=Green]' reject bin


' ********************************************
' PICAXE-08M input/output pins[/color]

[color=Blue]symbol [/color][color=Black]LED [/color][color=DarkCyan]= [/color][color=Navy]0    [/color][color=Green]' Colour sensor white LEDs    (output 0)[/color]
[color=Blue]symbol [/color][color=Black]S2  [/color][color=DarkCyan]= [/color][color=Navy]1    [/color][color=Green]' Colour sensor select S2     (output 1)[/color]
[color=Blue]symbol [/color][color=Black]ser [/color][color=DarkCyan]= [/color][color=Navy]2    [/color][color=Green]' Servo                       (output 2)[/color]
[color=Blue]symbol [/color][color=Black]CSI [/color][color=DarkCyan]= [/color][color=Navy]3    [/color][color=Green]' Colour sensor pulse         (input 3)[/color]
[color=Blue]symbol [/color][color=Black]S3  [/color][color=DarkCyan]= [/color][color=Navy]4    [/color][color=Green]' Colour sensor select S3     (output 4)

' ********************************************
' Variables[/color]

[color=Blue]symbol [/color][color=Black]counter [/color][color=DarkCyan]= [/color][color=Purple]b0           [/color][color=Green]' Counters for loops[/color]
[color=Blue]symbol [/color][color=Black]counter2 [/color][color=DarkCyan]= [/color][color=Purple]b1[/color]
[color=Blue]symbol [/color][color=Black]start_pos [/color][color=DarkCyan]= [/color][color=Purple]b2         [/color][color=Green]' Servo start position[/color]
[color=Blue]symbol [/color][color=Black]end_pos [/color][color=DarkCyan]= [/color][color=Purple]b3           [/color][color=Green]' Servo end position[/color]

[color=Blue]symbol [/color][color=Black]red_value   [/color][color=DarkCyan]= [/color][color=Purple]w4       [/color][color=Green]' Colour sensor red content[/color]
[color=Blue]symbol [/color][color=Black]blue_value  [/color][color=DarkCyan]= [/color][color=Purple]w5       [/color][color=Green]' Colour sensor blue content[/color]
[color=Blue]symbol [/color][color=Black]green_value [/color][color=DarkCyan]= [/color][color=Purple]w6       [/color][color=Green]' Colour sensor green content
                              ' Remember w4-w6 uses b8-b13!


' ********************************************

'initialise LED and move servo to tbe tube position[/color]

[color=Black]init: [/color][color=Blue]low [/color][color=Black]LED                 [/color][color=Green]' make LED pin an output
      [/color][color=Black]start_pos [/color][color=DarkCyan]= [/color][color=Black]pos_tube    [/color][color=Green]' set start position
      [/color][color=Blue]servo [/color][color=Black]ser, pos_tube     [/color][color=Green]' move servo
      [/color][color=Blue]pause [/color][color=Navy]300               [/color][color=Green]' delay for servo to move

' ********************************************

' scan and sort a sweet every 3 seconds[/color]
 
Top