Difference between revisions of "Tutorials/Arduino Projects/Mobile Robotics/Lego"

From ROBOTC API Guide
Jump to: navigation, search
(Platform base)
(Sharp IR Sensor)
 
(60 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
<yambe:breadcrumb self="Lego + Arduino, Mobile Robotics Platform">Arduino_Projects|Arduino Tutorials and Guided Projects</yambe:breadcrumb>
 
<yambe:breadcrumb self="Lego + Arduino, Mobile Robotics Platform">Arduino_Projects|Arduino Tutorials and Guided Projects</yambe:breadcrumb>
 
{{tl|1|}}
 
{{tl|1|}}
==== Platform base ====
+
== Platform base ==
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=What is the Lego + Arduino mobile robotics platform
+
|title=What is the Lego + Arduino mobile robotics platform?
 
|image=Lego Robot platform with Arduino2.jpg
 
|image=Lego Robot platform with Arduino2.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_the_Lego_+_Arduino_mobile_robotics_platform}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_the_Lego_+_Arduino_mobile_robotics_platform}}
Line 12: Line 12:
 
<br />
 
<br />
  
==== Using LEDs ====
+
== Using LEDs ==
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=What is an LED and how to use one
+
|title=Requirements
|image=LED_image_Lego.jpg
+
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/LED_Prerequisites}}
 +
 
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=What is an LED?
 +
|image=Orange LED.png
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_an_LED}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_an_LED}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=Program to Flash an LED
 
|title=Program to Flash an LED
|image=Lego_Breadboard_1_LED.jpg
+
|image=1LED on LEGO Robot.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Flash_an_LED}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Flash_an_LED}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=Add a Second LED
 
|title=Add a Second LED
|image=Lego_Breadboard_2_LEDs.jpg
+
|image=LED OnOff LEGO.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Add_an_LED}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Add_an_LED}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=How to Dim an LED
 
|title=How to Dim an LED
|image=Lego_2_PWM_Dimmed_LEDs.jpg
+
|image=LED Dimming LEGO.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/How_to_Dim_an_LED}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/How_to_Dim_an_LED}}
 +
 +
<!--
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Extension activities for LEDs
 +
|image=LED_Extension_Cover_LEGO.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_LEDs}}
 +
-->
 
|}
 
|}
 
<br />
 
<br />
  
==== Robot Motion ====
+
== Robot Motion ==
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Prerequisites_for_Robot_Motion}}
 +
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=What is a Lego Motor
 
|title=What is a Lego Motor
|image=Lego_Motor.jpg
+
|image=LEGO Motor Front.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Lego_Motor_Intro}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Lego_Motor_Intro}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=Connecting a Lego Motor to the Arduino
 
|title=Connecting a Lego Motor to the Arduino
|image=Lego_Motor_Breadboard_Connection.jpg
+
|image=LEGO Motor Connections Cover.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Connecting_A_Lego_Motor}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Connecting_A_Lego_Motor}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=Driving Forwards and Backwards
 
|title=Driving Forwards and Backwards
|image=Lego_Forward_Backward_Arrows.jpg
+
|image=Lego_Forward_Backward_Arrows.png
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Driving_Forwards_and_Backwards}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Driving_Forwards_and_Backwards}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=Turning
 
|title=Turning
|image=Lego_Turn_Arrows.jpg
+
|image=LEGO Point Turn Arrows.png
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Turning}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Turning}}
  
Line 69: Line 86:
 
|image=Lego_in_Simple_Maze.jpg
 
|image=Lego_in_Simple_Maze.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigating_Simple_Maze}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigating_Simple_Maze}}
 +
 +
<!--
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Extension activities for Robot Motion
 +
|image=Robot_Motion_Extension_Cover_LEGO.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_Robot_Motion}}
 +
-->
 
|}
 
|}
 +
 
<br />
 
<br />
  
==== Bump Switch ====
+
== Touch Sensor ==
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=What is a Switch
+
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Prerequisites_for_Touch_Sensors}}
 +
 
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=What is a touch sensor?
 
|image=Lego_Switch.jpg
 
|image=Lego_Switch.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_a_Switch}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_a_Switch}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Starting a program with a switch
+
|title=Using a Touch Sensor to Light an LED
 +
|image=Touch_Sensor_LED.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_a_Touch_Sensor_to_Light_an_LED}}
 +
 
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Starting a program with a touch sensor
 
