; GOLD CREST PROJECT ROBOT ARM
;=============================== START ==============================
;====================================================================
; Servo 0
Symbol servoport0 = B.0 ; Pin of Servo 0
Symbol analogport0 = C.0 ; ADC Pin Value 10k Pot
Symbol analogvalue0 = w1 ; Pot Reading Word Variable
Symbol base0 = w2 ; Last Position of the Pot
; Servo 1
Symbol servoport1 = B.1 ; Pin of Servo 1
Symbol analogport1 = C.1 ; ADC Pin Value 10k Pot
Symbol analogvalue1 = w3 ; Pot Reading Word Variable
Symbol base1 = w4 ; Last Position of the Pot
; Servo 2
Symbol servoport2 = B.2 ; Pin of Servo 2
Symbol analogport2 = C.2 ; ADC Pin Value 10k Pot
Symbol analogvalue2 = w5 ; Pot Reading Word Variable
Symbol base2 = w6 ; Last Position of the Pot
; Servo 3
Symbol servoport3 = B.3 ; Pin of Servo 3
Symbol analogport3 = A.3 ; ADC Pin Value 10k Pot
Symbol analogvalue3 = w7 ; Pot Reading Word Variable
Symbol base3 = w8 ; Last Position of the Pot
; Servo 4
Symbol servoport4 = B.4 ; Pin of Servo 4
Symbol analogport4 = A.4 ; ADC Pin Value 10k Pot
Symbol analogvalue4 = w9 ; Pot Reading Word Variable
Symbol base4 = w10 ; Last Position of the Pot
; Servo 5
Symbol servoport5 = B.5 ; Pin of Servo 5
Symbol analogport5 = A.5 ; ADC Pin Value 10k Pot
Symbol analogvalue5 = w11 ; Pot Reading Word Variable
Symbol base5 = w12 ; Last Position of the Pot
;====================================================================
Main:
servo servoport0, 150 ; Init Servo 0 - Center
servo servoport1, 150 ; Init Servo 1 - Center
servo servoport2, 150 ; Init Servo 2 - Center
servo servoport3, 150 ; Init Servo 3 - Center
servo servoport4, 150 ; Init Servo 4 - Center
servo servoport5, 150 ; Init Servo 5 - Center
goto Servo0
;====================================================================
Servo0:
readadc analogport0, analogvalue0 ; Read Pot Value into Variable W1
analogvalue0 = analogvalue0 *10/17+75 ; Divide by 1.7
if analogvalue0 <> base0 then ; If Pot has Changed Position
servopos servoport0, analogvalue0 ; Servo Position is Modified Pot Reading
let base = analogvalue0 ; Set Servos New Position as Base
end if
goto Servo1
;====================================================================
Servo1:
readadc analogport1, analogvalue1 ; Read Pot Value into Variable W3
analogvalue1 = analogvalue1 *10/17+75 ; Divide by 1.7
if analogvalue1 <> base1 then ; If Pot has Changed Position
servopos servoport1, analogvalue1 ; Servo Position is Modified Pot Reading
let base = analogvalue1 ; Set Servos New Position as Base
end if
goto Servo2
;====================================================================
Servo2:
readadc analogport2, analogvalue2 ; Read Pot Value into Variable W5
analogvalue2 = analogvalue2 *10/17+75 ; Divide by 1.7
if analogvalue2 <> base2 then ; If Pot has Changed Position
servopos servoport2, analogvalue2 ; Servo Position is Modified Pot Reading
let base = analogvalue2 ; Set Servos New Position as Base
end if
goto Servo3
;====================================================================
Servo3:
readadc analogport3, analogvalue3 ; Read Pot Value into Variable W7
analogvalue3 = analogvalue3 *10/17+75 ; Divide by 1.7
if analogvalue3 <> base3 then ; If Pot has Changed Position
servopos servoport3, analogvalue3 ; Servo Position is Modified Pot Reading
let base = analogvalue3 ; Set Servos New Position as Base
end if
goto Servo4
;====================================================================
Servo4:
readadc analogport4, analogvalue4 ; Read Pot Value into Variable W9
analogvalue4 = analogvalue4 *10/17+75 ; Divide by 1.7
if analogvalue4 <> base4 then ; If Pot has Changed Position
servopos servoport4, analogvalue4 ; Servo Position is Modified Pot Reading
let base = analogvalue4 ; Set Servos New Position as Base
end if
goto Servo5
;====================================================================
Servo5:
readadc analogport5, analogvalue5 ; Read Pot Value into Variable W11
analogvalue5 = analogvalue5 *10/17+75 ; Divide by 1.7
if analogvalue5 <> base5 then ; If Pot has Changed Position
servopos servoport5, analogvalue5 ; Servo Position is Modified Pot Reading
let base = analogvalue5 ; Set Servos New Position as Base
end if
goto Servo0
;================================ END ===============================
;====================================================================