English
Powered By GitBook
TRIK specific blocks
TRIK specific blocks consist of three categories:
    1.
    Actions - blocks that perform any action on the controller: turning on the motors, playing sounds, etc.
    2.
    Waiting - blocks waiting for an event to occur: certain sensor readings, pressing a button, etc.
    3.
    Drawing - blocks displaying graphics and text on the screen.
For blocks common for all platforms see the article

Action blocks

Icon
Name
Description
Sends the message to the parallel thread with the identifier given.
Saves the code of the button pressed on the robot to the specified variable.
Play Tone
Plays a sound with specified frequency and duration on the controller.
Play the specified sound file on the controller.
Turn on the motors at the specified ports with the specified power.
Turn on the motors in reverse mode at the specified ports with the specified power.
Turn off the motors at the specified ports.
Reset the motors revolutions count for the specified ports.
Set the servos rotation angle on the specified ports to the specified position.
Say
Speak through the speaker the phrase passed as an argument.
LED
Set the specified controllers LED color.
The block has a logical parameter "Code". If it's True, the content of the "Command" parameter translates directly into the program code. Otherwise, an OS' CLI call will be pulled.
Turn on the video camera on the controller in one of the three modes.
Turn off the camera.
Fixes the image in the center of the frame and initializes the line sensor or object sensor with it.
Places the current line sensor reading into the specified variable.
Starts a video broadcast on the robot.
Stops the video feed from the robot's camera.
Sends the message to the robot with the board number specified.
Writes a given message to a file.
Deletes a file.
Sets the gyroscope angle to zero at the current position.

Send Message To Thread

Send Message To Thread
Sends the message to a parallel task with a specified identifier (the identifier must be specified while creating the task in the "Fork" block).
The message can be arbitrary.

Get Button Code

Get Button Code
Assigns the pressed button code to a specified variable.
The "Waiting" property allows you to wait for the button to be pressed. If the button is not pressed, the variable will be set to -1.

Play Tone

Play Tone
Plays a sound with specified frequency and duration on the controller.

Play Sound

Play Sound
Plays an audio file on the controller.
The file must be pre-loaded on the controller. The path to the file is relative to the trik folder on the controller. You can download the file to the controller, for example, using the WinSCP program.

Motors Forward

Motors Forward
Turn on the motors on the given ports with the given power.
The ports are specified by lines M1, M2, M3, and M4, separated by commas. The power specified as a percentage by a number from -100 to 100. If the value is negative, the motors will be reversed.

Motors Backward

Motors Backward
Turn on the motors in reverse mode on the given ports with the given power.
Parameters are similar to the "motors forward" block.

Stop Motors

Stop Motors
Stop the motors on the specified ports.
The ports are specified by lines M1, M2, M3, and M4, separated by commas.

Clear Encoder

Clear Encoder
Reset the motors revolutions count on the specified ports.
The ports are specified by lines E1, E2, E3, and E4, separated by commas.

Angular Servo

Angular Servo
Set the servos rotation angle on the specified ports to the specified position (from -90 to 90 degrees).
The ports are specified by comma separated values.

Say

Say
Use the speaker to say the phrase passed as the block argument.

LED

LED
Set the specified LED color on the controller.

System Call

System Call
The block has a logical parameter "Code". If it's True, the content of the "Command" parameter translates directly into the program code. Otherwise, an OS' CLI call will be pulled.

Initialize Camera

Initialize Camera
Enable the video camera on the controller in one of three modes:
    1.
    Line Sensor - detects a color line in the center of the frame and subsequently returns the deviation of the center of the line from the center of the frame as a number in the range from -100 (left) to 100 (right).
    2.
    Object sensor - detects a contrasting object in the center of the frame and later returns the coordinates of its center and diameter in pixels.
    3.
    Color sensor - returns the dominant color in the center of the frame as its coordinates in the RGB color scale.

Detect by Camera

Detect by Camera
Captures the image in the center of the frame and initializes a line sensor or object sensor with it. The camera must be switched on in the appropriate mode with the "Initialize Camera" block.

Line Detector into Variable

Line Detector inti Variable
Places the current line sensor reading in the specified variable.
The camera must be switched on inline sensor mode by the "Initialize Camera" block and initialized by the "Detect by camera" block.

