You can learn anything on Udemy. Start today with one of our 10,000+ online courses

Artificial Intelligence with Arduinos

Learn to build and program a simple, inexpensive robot to map and navigate a maze.
7 reviews
WHAT'S INSIDE
  • Lifetime access to 74 lectures and 1 quizzes
  • 6+ hours of high quality content
  • A community of 4000+ students learning together!
TAUGHT BY
  • Michael Backus Educator & Robotics Enthusiast

    I am an educator in Wasilla, Alaska. For nearly a decade I've taught robotics at the Alaska Summer Research Academy as well as at Twindly Bridge Charter School. When I'm not teaching robotics, I like to learn more about the various disciplines required to make really cool robots. I'm currently working on a soccer bot that uses computer vision. I hope to one day find a job that allows me to play with robots all day long in exchange for teaching middle and high school students what I learn by developing engaging online curriculum.

SHARE

Artificial Intelligence with Arduinos

Learn to build and program a simple, inexpensive robot to map and navigate a maze.
7 reviews

Students will learn to build and program an inexpensive robot using a breadboard, some servo motors, an Arduino Nano, and a few other basic electrical components. It will cost about $100 to purchase all the necessary materials (plus shipping), and you will need to have the frame 3D printed.

This course is structured so that you can progress at your own pace.

The lectures in this course show you how to either build a portion of the robot or program a discrete task.

Students who complete this course will learn about electronics, robotics, and a some sophisticated programming techniques. Together, these skills will allow students to build and program projects of their own design inexpensively.

If you have difficulty viewing the videos on Udemy's website, try using my YouTube Playlist for this course.

    • About $100 in electronics
    • Access to a 3D printer (to print the frame)
    • Access to a modular maze
    • Over 74 lectures and 6.5 hours of content!
    • program a robot to move autonomously
    • remotely control a robot
    • program a robot to avoid obstacles autonomously
    • program a robot to map and navigate a maze autonomously
    • Anyone interested in building and programming maze solving robots.

