Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Introduction to Object-Oriented Programming with Arduino

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
In this course, you will dive into Object-Oriented Programming (OOP) using the Arduino platform. Through hands-on projects, you will learn how to structure code using OOP principles such as classes, inheritance, and encapsulation. By the end of the course, you’ll be able to build functional, modular projects, improving your coding efficiency and readability. The course begins with an introduction to the ESP32 microcontroller and basic coding concepts. You’ll explore the advantages of different development environments, including Arduino IDE and VS Code, and learn to use an online simulator. As you progress, the course delves into fundamental programming concepts like enums and structs, which are crucial for organizing data and improving code structure. The heart of the course focuses on Object-Oriented Programming. You will start with a basic introduction to OOP concepts, and then move on to practical applications such as creating and managing classes, constructors, and methods like getters and setters. You’ll also learn about overloading constructors, inheritance, and working with header and CPP files. This course is perfect for anyone looking to enhance their Arduino programming skills. It is especially suited for those with a basic understanding of Arduino and C++, who are interested in applying OOP principles to improve their project structures. The course is hands-on, offering real-world examples and a variety of projects, including an LED control system, IR sensor projects, and a Rock Paper Scissors game. No advanced prerequisites are needed, but familiarity with basic programming concepts will be helpful.

Syllabus

  • Introduction
    • In this module, we will introduce you to the course, provide an overview of what to expect, and explain how to set up the necessary components for success. You'll also learn about the instructor and get an understanding of the balance between theory and hands-on practice in this course.
  • Basics
    • In this module, we will cover the basic tools and concepts needed for programming with the ESP32. You'll explore the differences between development environments like VS Code and the Arduino IDE, as well as dive into key programming elements like enums and structs to enhance your coding skills.
  • Short introduction to object-oriented programming
    • In this module, we will introduce you to the core concepts of object-oriented programming, focusing on the essentials needed to develop with Arduino. You'll learn how to structure your code with classes, encapsulate data, and use key OOP features like constructors, inheritance, and methods to make your projects more flexible and modular.
  • Individual LED Class
    • In this module, we will focus on developing an LED class and using object-oriented programming to control an LED's behavior. You will learn how to create various effects, including toggling, fading, pulsating, and LED chasing, all through efficient and modular code using objects.
  • IR sensors using the Galton board as an example
    • In this module, we will explore how to integrate IR sensors into a project using the Galton board as an example. You will learn how to wire the sensors, create an object-oriented structure to manage them, and implement functionality such as motor control and sensor evaluation, all while reinforcing OOP concepts.
  • Headlamp - Button short/long click
    • In this module, we will walk you through the process of designing a headlamp project with button-controlled LEDs. You’ll learn how to manage button inputs with a custom class, debounce button presses, and differentiate between short and long clicks to control the LEDs. Additionally, you will extend the functionality by incorporating inheritance and fading effects for a more dynamic project.
  • Rock Paper Scissors
    • In this module, we will walk you through building a Rock Paper Scissors game that interacts with an ESP32 and a website. You'll create the game logic using object-oriented programming, set up communication between the website and the ESP32, and enhance the project with visual effects and housing solutions.
  • Publish your OOP source code as Arduino library
    • In this module, we will guide you through the steps to create and publish your own Arduino library, applying object-oriented programming concepts. You’ll learn how to structure your code for reusability and share your library with the Arduino community.
  • Conclusion
    • In this module, we will summarize the key concepts and skills you've learned throughout the course. We'll also reflect on the projects you've completed and provide guidance on how to continue applying and expanding your knowledge of object-oriented programming with Arduino.

Taught by

Packt - Course Instructors

Reviews

Start your review of Introduction to Object-Oriented Programming with Arduino

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.