Enable Video Streaming

Enable Video Streaming
Starts a video broadcast on the robot.
The video can be viewed on the TRIK control panel or in a browser at the address {robots ip-address}:8080/?action=stream/.

Send message

Send message
Sends the message to the robot with the board number specified.
The robot must be on the same network as the robot sending the message and registered as master or slave using Settings → Messages on the robot. If there is more than one robot with the given board number in the network, all of them will receive the message.

Write to File

Write to File
Writes the given expression to a file.
The path can be absolute or relative to the folder containing trik-studio.exe.
The file can be retrieved from the controller, e.g. with the WinSCP program for Windows or SCP for Linux.

Remove File

Remove File
Deletes a file. The path can be absolute or relative to the folder containing trik-studio.exe.

Stop Camera

Stop Camera
Turn off the camera.

Disable Video Streaming

Disable Video Streaming
Stop the video feed from the robot's camera.

Calibrate Gyroscope

Calibrate Gyroscope
Sets the gyroscope angle to zero at the current position..

Waiting Blocks

Icon
Name
Description
Wait for a message from another parallel task.
Wait for the user to enter a value.
Wait until the value returned by the gyro sensor on the specified port is greater or less than the one specified in the "degrees" parameter.
Wait for the touch sensor to operate on the specified port.
Wait until the value returned by the light sensor on the specified port is greater or less than the one specified in the "percents" parameter.
Wait until the distance returned by the ultrasonic distance sensor is greater or less than the one specified in the "distance" parameter..
Wait until the distance returned by the infrared distance sensor is greater or less than the one specified in the "distance" parameter..
Wait until the revolutions counter reading on the specified port is greater or less than the "Tacho limit" value.
Wait until the specified button on the robot is pressed.
Wait for the message in the mailbox. When the message is received, it will be assigned to the specified variable.
Wait for the button to be pressed on the remote control connected to the robot.
Wait for one of the two active areas of the RC to be pressed.
Wait for the desired tilt of the RC.
Wait until the RC is disconnected from the robot. If the RC is not connected, the program will continue running.
Wait for the RC to connect to the robot. If the RC is already connected, the program will continue running.

Receive Message From Thread

Receive Message From Thread
Wait for a message from another parallel task.
The message text will be assigned to the specified variable.
The "Wait for message" property allows you to specify what to do if the message queue is empty: wait for a new message to arrive or continue working by assigning an empty string to the variable.
The message is automatically converted to the same type as the receiver variable. For example, if you send a number as a string, it will be accepted as a number.

User input

User input
Wait for the user to enter a value. The value will be assigned to the specified variable.

Properties

The block has three properties:
Property
Description
Variable
Variable name.
Default
Default variable value.
Text
Text field description.
Example
Block
Execution

Wait for Gyroscope

Wait for Gyroscope
Wait until the value returned by the gyro sensor on the specified port is greater or less than the one specified in the "degrees" parameter..

Wait for Touch Sensor

Wait for Touch Sensor
Wait for the touch sensor to operate on the specified port.

Wait for Light

Wait for Light
Wait until the value returned by the light sensor on the specified port is greater or less than the one specified in the "percents" parameter. Parameters:
    "Percents" - value to compare with the value returned by the light sensor.
    "Port" - the port to which the light sensor is connected.
    "Read value" - the operation that will be used to compare with the value of the "Percents" parameter.

Wait for Ultrasonic Distance

Wait for Ultrasonic Distance
Wait until the distance returned by the ultrasonic distance sensor is greater or less than the one specified in the "distance" parameter (distance is set in centimeters, from 0 to 300).
Parameters:
    "Distance" - value to compare with the value returned by the distance sensor.
    "Port" - the port to which the distance sensor is connected.
    "Read value" - the operation to be used for comparison with the value of the Distance parameter.

Wait for Infrared Distance

Wait for Infrared Distance
Wait until the distance returned by the infrared distance sensor is greater or less than the one specified in the "distance" parameter.
By default, the distance on ports A1 and A2 is set in centimeters (from 0 to 100). It is not recommended to connect other sensors to these ports as incorrect values may be read.
Another parameter is the number of the port to which the distance sensor is connected. The last parameter specifies the operation to be used for comparison with the distance.

Wait for Encoder

