Component: Robot Arm AllCode API (Misc): Difference between revisions
Appearance
Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix TSL |- | width="20%" style="color:gray;" | Version | 1.0 |- | width="20%" style="color:gray..." |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 90: | Line 90: | ||
===Beep=== | ===Beep=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Beep''' | ||
|- | |- | ||
| colspan="2" | Allows the beeper to output a warning | | colspan="2" | Allows the beeper to output a warning | ||
| Line 119: | Line 119: | ||
===GetAPIVersion=== | ===GetAPIVersion=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetAPIVersion''' | ||
|- | |- | ||
| colspan="2" | Gets the API version of the Robot ARM Firmware | | colspan="2" | Gets the API version of the Robot ARM Firmware | ||
| Line 133: | Line 133: | ||
===GotoPosition=== | ===GotoPosition=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GotoPosition''' | ||
|- | |- | ||
| colspan="2" | Recalls a previously saved position for the ARMs 5 axis. | | colspan="2" | Recalls a previously saved position for the ARMs 5 axis. | ||
| Line 152: | Line 152: | ||
===GripperClose=== | ===GripperClose=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GripperClose''' | ||
|- | |- | ||
| colspan="2" | Fully closes the gripper at the end of the arm ready to pick something up. Closes to a defined pressure using the built in pressure sensor. Returns 0 if nothing detected in the gripper Returns 1 if a valid object is detected | | colspan="2" | Fully closes the gripper at the end of the arm ready to pick something up. Closes to a defined pressure using the built in pressure sensor. Returns 0 if nothing detected in the gripper Returns 1 if a valid object is detected | ||
| Line 171: | Line 171: | ||
===GripperOpen=== | ===GripperOpen=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GripperOpen''' | ||
|- | |- | ||
| colspan="2" | Fully opens the gripper at the end of the arm ready to pick something up. | | colspan="2" | Fully opens the gripper at the end of the arm ready to pick something up. | ||
| Line 185: | Line 185: | ||
===KineGetXYZ=== | ===KineGetXYZ=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''KineGetXYZ''' | ||
|- | |- | ||
| colspan="2" | Calculates the current XYZ position from the current servo position coordinates | | colspan="2" | Calculates the current XYZ position from the current servo position coordinates | ||
| Line 204: | Line 204: | ||
===KineSetXYZ=== | ===KineSetXYZ=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''KineSetXYZ''' | ||
|- | |- | ||
| colspan="2" | Sets the XYZ position and calculates the various servo motor angles required. Returns 0=Impossible, 1=InPosition | | colspan="2" | Sets the XYZ position and calculates the various servo motor angles required. Returns 0=Impossible, 1=InPosition | ||
| Line 233: | Line 233: | ||
===LCDClear=== | ===LCDClear=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDClear''' | ||
|- | |- | ||
| colspan="2" | Clears the entire contents of the display. | | colspan="2" | Clears the entire contents of the display. | ||
| Line 247: | Line 247: | ||
===LCDClearLine=== | ===LCDClearLine=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDClearLine''' | ||
|- | |- | ||
| colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. | | colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. | ||
| Line 266: | Line 266: | ||
===LCDCursor=== | ===LCDCursor=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDCursor''' | ||
|- | |- | ||
| colspan="2" | Moves the cursor on the LCD Display | | colspan="2" | Moves the cursor on the LCD Display | ||
| Line 290: | Line 290: | ||
===LCDPrintNum=== | ===LCDPrintNum=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDPrintNum''' | ||
|- | |- | ||
| colspan="2" | Will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | | colspan="2" | Will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | ||
| Line 309: | Line 309: | ||
===LCDPrintStr=== | ===LCDPrintStr=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDPrintStr''' | ||
|- | |- | ||
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | | colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | ||
| Line 328: | Line 328: | ||
===LCDVerbose=== | ===LCDVerbose=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDVerbose''' | ||
|- | |- | ||
| colspan="2" | Controls if the LCD is in user mode or verbose API mode, | | colspan="2" | Controls if the LCD is in user mode or verbose API mode, | ||
| Line 347: | Line 347: | ||
===LEDOff=== | ===LEDOff=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LEDOff''' | ||
|- | |- | ||
| colspan="2" | Switches off a single LED, LA0-LA7 | | colspan="2" | Switches off a single LED, LA0-LA7 | ||
| Line 366: | Line 366: | ||
===LEDOn=== | ===LEDOn=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LEDOn''' | ||
|- | |- | ||
| colspan="2" | Switches on a single LED, LA0-LA7 | | colspan="2" | Switches on a single LED, LA0-LA7 | ||
| Line 385: | Line 385: | ||
===LEDWrite=== | ===LEDWrite=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LEDWrite''' | ||
|- | |- | ||
| colspan="2" | Allows a value to be sent to control all eight LEDs LA0-LA7 at once | | colspan="2" | Allows a value to be sent to control all eight LEDs LA0-LA7 at once | ||
| Line 404: | Line 404: | ||
===MotorsMoving=== | ===MotorsMoving=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MotorsMoving''' | ||
|- | |- | ||
| colspan="2" | Checks to see if any of the motors are still moving. | | colspan="2" | Checks to see if any of the motors are still moving. | ||
| Line 418: | Line 418: | ||
===Park=== | ===Park=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Park''' | ||
|- | |- | ||
| colspan="2" | Parks the Robot ARM and switches off the servo motors | | colspan="2" | Parks the Robot ARM and switches off the servo motors | ||
| Line 432: | Line 432: | ||
===ReadColour=== | ===ReadColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadColour''' | ||
|- | |- | ||
| colspan="2" | Samples the Colour Sensor and reads the levels of Red, Green and Blue Light back as a 16-bit UINT variable. The colour format is 0b0BBBBBGGGGGRRRRR. The ReadColourChannel macro can be used to get individual channel colours. | | colspan="2" | Samples the Colour Sensor and reads the levels of Red, Green and Blue Light back as a 16-bit UINT variable. The colour format is 0b0BBBBBGGGGGRRRRR. The ReadColourChannel macro can be used to get individual channel colours. | ||
| Line 446: | Line 446: | ||
===ReadColourChannel=== | ===ReadColourChannel=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadColourChannel''' | ||
|- | |- | ||
| colspan="2" | Reads a single colour channel from the value returned from the ReadColour macro. | | colspan="2" | Reads a single colour channel from the value returned from the ReadColour macro. | ||
| Line 470: | Line 470: | ||
===ReadPressure=== | ===ReadPressure=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadPressure''' | ||
|- | |- | ||
| colspan="2" | Read the value of the pressure sensor on the ARM gripper. Returns the value as a byte | | colspan="2" | Read the value of the pressure sensor on the ARM gripper. Returns the value as a byte | ||
| Line 484: | Line 484: | ||
===ReadSwitch=== | ===ReadSwitch=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadSwitch''' | ||
|- | |- | ||
| colspan="2" | Read the value of a single switch. Returns the value as a byte | | colspan="2" | Read the value of a single switch. Returns the value as a byte | ||
| Line 503: | Line 503: | ||
===SetAllServos=== | ===SetAllServos=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetAllServos''' | ||
|- | |- | ||
| colspan="2" | Move all the servo positions between 0-180 Deg | | colspan="2" | Move all the servo positions between 0-180 Deg | ||
| Line 542: | Line 542: | ||
===SetServo=== | ===SetServo=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetServo''' | ||
|- | |- | ||
| colspan="2" | Move the specified servo motor position between 0-180 Deg | | colspan="2" | Move the specified servo motor position between 0-180 Deg | ||
| Line 566: | Line 566: | ||
===SetTrim=== | ===SetTrim=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetTrim''' | ||
|- | |- | ||
| colspan="2" | Allows minor adjustment on the 5 axis servo motors | | colspan="2" | Allows minor adjustment on the 5 axis servo motors | ||
| Line 590: | Line 590: | ||
===StoreCoords=== | ===StoreCoords=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''StoreCoords''' | ||
|- | |- | ||
| colspan="2" | Stores the provided coordinates as a position the ARM can recall. | | colspan="2" | Stores the provided coordinates as a position the ARM can recall. | ||
| Line 634: | Line 634: | ||
===StorePosition=== | ===StorePosition=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''StorePosition''' | ||
|- | |- | ||
| colspan="2" | Stores the current position of the ARMs 5 axis. | | colspan="2" | Stores the current position of the ARMs 5 axis. | ||
| Line 654: | Line 654: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Operating Mode | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | Misc |
Robot Arm AllCode API component
Matrix 5-axis Robot Arm with Gripper. Compatible with the Matrix Robot ARM Training Curriculum and Hardware. Features gripper pressure sensor, light sensor, colour sensor, Potentiometer, Magnetic sensor.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_RA_API_Component_Source.fcsx
Please click here to view the component source code (Beta): FC_Comp_Source_RA_API_Component_Source.fcsx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
Beep
| Beep | |
| Allows the beeper to output a warning | |
| Iterations | |
| Number of times to repeat | |
| OnDelay | |
| Delay in ms | |
| OffDelay | |
| Delay in ms | |
| Return | |
GetAPIVersion
| GetAPIVersion | |
| Gets the API version of the Robot ARM Firmware | |
| Return | |
GotoPosition
| GotoPosition | |
| Recalls a previously saved position for the ARMs 5 axis. | |
| Index | |
| Save Index - Range 0-29 | |
| Return | |
GripperClose
GripperOpen
| GripperOpen | |
| Fully opens the gripper at the end of the arm ready to pick something up. | |
| Return | |
KineGetXYZ
| KineGetXYZ | |
| Calculates the current XYZ position from the current servo position coordinates | |
| Index | |
| Range 0-2 : 0=X, 1=Y, 2=Z | |
| Return | |
KineSetXYZ
| KineSetXYZ | |
| Sets the XYZ position and calculates the various servo motor angles required. Returns 0=Impossible, 1=InPosition | |
| X | |
| Y | |
| Z | |
| Return | |
LCDClear
| LCDClear | |
| Clears the entire contents of the display. | |
| Return | |
LCDClearLine
LCDCursor
LCDPrintNum
| LCDPrintNum | |
| Will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Enter the number or variable to print to the LCD | |
| Return | |
LCDPrintStr
| LCDPrintStr | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| PrintString | |
| Enter the text or variable to print to the LCD | |
| Return | |
LCDVerbose
| LCDVerbose | |
| Controls if the LCD is in user mode or verbose API mode, | |
| Mode | |
| 0=User Mode, 1=API Verbose Mode | |
| Return | |
LEDOff
| LEDOff | |
| Switches off a single LED, LA0-LA7 | |
| Index | |
| 0=LA0, 1=LA1, 2=LA2, 3=LA3, 4=LA4, 5=LA5, 6=LA6, 7=LA7 | |
| Return | |
LEDOn
| LEDOn | |
| Switches on a single LED, LA0-LA7 | |
| Index | |
| 0=LA0, 1=LA1, 2=LA2, 3=LA3, 4=LA4, 5=LA5, 6=LA6, 7=LA7 | |
| Return | |
LEDWrite
| LEDWrite | |
| Allows a value to be sent to control all eight LEDs LA0-LA7 at once | |
| Value | |
| (0-63) 0b000000 | |
| Return | |
MotorsMoving
| MotorsMoving | |
| Checks to see if any of the motors are still moving. | |
| Return | |
Park
| Park | |
| Parks the Robot ARM and switches off the servo motors | |
| Return | |
ReadColour
ReadColourChannel
| ReadColourChannel | |
| Reads a single colour channel from the value returned from the ReadColour macro. | |
| Index | |
| 0=Red, 1=Green, 2=Blue | |
| Colour | |
| Return | |
ReadPressure
| ReadPressure | |
| Read the value of the pressure sensor on the ARM gripper. Returns the value as a byte | |
| Return | |
ReadSwitch
| ReadSwitch | |
| Read the value of a single switch. Returns the value as a byte | |
| index | |
| 0=SA0, 1=SA1, 2=SA2, 3=SA3, 4=SA4, 5=SA5, 6=SA6, 7=SA7 | |
| Return | |
SetAllServos
SetServo
SetTrim
| SetTrim | |
| Allows minor adjustment on the 5 axis servo motors | |
| Index | |
| Motor Index Range 0-4 | |
| Trim | |
| Amount of Trim Range 0-255, Default Value 128 | |
| Return | |
StoreCoords
StorePosition
| StorePosition | |
| Stores the current position of the ARMs 5 axis. | |
| Index | |
| Save Index - Range 0-29 | |
| Return | |
Property reference
| Properties | |
| Connections | |
| Operating Mode | |
| Mode | |