Deprecated: Required parameter $query follows optional parameter $post in /var/www/html/wp-content/plugins/elementor-extras/modules/breadcrumbs/widgets/breadcrumbs.php on line 1215
Mars Rover - Blocks, Python Functions, Projects | PictoBlox Extension
[PictoBloxExtension]

Mars Rover

Mars rover extension graphics
Extension Description
Control the Mars Rover Robot with Quarky.

Introduction

Mars is a fascinating planet. It’s icy cold and covered in reddish dust and dirt. Like Earth, it has volcanoes, gullies, and flat plains. Scientists can also see channels that look like they were carved by rivers and streams a long, long time ago. Over the years, NASA has sent five robotic vehicles, called rovers, to Mars. The names of the five rovers are Sojourner, Spirit and Opportunity, Curiosity, and Perseverance.

STEMpedia has created a miniature version of the Mars Rover to educate students about the different aspects of the Mars Rover in a more practical way.

The Mars Rover is programmable with PictoBlox in both modes – Block Coding and Python Coding.

Motor and Servo Motor

In our Mars rover, there are a total of 6 motors and 5 servo motors. 

The motors provide rotation to the wheels which helps the rover to attain motion in both forward and backward directions.  All the left side motors (3 motors) are connected to the left motor port of Quarky and all the right side motors (3 motors) are connected to the right motor port of Quarky using a 3 port wire. This means that to control the Mars rover we have to control only 2 motors – Left and Right. Also, there are 2 parameters to control – Direction (Forward or Backward) and Speed. With this control, the Mars rover can do all the desired motions.

The servo motors help in providing rotation to the complete wheel assembly so that the rover can change its wheel alignments and so its path. These play a major role in turning cases of the mars rover. The front two and the back two-wheel assemblies are connected with one servo motor each. Some important turns:

  1. Turning left on the same point:
  2. Turning right on the same point:
  3. Turning left on a circle:
  4. Turning right on a circle:
Note:  The middle wheel assemblies on either side are not connected to servo motors.

The fifth servo motor is connected to the head portion of the Mars rover so that the rover can rotate its head to detect obstacles. 

Connecting Mars Rover with PictoBlox

Let’s begin by first connecting Quarky to PictoBlox. Select your preferred type of device i.e. either the desktop/laptop or your smartphone and follow the instructions.

Desktop

Follow the steps below for connecting Quarky to PictoBlox:

  1. First, connect Quarky to your laptop using a USB cable.
    Power Quarky
  2. Next, open PictoBlox on your desktop.
  3. After that, select Block or Python Coding as your coding environment.
  4. Then, click the Board button in the toolbar and select board as Quarky.
  5. Next, select the appropriate Serial port if the Quarky is connected via USB or the Bluetooth Port if you want to connect Quarky via Bluetooth and press Connect.
    COM Port

And voila! Quarky is now connected to PictoBlox.

Mobile

Follow the steps below for connecting Quarky to PictoBlox:

  1. First, power ON Quarky.
  2. Open PictoBlox on your smartphone. Go to My Space and make a new project by clicking the ‘+(plus)’ button in the bottom-right corner.
    PictoBlox in Mobile Phone
  3. Then, tap the Board button in the top-right corner of the toolbar.
    PictoBlox BoardSelect board as Quarky.
  4. Next, tap the Connect button:
    PictoBlox ConnectSelect your device from the list.

And voila! Quarky is now connected to PictoBlox.

Mars Rover Extension in Block Coding

Click on the Add Extension button and add the Mars Rover extension.

Once loaded, you will find the fresh blocks of Mars Rover in the block palette.

 

Mars Rover Extension in Python Coding

Click on the Add Modules/Libraries button and add the Mars Rover extension.

To access the library functions, you have to add the object declaration.

quarky = Quarky()
rover = MarsRover(4, 1, 7, 2, 6)
Read More

PictoBlox Blocks

The block checks if the specified key is pressed. If the key is being pressed, the block returns “true”; if it is not, it returns “false”.
The is () detected? block checks whether the selected class has been detected or not. If the class is detected, then the block returns true; else, false.
The block adds two values and reports the result. The numbers can be typed directly into the block, or Reporter blocks can be used instead. This block can be stacked inside itself; this can be used to fit more numbers in.
The block adds an item onto the end of the specified list, the item containing the given text.
This block returns whether the specified detection point is detected or not on the specified pose number.
In computer vision, you can get the location and other parameters of the recognized celebrity, brand, and Object using the recognized () () () block.
The is expression of face () () block checks whether the selected face has a particular emotion or not. If the emotion matches, then the block returns true; else, false.
The block reports the specified class confidence value from the selected image feed (camera, stage, costume or backdrop). 0 is low confidence and 1 is high confidence.
The block returns the class label name.
The function returns the QR Code angle detected.
The function returns the latitude or the longitude coordinates of the location.
The block changes the project’s tempo, or speed, to the specified amount, using the unit “bpm”, or “beats per minute”.
The block maps the specified value from the first range to the second range.
The block changes the color of the particular RGB LED of Quarky.
The block sets the specified motor of the Quarky robot to the specified direction (“FORWARD” or “BACKWARD”) and specified speed.
The block returns the state of the specified touch sensor of Quarky. If the touchpad is touched it will return True, else False.
The block reports the specified class confidence value of the selected class. 0 is low confidence and 1 is high confidence.
The () of object () block reports the following attributes of the object: class, x position, y position, width, height, and confidence.
The block reports the specified class confidence value of the selected class. 0 is low confidence and 1 is high confidence.
The block reports the specified class confidence value of the selected class. 0 is low confidence and 1 is high confidence.
The blocks make the sprite go to the specified x and y locations according to the specified coordinate system – world, stage, or relative.
The block reports the analog reading of the sensor connected to the selected pin. The value will vary between 0 to 4095.
The block reverses the forward direction of the specified motor of the Quarky Expansion Board.
The block reports the red, green, or blue value of the color saved from the last data request from the get color from feed () block.
The block reports value 3 of the webhook event.
The block set all the servo motors of the quadruped angles to 90.
The block sets the servo motors of the humanoid hands to the specified angles at the specified speed.
This block sets which ports the left and right servo motors of the pick and place robot are connected to.
The block stores and reports the latest response from the ChatGPT.
This block resets the timer value to 0.0, which is necessary at the start of a project to ensure the Timer block holds the correct value.
All articles loaded
No more articles to load

Block Coding Examples

There are no block coding examples for the extension to show.

Python Functions

There are no python functions for the extension to show.

Python Coding Examples

There are no python examples for the extension to show.
Table of Contents