Brickpi3 Scratch - motor position command


#1

I am working with the BrickPi3 and have performed software updates for both the raspberry pi and the BrickPI3 through DI Software Update tool. I received confirmation at the end that the Update was complete.

I have been successful getting the motors to turn using the broadcast block in Scratch (see note below) but when I use any of the possible options to call the position command in the broadcast block (MOTOR A position 360, M A P360, MOTOR A P5, ,…), the NXT motor goes full speed for about 5 secs and then, for a lack of a better description, shakes. I can not shut it off without running another script that does not contain the position command. It doesn’t matter what I enter as the rotation variable. Is there anything that I can try to get this working?

Note: I also noticed that if I run two motor commands with a stop in between in the same script, the motor turns in the opposite direction for the second command. Is this normal?

Thanks for your help!


#2

Hello @pagmac17,

I’ve been able to reproduce it locally and the cause was that my own BrickPi3 wasn’t updated.

To update your BrickPi3, you will find on the desktop an icon that says DI Update Software. It takes a bit of time to get started.

Then you will need to first run “Update Dexter Software”, then once that one is done, you will need choose the BrickPi3 and run “Update your Robot”.

This should fix the issue,

Cleo


#3

Thanks cleoqc,
Ran the update through the DI software Update and also the brickpi3 update. Hardware version 3.2.1 and firmware 1.4.6 for the Brickpi3 and it seems to be working better.
When I run the example Motors.py program without an edit, the motor completes two revolutions instead of 360 degrees in both directions. If I change the degrees to anything less it seems to work in one direction but completely ignores the negative value going back in the other direction, returning the motor to the original position. Thoughts?