Jump to main content

Build an Arduino Self-Driving Car

Summary

Grade Range
8th-12th
Group Size
2-4 students
Active Time
12 hours
Total Time
12 hours
Area of Science
Computer Science
Artificial Intelligence
Key Concepts
Algorithmic thinking, circuits, programming, robotics
Credits
Science Buddies is committed to creating content authored by scientists and educators. Learn more about our process and how we use AI.

Overview

This eight-part lesson will guide you through building and programming Arduino-controlled autonomous cars with your students. Each part contains a detailed step-by-step video and a supplemental lesson plan PDF with learning objectives, assessment opportunities, and appendices with circuit diagrams and example code. You can present the material yourself or have students follow along with the videos and pause to work on their autonomous cars.

Learning Objectives

NGSS Alignment

This lesson helps students prepare for these Next Generation Science Standards Performance Expectations:
This lesson focuses on these aspects of NGSS Three Dimensional Learning:

Science & Engineering Practices
Constructing Explanations and Designing Solutions. Design a solution to a complex real-world problem, based on scientific knowledge, student-generated sources of evidence, prioritized criteria, and tradeoff considerations.
Disciplinary Core Ideas
ETS1.C: Optimizing the Design Solution. Criteria may need to be broken down into simpler ones that can be approached systematically, and decisions about the priority of certain criteria over others (trade-offs) may be needed.
Crosscutting Concepts
Influence of Science, Engineering, and Technology on Society and the Natural World. New technologies can have deep impacts on society and the environment, including some that were not anticipated. Analysis of costs and benefits is a critical aspect of decisions about technology.

Materials

Each group of students will need:

You will also need materials to make at least one test track for your classroom, such as posterboard, construction paper, and colored tape. See the track creation guide for suggestions.

Background Information for Teachers

This section contains a quick review for teachers of the science and concepts covered in this lesson.

Note: This course assumes that students have worked with Arduino before and are familiar with some of the basics like blinking an LED and using a button. If you are introducing your students to Arduino for the first time, please see the Introduction to Arduino lesson plan at Science Buddies before starting this lesson. That way, your students will be ready to dive right into the more advanced topics in this course, like controlling the sensors and motors that you will need for an autonomous vehicle.

Self-driving, or autonomous, cars are becoming a part of daily life. Even if they are too young to drive, students might be curious about how self-driving cars work, or wonder whether they're safe. Having students build, program, and test their own self-driving cars is a great way to introduce them to new programming and electronics topics. First, students will learn how to control the speed and direction of motors with an Arduino, and how to use the motors to steer their car. Next, they will learn how to use two different types of sensors — ultrasonic and infrared — to detect obstacles and lane lines. Finally, they will synthesize everything they have learned to program a self-driving car that can autonomously navigate a track.

Each lesson in this course contains a video that walks students step-by-step through building the circuit and programming one key feature of a self-driving Arduino car, culminating in designing a full algorithm for the car's operation. You can choose to have your students follow the videos directly, or use the supplemental lesson plan PDFs and present the material yourself. Each PDF contains appendices with the relevant circuit diagrams and example code for the lesson, along with learning objectives and assessment opportunities.

Note that you will need to assemble the BlueBot chassis for each vehicle. Once assembled, these chassis can be re-used year after year. Instructions for assembling the chassis are available in this video:

Note that the video shows the battery pack mounted on top of the chassis. When adding an Arduino to the car, you should put it on the top plate so it is next to the breadboard. You can mount the batteries on the lower plate. Double-sided foam tape works well to quickly attach parts to the chassis, as opposed to using screws.

Many of the videos in these lessons use Tinkercad Circuits, an online circuit simulator, to demonstrate building circuits and programming the Arduino. Your students can follow along with a physical Arduino, but you can also use Tinkercad Circuits as a teaching tool. This video provides an introduction to Tinkercad Circuits:

Additional Computer Science Lessons

More high-quality computer science lessons can be found at Infosys' Pathfinders Online Institute.

Prep Work (time varies)

Engage ()

Explore

Reflect

Make Career Connections

Lesson Plan Variations

Top
We use cookies and those of third party providers to deliver the best possible web experience and to compile statistics.
By continuing and using the site, including the landing page, you agree to our Privacy Policy and Terms of Use.
OK, got it
Free science fair projects.