|image=Lego_with_Start_Switch.jpg
 
|image=Lego_with_Start_Switch.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Start_Program_with_a_Switch}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Start_Program_with_a_Switch}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Detecting Obstacles with a switch
+
|title=Detecting Obstacles with a touch sensor
 
|image=Lego_Bump_Switch.jpg
 
|image=Lego_Bump_Switch.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Obstacle_Detection_and_Avoidance_using_a_Switch}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Obstacle_Detection_and_Avoidance_using_a_Switch}}
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Navigate a Simple Maze using Switches
+
|title=Navigate a simple maze using a touch sensor
 
|image=Lego_With_Bump_Switch_in_Maze.jpg
 
|image=Lego_With_Bump_Switch_in_Maze.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigating_Simple_Maze_using_Switches}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigating_Simple_Maze_using_Switches}}
 +
 +
<!--
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Extension activities for the Touch Sensor
 +
|image=Touch_Sensor_Extension_Cover_LEGO.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_Touch_Sensor}}
 +
-->
 
|}
 
|}
 +
 
<br />
 
<br />
  
==== Ultrasonic Sensor ====
+
== Ultrasonic Sensor ==
 +
{{Note|ROBOTC does not currently support the Lego Sonar (Ultrasonic) sensor.}}
 +
<!--
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Ultrasonic_Prerequisites}}
 +
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=What is an ultrasonic sensor?
 
|title=What is an ultrasonic sensor?
Line 124: Line 174:
 
|image=Lego_Sonar_Sensor_Maze_Navigation.jpg
 
|image=Lego_Sonar_Sensor_Maze_Navigation.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigate_Maze_Using_Ultrasonic_Sensor}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigate_Maze_Using_Ultrasonic_Sensor}}
|}
 
<br />
 
 
==== Proportional Control ====
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|style="vertical-align: top;"|{{tut-mini
 
|title=What is proportional control?
 
|image=Lego_Proportional_Control_Image.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_proportional_control}}
 
  
 +
<!--
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Using proportional control with the Sonar Sensor
+
|title=Extension activities for the Ultrasonic Sensor
|image=Lego_Ultrasonic_Sensor_Proportional_Control_Image.jpg
+
|image=Ultrasonic_Extension_Cover_LEGO.jpg
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Programing_Proportional_Control_with_the_ultrasonic_sensor}}
+
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_Ultrasonic}}
 
|}
 
|}
 +
-->
 +
 
<br />
 
<br />
  
==== Passive Light Sensor ====
+
== Passive Light Sensor ==
 +
 
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Passive_Light_Prerequisites}}
 +
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=What is a Passive Light Sensor
 
|title=What is a Passive Light Sensor
|image=Lego_Passive_Light_Sensor.jpg
+
|image=Lego_Light_Sensor.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_a_Passive_Light_Sensor}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_a_Passive_Light_Sensor}}
  
Line 156: Line 205:
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Program to use Light Sensor to avoid light
+
|title=Using the Light Sensor to find light
 +
|image=Light_Lego_Robot_With_Light_Sensor.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Program_to_use_Light_Sensor_to_find_light}}
 +
 
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using the Light Sensor to avoid light
 
|image=Dark_Lego_Robot_With_Light_Sensor.jpg
 
|image=Dark_Lego_Robot_With_Light_Sensor.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Program_to_use_Light_Sensor_to_avoid_light}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Program_to_use_Light_Sensor_to_avoid_light}}
  
 +
<!--
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Program to use Light Sensor to find light
+
|title=Extension activities for the passive light sensors
|image=Light_Lego_Robot_With_Light_Sensor.jpg
+
|image=pasive_light_Extension_Cover_LEGO.jpg
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Program_to_use_Light_Sensor_to_find_light}}
+
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_passive_light}}
 +
-->
 
|}
 
|}
 
<br />
 
<br />
  
==== Active Light Sensor ====
+
==Light Sensor ==
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=What is an Active Light Sensor
+
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Light_Sensor_Prerequisites}}
 +
 
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=What is an active Light Sensor
 
|image=Lego_Light_Sensor.jpg
 
|image=Lego_Light_Sensor.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_an_Active_Light_Sensor}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_an_Active_Light_Sensor}}
Line 181: Line 242:
  
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
|title=Use an active light sensor to follow a line
+
|title=Using a light sensor to stop at a line
 
