This course provides a deep dive into applying Object-Oriented Programming (OOP) techniques to Arduino development, allowing you to create modular, reusable, and efficient code. Starting with the fundamentals, you’ll quickly progress through designing custom classes to control LEDs and push buttons. Each lesson is designed to build your skills incrementally, from creating basic class structures to handling more complex logic, such as debouncing buttons and working with multiple objects.
Recommended experience
What you'll learn
Understand the fundamentals of Object-Oriented Programming in Arduino
Build and implement custom Arduino classes for controlling hardware components
Organize code by separating class interface and implementation using header and cpp files
Debug and optimize Arduino programs by applying OOP principles
Skills you'll gain
Details to know
Add to your LinkedIn profile
October 2024
3 assignments
See how employees at top companies are mastering in-demand skills
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 8 modules in this course
In this module, we will introduce the overall structure of the course and its goals. You’ll gain insights into why OOP is vital for Arduino projects, explore the materials required, and configure your development environment. We’ll also provide a project overview to help you make the most out of this learning experience.
What's included
5 videos1 reading
In this module, we will begin building your first Arduino class focused on controlling an LED. You'll learn how to define the class structure, add attributes and methods, use constructors, and create objects. By the end of this section, you'll have a fully functional LED class integrated into your program.
What's included
6 videos
In this module, we will organize the structure of your Arduino class by creating separate files for better clarity and maintainability. You'll learn to define the class interface in a header file, separate it from the implementation, and understand how to use this structure effectively. We’ll also explore how to turn your class into an Arduino library for future projects.
What's included
5 videos
In this module, we will guide you through building the circuit required for the course. You'll learn how to connect the components step by step, ensuring that everything is set up correctly for the project. This hands-on section will help you gain practical experience in circuit building and troubleshooting.
What's included
1 video1 assignment
In this module, we will guide you through creating a PushButton class from scratch. You'll define the class interface, handle button states, resistors, and debounce logic. By the end, you'll learn how to combine buttons and LEDs to work with multiple objects, further enhancing your project.
What's included
8 videos
In this module, we will explore advanced OOP concepts by embedding an LED object within the LEDBlinker class. You’ll learn how to toggle the LED state, manage blinking without delays, and use getters and setters. We’ll finish with a practical example where three LEDs blink at varying intervals, applying everything learned in this section.
What's included
6 videos
In this module, we will guide you through building a traffic light system for the final project. You'll set up a Traffic Light class, implement a state machine, and use timing functions for transitions. Additionally, you'll learn how to use a Potentiometer to adjust LED brightness, integrating these features into a fully functional traffic light system.
What's included
8 videos1 assignment
In this module, we will wrap up the course by reviewing the project, discussing potential improvements, and covering essential best practices for using OOP in Arduino projects. Finally, we’ll provide guidance on what to explore next, helping you continue your journey in Arduino and embedded systems development.
What's included
3 videos1 assignment
Instructor
Offered by
Recommended if you're interested in Computer Security and Networks
Ball State University
Birla Institute of Technology & Science, Pilani
Hebrew University of Jerusalem
Why people choose Coursera for their career
New to Computer Security and Networks? Start here.
Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.