Asked — Edited

Motor And Potentiometer Script Help

I had this script working in ARC with only one board. I added a second board and added a 1. to the beginning of each command in the scripts but now I cant get the ports to turn of or on.

I also get Syntax errors after I've run the scrip a few times and (I dont think) I made any changes.

I also added the .1 in the call scripts "move right" and "move left". Please see each below and let me know what I'm doing wrong:

#Main script:

This script will move an HBridge to

the specified ADC value.

1.if ($adcSpecified = 0) goto(Error)

:Start

1.$adcCurrent = GetADC(adc0)

1.if ($adcCurrent $adcSpecified) goto(RotateRight)

1.if ($adcCurrent = $adcSpecified) goto(RotateStop)

goto(Start)

:RotateLeft 1.Set(d1, on) 1.Set(d0, off) Return()

:RotateRight 1.Set(d1, off) 1.Set(d0, on) Return()

:RotateStop 1.Set(d1, off) 1.Set(d0, off) Halt()

:Error Say("There is no specified position to move too")

#Move Right Script:

This script will move the motor into the

right position

1.$adcSpecified = 150 ControlCommand("Hips", scriptStart)


#Move Left Script:

This script will move the motor into the

left position

1.$adcSpecified = 50 ControlCommand("Hips", scriptStart)

Any help is welcomed. Thanks, Dave Schulpius


ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

#1  

Do I have to have both boards powered up and connected to make my new script work on the second board (first board shown as 0 and the second shown as 1 in the connect panel)? I only have the soecond board powered up.

#2  

OK, I have at least one D ports now working with the script. I added a "Set" control for the two ports I'm useing on the second board and confirmed that they are turning on and off with a volt meter. I've also found how to get by the Sytanx Error I go the call scripts and save each. That way I can go into the main script and make changes and save.

I've played with the script and have it turning on at least one of the Digital ports when I start the call scripts. However when I turn the pot the Varible Watch panel showing the "$adccurrent" does not change. It's stays on 1.0. I think this means it's not reading the ADC port of the second board. I still have sonething wrong with the main script. Here's the script as it is now (any help is welcomed):

This script will move an HBridge to

the specified ADC value.

if ($adcSpecified = 0) goto(Error)

:Start

$adcCurrent = 1.GetADC(adc0)

if ($adcCurrent $adcSpecified) goto(RotateRight)

if ($adcCurrent = $adcSpecified) goto(RotateStop)

goto(Start)

:RotateLeft 1.Set(d1, on) 1.Set(d0, off) Return()

:RotateRight 1.Set(d1, off) 1.Set(d0, on) Return()

:RotateStop 1.Set(d1, off) 1.Set(d0, off) Halt()

:Error Say("There is no specified position to move too")