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 writes the message to the RFID tag. It will wait for the specified time to scan an RFID tag and write the value on it. The block also reports whether the operation is completed or not. If the write is complete the block returns 1, else it returns 0.
The block defines the value of the body.
This block allows the Gripper Robot to open its gripper.
This block is used to get the angle of a selected servo connected to a robotic arm.
The block gives the value of the current sensed on the sensing ports of evive in mili-Ampere.  
The Music module allows you to play tones, songs and other recorded audio files from your phone’s storage as per command send from the hardware device. This block is used to play the audio file for the key entered in the text box of the block.
This block reports the current position of the end effector in the selected axis.
The block holds its sprite’s X position. This block can be displayed as a Stage monitor.
If the block’s sprite is shown, it will hide the sprite. If the sprite is already hidden, nothing happens.
It reports the number of days (and fractions of a day) since 00:00:00 1 January 2000 (UTC).
The block rounds the given number to the nearest integer. It follows the standard rules of rounding; decimals that are .5 or higher are rounded up, whereas decimals less than .5 are rounded down.
The block hides the specified list’s Stage monitor.
The block reports the x velocity of the sprite.
The block set the last scanned RFID tag to the master RFID tag. This can be used for authentication.
The block sets the body content type to the specified value.
The block resets the timer running for the oscillator to 0.
This block allows the Gripper Robot to close its gripper.
The block reports the current position of the end effector along the X, Y, and Z axes.
The block returns the time passed since the device is turned ON or since the timer has been reset. This block returns time in milliseconds.
The Camera module allows you to use your mobile camera for different activities like recording videos, capturing images, color detection, and face detection. This block sends commands for clicking an image, starting the video, and stopping the video in the camera module.
The Notification module of the IoT module triggers a notification in your Smartphone based on events occurring on your hardware. This block is used for clearing the previous notifications from the phone.
The block holds its sprite’s Y position. This block can be displayed as a Stage monitor.
The block will place a sprite in front of all other sprites. It does this by changing the sprite’s layer value.
The block performs a specified function on a given number and reports the result. The function can be changed by clicking the down arrow and selecting a new function from the drop-down menu.
The block reports the y velocity of the sprite.
The block reports if the last RFID tag scanned is a master tag or not. If it is the master RFID tag, then it returns true, else false.
The block reports the time passed from the reset for the oscillator.
The block sets the timer’s value back to 0.0. Usually, the timer must be reset at the beginning of a project for the Timer block to hold the right value.
The Oscilloscope module allows you to visualize the input and output signals of your hardware device on your smartphone. This block for setting the baud rate of the Bluetooth module that you have connected to Arduino Mega.
The block holds its sprite’s direction, measured in degrees.
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