0% found this document useful (0 votes)
36 views21 pages

Guide To Pluto Blocks Updated

The Guide to Pluto Blocks V2.0 provides comprehensive information on programming Pluto 1.2 and Pluto X nano drones using a block programming application. It covers various categories and blocks available for controlling LEDs, GPIO, motors, timers, remote control, sensors, and more. The document serves as a reference for users to understand and utilize the features of Pluto Blocks effectively.

Uploaded by

NITIN GAMBHIR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views21 pages

Guide To Pluto Blocks Updated

The Guide to Pluto Blocks V2.0 provides comprehensive information on programming Pluto 1.2 and Pluto X nano drones using a block programming application. It covers various categories and blocks available for controlling LEDs, GPIO, motors, timers, remote control, sensors, and more. The document serves as a reference for users to understand and utilize the features of Pluto Blocks effectively.

Uploaded by

NITIN GAMBHIR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Guide to Pluto Blocks V2.

0
The Block Programming application for Pluto 1.2 and Pluto X

Version 2.0.3
TABLE OF CONTENTS

ABOUT 2
COMPATIBILITY 3
TINKERING BLOCKS 4
LED 5
GPIO 6
PWM 7
COMMAND 8
MOTOR 9
TIMER 10
REMOTE CONTROL 11
SENSOR 13
CURRENT STATE 14
DESIRED STATE 15
FLIGHT MODE 16
FLIGHT STATUS 17
VARIABLES 18

1
ABOUT
Pluto Blocks is a block programming application used for programming Pluto 1.2 and Pluto
X nano drones. This document contains details about the categories and the blocks
available in Pluto Blocks.

Please refer to this guide in case of any doubt about any block.

Example of Pluto Blocks

Tutorial section of Pluto Blocks

Where you can find all the literature related to Pluto Blocks such as Project Book and Video
tutorial too.

2
COMPATIBILITY
The Guide to Pluto Blocks (version 2.0.0) contains projects that are built on Pluto Blocks
software and executed using Pluto nano drone. The compatibility for both are given below.

Software:
● Pluto Blocks 2.0.0

Drones:
● Pluto X nano drone
● Pluto 1.2 nano drone

3
TINKERING BLOCKS
These blocks occur on the home screen of the projects. The entire program will be coded
within these blocks only. The purpose of each block is explained below.

Do one time tasks over here. The program within this block runs only once, when the
Developer Mode from Pluto Controller App is turned ON.

This is the block where the main program will be coded. The program within this block
starts running after the execution of the ON START block. It will run continuously with a
default loop time of 100 milliseconds. The loop time can be changed if required.

Do the cleanup tasks over here. The program in this block runs only once, when the
Developer Mode from the Pluto Controller App is turned OFF.

4
LED
Primus X/Primus V4 contains three status LEDs - Red, Green and Blue. This category
contains blocks to control all the LEDs.

Description: This block enables the user to set the red LED in ON, OFF or TOGGLE state.

Description: This block enables the user to set the green LED in ON, OFF or TOGGLE state.

Description: This block enables the user to set the blue LED in ON, OFF or TOGGLE state.

5
GPIO
This category contains blocks to control all the GPIO as well as read the GPIO status.
It’s useful when user wants to use the UniBus pin as digital input or output pins.
Mainly use for integrating external sensor or device.

Description: This block enables the user toto write data to a particular pin of unibus in
LOW, HIGH or TOGGLE state.
Pin number: Pin2, Pin3, Pin6, Pin7, Pin8, Pin9, Pin10, Pin13, Pin14, Pin15, Pin16, Pin17, Pin18, Pin19

Description: This block enables the user to read data from a particular pin of unibus.
Pin number: Pin2, Pin3, Pin6, Pin7, Pin8, Pin9, Pin10, Pin13, Pin14, Pin15, Pin16, Pin17, Pin18, Pin19

Description: This block enables the user to read digital data from ADC pins
Pin number: Pin8, Pin13, Pin14, Pin15, Pin16, Pin17, Pin18, Pin19

6
PWM
This category contains blocks to control te PWM pins of Primus X and Primus V4.
This blocks are useful while integrating external devices requiring PWM. Eg. Motors, Servos,
etc

Description: This block enables the user to give the PWM signal to selected Pin.
Pin number: Pin2, Pin3, Pin4, Pin5, Pin8, Pin9, Pin10, Pin13, Pin15, Pin18, Pin19 Value: 1000 - 2000 ( Units: Hz )

7
COMMAND
This category contains blocks which give basic drone commands such as take off, land, arm,
etc.

Description: This block commands the drone to Take Off to a default altitude of 150 cm,
which can be changed.
Range: 100 - 250 cm

Description: This block commands the drone to land.


Range: 0 - 255

Description: This block commands the drone to perform a backflip

Description: This block commands the drone to arm, i.e. the motors will get the power.
Please note, it is different from the ‘ARM’ button in the Pluto Controller App, which
essentially acts as a switch.

Description: This block commands the drone to disarm, i.e. the power to the motors will
be cut off immediately.

8
MOTOR
This category contains blocks to control the power to the motors M5, M6, M7 and M8.
When using Motor Blocks, remember to shut down all the motors in the On Stop Block by
setting the motors at 1000 PWM. This will ensure that the motors do not run even after
turning the Developer Mode OFF or disconnecting from the app.

Description: This block sets the PWM for motor M5.


Range: 1000 - 2000

Description: This block sets the PWM for motor M6.


Range: 1000 - 2000