Wait for Encoder
Wait until the revolutions count reading on the specified port is greater or less than the Tacho limit value.

Wait for Button

Wait for Button
Wait until the specified button on the robot is pressed.

Wait for Message

Wait for Message
Wait for the message in the mailbox. When the message is received, it will be assigned to the specified variable.
The Wait for message property allows you to specify what to do if the message queue is empty: wait for a new message to arrive or continue working by putting an empty string into the variable.
The message is automatically converted to the type corresponding to the receiver variable type, i.e. you can, for example, send a number as a string and accept it as a number.

Wait Gamepad Button

Wait Gamepad Button
Wait for the button to be pressed on the remote control connected to the robot. The buttons are numbered from 1 to 5.

Wait Pad Press

Wait Pad Press
Wait for one of the two active areas of the RC to be pressed. The coordinates of the click can be obtained with the "gamepadPad" sensory variables.

Wait for Gamepad Wheel

Wait for Gamepad Wheel
Wait for the desired tilt of the RC.
The tilt is only registered if the remote is in "steering" mode, the tilt angle is coded with numbers from -100 (maximum left) to 100 (maximum right).
Another parameter specifies the operation that will be used to compare with the Angle parameter value.

Wait for Gamepad Disconnect

Wait for Gamepad Disconnect
Wait until the RC is disconnected from the robot. If the RC is not connected, the program will continue running.

Wait for Gamepad Connect

Wait for Gamepad Connect
Wait for the RC to connect to the robot. If the RC is already connected, the program will continue running.

Drawing Blocks

Icon
Name
Description
Specify the color to draw simple graphical shapes on the robot's screen.
Specify the line width used to draw simple graphical figures on the robot's screen.
Draw a dot on the screen at the specified coordinates.
Draw Line
Draw a line segment on the screen. Segment ends are given as parameters to the block.
Draw a rectangle on the screen. The coordinates of the upper left corner, the width, and the height of the rectangle are specified as parameters.
Draw an ellipse inscribed in a given rectangle on the screen.
Draw Arc
Draw an arc on the screen, given the coordinates of the rectangle in which it will be inscribed, and the angles (in degrees) of its beginning and end on the circle. If the beginning and the end coincide, the circle will be drawn.
Smile
Draw a smiley face on the screen.
Sad Smile
Draw a sad smiley face on the screen.
Set the screen background color.
Print the specified string at the specified location on the robot's screen. The default value of the "Text" property is interpreted as a pure string, so it will be displayed that way.
Erase everything that is drawn on the screen.

Painter Color

Painter Color
Specify the color to draw simple graphical shapes on the robot's screen.

Painter Width

Painter Width
Specify the width of the line used to draw simple graphical figures on the robot's screen.

Draw Pixel

Draw Pixel
Draw a dot on the screen at the specified coordinates.

Draw Line

Draw Line
Draw a line segment on the screen. Segment ends are given as parameters to the block.

Draw Rectangle

Draw Rectangle
Draw a rectangle on the screen. The coordinates of the upper left corner, the width, and the height of the rectangle are specified as parameters.

Draw Ellipse

Draw Ellipse
Draw an ellipse inscribed in a given rectangle on the screen.

Draw Arc

Draw Arc
Draw an arc on the screen, given the coordinates of the rectangle in which it will be inscribed, and the angles (in degrees) of its beginning and end on the circle. If the beginning and the end coincide, the circle will be drawn.

Smile

Smile
Draw a smiley face on the screen.

Sad Smile

Sad Smile
Draw a sad smiley face on the screen.

Background Color

Background Color
Sets the screen background color.
Print Text
Prints the specified string at the specified location on the robot's screen.

Properties

Property
Value
Evaluate
True — print the variable or expression value.
False — print as text.
Text
Text or variable/expression to be printed.
Redraw
True — redraw the screen. False — do not redraw.
X, Y
The text beginning coordinates.

How to print a text?

To print a text:
    1.
    Put your text into the Text property.
    2.
    Uncheck the Evaluate checkbox.

How to print a variable value?

To print a variable value:
    1.
    Put the variable name into the Text property.
    2.
    Check the Evaluate checkbox.

Clear Screen

Clear Screen
Erase everything that is drawn on the screen.
Last modified 4mo ago