CURRICULUM

  • SECTION 1:
    Getting Started
  • 1
    Introduction
    02:12
  • 2
    What is an Arduino
    03:28
  • 3
    Links
    Text
  • 4
    3D Printing the Frame
    Text
  • 5
    Painting a PLA Frame
    02:22
  • 6
    How to Make a Nano Mouse 1.X
    10:15
  • 7
    Safety Check for Nano Mouse 1.X
    5 questions
  • 8
    How to Wire a Nano Mouse 2.0 (beta)
    Text
  • 9
    Installing Drivers for Cheap Chinese Arduino Clones
    Text
  • 10
    Installing the Arduino IDE & Drivers on Windows 7
    08:33
  • 11
    Installing the Arduino IDE & Drivers on a Mac
    04:18
  • 12
    Example Sketches, Comments, and Reference
    07:56
  • 13
    LEDs and Buttons
    06:57

    Take a look at the video listed in External Resources for an explanation of why it's necessary to use the internal pull-up resistor.

  • 14
    Test and Calibrate Your Servo Motors
    04:16
  • 15
    Control the Servo Motors
    03:11
  • SECTION 2:
    Movement
  • 16
    forward() Function
    04:06
  • 17
    Unequal Motors Tweak
    Text
  • 18
    stop() Function
    01:38
  • 19
    forwardTime() Function
    03:15
  • 20
    turn() Function
    01:58
  • 21
    Improved turn() Function
    02:23
  • 22
    Improved stop() Function
    02:36
  • 23
    Challenge: Make the turn() Function use Degrees
    01:32
  • 24
    Movement Challenge
    Text
  • 25
    Organizing Your Code
    08:56
  • SECTION 3:
    Remote Control
  • 26
    App Inventor
    Text
  • 27
    Making the App
    25:44
  • 28
    Programming the Arduino
    05:20
  • 29
    Renaming the Bluetooth Module
    Text
  • 30
    Adding the Bluetooth Module
    02:18
  • 31
    Putting it All Together
    01:39
  • SECTION 4:
    Sensors
  • 32
    Adding the Front Sensor
    10:21
  • 33
    Adding the Left and Right Sensors
    Text
  • 34
    Adding a Sensors Class
    05:55
  • 35
    Adding the Left and Right Detectors
    02:26
  • 36
    Using Reflected Light
    06:18
  • 37
    Filtering Out Ambient Light
    10:24
  • 38
    Smoothing
    19:44
  • 39
    Obstacle Detection
    04:14
  • SECTION 5:
    Obstacle Avoidance
  • 40
    State Machine
    05:27
  • 41
    Improved State Machine
    02:36
  • 42
    avoid() Function
    06:26
  • 43
    Improved avoid() Function
    06:37
  • 44
    Turn Random Directions
    03:33
  • 45
    Turn Random Durations
    02:15
  • SECTION 6:
    Navigating a Labyrinth
  • 46
    Proportional Control
    07:06
  • 47
    Amplifying the Error
    02:45
  • 48
    Calibrate targetFront
    06:30
  • 49
    forwardWhiskers() Function
    13:19
  • 50
    Sensors Threshold Tweak
    Text
  • 51
    Navigating a Known Labyrinth
    08:33
  • 52
    Navigating an Unknown Labyrinth
    15:43
  • 53
    Navigating a Known Maze
    06:40
  • SECTION 7:
    Solving a Maze
  • 54
    Concept
    05:44
  • 55
    Maze Class
    03:33

    Learn how to add the NanoMouseMaze class to your program to help visualize the concepts covered in the following videos. Version 2 includes two improvements:

    1. The print function can now handle mazes of any size.
    2. The print function is now compatible with btMonitor - an Android App I wrote to provide wireless debugging.
  • 56
    Changing the Mouse's Initial Position and Heading
    04:48
  • 57
    Initializing the Values Array
    07:12
  • 58
    Setting the Target Cell
    02:59
  • 59
    solve() for the North Neighbor
    04:43
  • 60
    solve() for All Neighboring Cells
    09:09
  • 61
    Adding Virtual Walls
    09:15
  • 62
    solve() Given North Wall
    06:33
  • 63
    solve() Given Neighboring Walls
    09:25
  • 64
    solve() for All Cells
    09:45
  • SECTION 8:
    Navigating a Maze
  • 65
    findBestNeighbor()
    11:28
  • 66
    findBestNeighbor() Challenge
    02:27
  • 67
    addWalls()
    06:08
  • 68
    Wireless Debugging with the Bluetooth Module & Android
    01:37
  • 69
    forwardWhiskers() Modified
    04:10
  • 70
    scanWalls()
    09:36
  • 71
    turnTowardBestNeighbor()
    10:21
  • 72
    Stepping Through the Maze
    06:19
  • 73
    #ifdef DEBUG
    03:07
  • 74
    Congratulations
    04:20
  • 75
    Speed Run Tips
    Text

RATING

  • 7
  • 0
  • 0
  • 0
  • 0
AVERAGE RATING
NUMBER OF RATINGS
7

REVIEWS

  • Phillip H McCary III
    Programing Skills

    Artificial Intelligence with Arduinos is a “must take” class for practical Arduino embedded systems. I learned more practical programing skills and “tricks” in Michael Backus’ class then all my other collage “software” classes combined. I now apply the “tricks” Michael taught me in my other projects: for example, the #ifdef DEBUG concept alone is invaluable.

  • Niklas Wennerstrand
    Exelent extensive course.

    I'm very pleased with this course. The content was extensive and interesting and Michael Backus have done a great job creating this course. The programming skills required is a little bit more than a absolute beginner would expect but Michael advise on on-line resources to learn the basics, and then jump back to this course. I highly recomend this course for other Udemy students.

  • Karijn
    Really good lab on how to create a maze solving robot

    I'd really enjoy watching this course, thanks.

  • Lifetime Access. No Limits!
  • Mobile Accessibility
  • Certificate of Completion