Barobo
PortalSign In
HomeShopTutorialsFree CurriculumHour of Code
RoboBlockly for Learning Math and Coding

LArduino Ultrasonic 4a: Collision Avoidance

Piano
Linkbot Image Mindstorm Image Cursor Image
0x2418126-6-12y2418126-6-12
Grid:
Tics Lines:
Width px
Hash Lines:
Width px
Labels:
Font px
Trace Lines:
Robot 1:
Width px
Robot 2:
Width px
Robot 3:
Width px
Robot 4:
Width px
Labels: x-axis y-axis Show Grid
Grid: 12x12 inches 24x24 inches 36x36 inches
72x72 inches 96x96 inches 192x192 inches
Quad: 4 Quadrants 1 Quadrant 1&4 Quadrants
Units: US Customary Metric
Background: Background Image

Robot 1

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (0 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in

Robot 2

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (6 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in

Robot 3

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (12 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in

Robot 4

Linkbot
Mindstorm
Initial Position:
( in, in)
Initial Angle:
deg
Current Position: (18 in, 0 in)
Current Angle: 90 deg
Wheel Radius:
Track Width:
in
LArduino Ultrasonic 4a: Collision Avoidance
/* Code generated by RoboBlockly v2.5 */
/* Problem Statement: 
    Modify the code so that the "too close" distance is 4
    inches, and the LED blinks blue instead of green while the
    robot moves.
    */
#include <robot.h>
CLinkbotI robot;
double radius = 1.75;

// Linkbot Collision Avoidance
// Set up blue and red LED pins (11 and 13)
robot.pinMode(11, OUTPUT);
robot.pinMode(13, OUTPUT);
// Set up trigger (9) and echo (8) pins for sensor
robot.pinMode(9, OUTPUT);
robot.pinMode(8, INPUT);
// Start blue blinking using nonblocking code
robot.digitalWriteHighLowForeverNB(11, 250, 250);
// Start driving robot forward
robot.driveForeverNB();
// Keep reading sensor as long as distance > 4
robot.waitUntilUltrasonicSensor(9, 8, 4);
// Done: stop robot
robot.stop();
// Stop blue blinking
robot.digitalWriteOff(11);
// Do 3 red blinks and then back up 5 inches
robot.digitalWriteHighLow(13, 250, 250, 3);
robot.driveDistance(-5, radius);
printf("Warning! Obstacle avoided!");
Load Blocks
Hardware
LArduino
Workspace Show Ch Save File
Problem Statement:

Modify the code so that the "too close" distance is 4 inches, and the LED blinks blue instead of green while the robot moves.


		
Rubbish bin
Time