Description: This block sets the PWM for motor M7.


Range: 1000 - 2000

Description: This block sets the PWM for motor M8.


Range: 1000 - 2000

9
TIMER
Timer blocks can be used to perform a set of tasks repeatedly at specific time intervals. Use
‘Create Timer’ button to create new timer functions. When using more than one timer
functions, the names will be available in the drop down menu.

Description: This block enables the user to set time for the selected timer and the value to
be repeated at the set time interval.
Range: 0 - 5000 milliseconds
Repeat: True, False

Description: This block will reset the selected timer back to zero.

Description: This block will return the set value (true or false) every time the set time in
timer is reached.

10
REMOTE CONTROL
The Pluto Controller App has four control sticks - Roll, Pitch, Yaw and Throttle. When these
sticks are moved, they generate a number corresponding to their movement. These
numbers are called as Remote Control Data or RC Data. Also you can give commands
through the block also.

Description: This block returns the RC Data value of the Roll stick.
Range: 1000 to 2000

Description: This block returns the RC Data value of the Pitch stick.
Range: 1000 to 2000

11
Description: This block returns the RC Data value of the Yaw stick.
Range: 1000 to 2000

Description: This block returns the RC Data value of the Throttle stick
Range: 1000 to 2000

12
Description: This block sets the pitch value to the drone.
Range: 1000 to 2000

Description: This block sets the Roll value to the drone.


Range: 1000 to 2000

Description: This block sets the Yaw value to the drone.


Range: 1000 to 2000

Description: This block sets the Throttle value to the drone.


Range: 1000 to 2000

13
SENSOR
Primus X / Primus V4 contains four on-board sensors: Accelerometer, Rate gyro,
Magnetometer and Barometer. Entire sensor data is accessible using the following blocks.

Description: This block returns Proper Acceleration values


Units: cm/s2
Axis: X, Y, Z, Strength (RMS)

Description: This block returns Angular Rate (rate of change of angle) values
Units: deciDegrees/s
Axis: X, Y, Z

Description: This block returns Magnetic Field values


Units: microTesla
Axis: X, Y, Z

Description: This block returns Pressure and Temperature values.


Units: Pressure: 100*millibar
Temperature: 100*degree centigrade

14
CURRENT STATE
The orientation of a flying system can be defined by the measures of three angles - Roll,
Pitch, and Yaw. This category contains blocks that give the current orientation and current
altitude of the drone.

Description: This block returns the current value of Roll angle of the drone
Units: Degrees

Description: This block returns the current value of Pitch angle of the drone
Units: Degrees

Description: This block returns the current value of Yaw angle of the drone
Units: Degrees

Description: This block returns the current value of Height of the drone. The measurement
of height begins from the level where the drone is switched ON.
Units: cm

Description: This function gives you current heading of your phone.


Units: Degree.
Ranges : 0 to 360 Degrees.

15
DESIRED STATE
This category contains blocks which enable the user to set the orientation (Roll, Pitch and
Yaw) and the altitude of the drone to any desired value within the range. The execution of
these blocks can be observed only while flying the drone.

Description: This block enables the user to set a desired value of Roll Angle of the drone.
This will make the drone tilt about the roll axis to the angle set by the user.
Range: -180 to +180 degrees.

Description: This block enables the user to set a desired value of Pitch Angle of the drone.
This will make the drone tilt about the pitch axis to the angle set by the user.
Range: -90 to +90 degrees.

Description: This block enables the user to set a desired value of Yaw Angle of the drone.
This will make the drone point at the angle set by the user.
(Please perform Mag Calibration for best results)
Range: 0 to 360 degrees.

Description: This block enables the user to set a desired value of Height of the drone. This
will make the drone reach the height set by the user.
Note: The measurement of height begins from the level at which the drone is switched ON.

16
FLIGHT MODE
The Pluto Controller App enables the user to fly Pluto in different flight modes. This
category contains blocks which help the user to check whether the preferred flight mode is
active or not.

Description: This block checks if the drone is in headfree mode or not. It returns true if the
drone is in headfree mode and returns false if not.

Description: This block checks if the drone is in throttle mode or not. It returns true if the
drone is in throttle mode and returns false if not.

17
FLIGHT STATUS
This category contains blocks which help the user to check if the required flight status
condition is satisfied or not.

Description: This block checks whether the drone is armed or not. It will return true if
armed and false if not.

Description: This block checks whether the drone is ready to be armed or not. It will return
true if it is ready and false if not.

Description: This block checks whether the signal to the controller is lost or not. It will
return true if the signal is lost and false if not.

Description: This block checks whether the drone is crashed or not. It will return true if
crashed and false if not.

Description: This block checks whether the battery is low during flight or not. It will return
true if the battery is low during flight and false if not.

Description: This block checks whether the drone battery is low under no load or not. It
will return true if the battery is low and false if not.

18
VARIABLES
This category allows the user to create their own variables to be used in the program. Use
‘Create Integer’ option to create and name an integer type variable. When using more than
one integer type variables, the names will be available in the drop down menu. Similarly,
user can create float and boolean variables.

Description: This block allows the user to set the values to the selected integer type
variable.

Description: This block returns the value of the selected integer type variable.

Description: This block allows the user to set the values to the selected float type variable.

Description: This block returns the value of the selected float type variable.

Description: This block allows the user to set the boolean values (0/1; true/false) to the
selected boolean type variable.

Description: This block returns the boolean value (0/1; true/false) of the selected boolean
type variable.

19
20

You might also like