|image=Lego_Light_Sensor_over_line.jpg
 
|image=Lego_Light_Sensor_over_line.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Use_an_active_light_sensor_to_stop_at_a_line}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using a light sensor to follow a line
 +
|image=Lego_Light_Sensor_Following_Line.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Use_an_active_light_sensor_to_follow_a_line}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Use_an_active_light_sensor_to_follow_a_line}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Navigate a simple maze using a light sensor
 +
|image=Lego_With_Light_Sensor_in_Maze.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Navigating_Simple_Maze_using_a_Light_Sensor}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using the Light Sensor LED
 +
|image=Lego Light Sensor LED.jpg
 +
|link=Tutorials/Arduino Projects/Mobile Robotics/Lego/Use the light sensor LED}}
 +
 +
<!--
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Extension activities for the Light Sensor
 +
|image=Light_Sensor_Extension_Cover_LEGO.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_Light_Sensor}}
 +
-->
 
|}
 
|}
 +
 
<br />
 
<br />
  
==== Sharp IR Sensor ====
+
== Sharp IR Sensor ==
 
:{| style="vertical-align: top; padding: 2px;"|
 
:{| style="vertical-align: top; padding: 2px;"|
 
|-
 
|-
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/IR_Sensor_Prerequisites}}
 +
 
|style="vertical-align: top;"|{{tut-mini
 
|style="vertical-align: top;"|{{tut-mini
 
|title=What is different about the Sharp IR Sensor?
 
|title=What is different about the Sharp IR Sensor?
Line 204: Line 293:
 
|image=Lego_Sharp_IR_Sensor_with_object.jpg
 
|image=Lego_Sharp_IR_Sensor_with_object.jpg
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_the_Sharp_IR_Sensor_to_detect_objects_and_their_distance}}
 
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_the_Sharp_IR_Sensor_to_detect_objects_and_their_distance}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using the Sharp IR Sensor to follow a wall
 +
|image=Lego_Sharp_IR_Sensor_Follow_Wall.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_the_Sharp_IR_Sensor_to_follow_walls}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using the Sharp IR Sensor to navigate the simple maze
 +
|image=Lego_Sharp_IR_Sensor_In_Maze.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_the_Sharp_IR_Sensor_to_Navigate_A_Simple_Maze}}
 +
 +
<!--
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Extension activities for the Sharp IR sensor
 +
|image=IR_Extension_Cover_LEGO.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_sharp_IR}}
 +
-->
 
|}
 
|}
 +
 
<br />
 
<br />
 +
 +
== Encoders ==
 +
:{| style="vertical-align: top; padding: 2px;"|
 +
|-
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Requirements
 +
|image=Requirements_icon.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Encoder_Prerequisites}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=What is an encoder?
 +
|image=LEGO Motor Front.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/What_is_an_Encoder}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Connecting an encoder
 +
|image=LEGO Motor Connections Cover.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Connecting_an_encoder}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using encoders to drive some distance
 +
|image=Lego_Encoder_Drive_distance_Closeup.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_encoders_to_drive_some_distance}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using encoders to correct motor variation
 +
|image=Lego_Encoder_Drive_Straight.png
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_encoders_to_drive_Straight}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using encoders to make turns
 +
|image=Lego_Encoder_Turn_Test_3.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_encoders_to_make_turns}}
 +
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Using encoders to navigate the simple maze
 +
|image=Lego_Encoder_in_maze.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Using_encoders_to_navigate_the_simple_maze}}
 +
 +
<!--
 +
|style="vertical-align: top;"|{{tut-mini
 +
|title=Extension activities using Encoders
 +
|image=Encoder_Extension_Cover_LEGO.jpg
 +
|link=Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Extension_Activities_For_Encoders}}
 +
-->
 +
|}

Latest revision as of 20:22, 10 August 2012

ArduinoArduino Tutorials and Guided Projects → Lego + Arduino, Mobile Robotics Platform

Platform base


Using LEDs


Robot Motion


Touch Sensor


Ultrasonic Sensor

Notepad.gif NOTE: ROBOTC does not currently support the Lego Sonar (Ultrasonic) sensor.


Passive Light Sensor


Light Sensor


Sharp IR Sensor


Encoders