Object Oriented Programming with Arduino: An In-Depth Guide
Discover the benefits of object-oriented programming in Arduino, covering LED class implementation, Galton Board with IR Sensors, headlamp design and more.
79
views
Last updated
5/2024
English
Or
* Please use the WELCOME-20 Discount Codeto enjoy 20% Off
Get your team access to top Uplyrn courses anytime,
anywhere.
Overview
In the realm of microcontroller development, working with libraries is commonplace, particularly for controlling hardware components. This course will introduce you to the benefits of a flexible and efficient source code design.
Throughout the duration of the course, an ESP32 will be utilized, with all examples, exercises, and explanations adaptable to any Arduino, except for the final example involving the Website / Web server and WIFI.
Upon completion of this course, you will be able to:
Develop your own object-oriented programs and libraries
Write reusable source code
Establish a clean source code architecture for adaptable programming and customization
Code generalized classes and furnish the requisite libraries
Apply the fundamental principles of OOP to your own projects immediately
Expedite programming tasks by leveraging the provided conceptual design, making your self-written code easier to adapt
Effectively maintain your code, even over extended periods of time
Course Content Overview
In this course, we will cover the fundamentals of object-oriented programming within the Arduino environment. The course will provide a comprehensive understanding of OOP concepts through a step-by-step approach, with a focus on practical application.
Practical Examples
LED Class Implementation
Implementation of a custom LED class with multiple functions and interfaces.
Galton Board with IR Sensors
Development and evaluation of a Galton board featuring a marble elevator and 12 IR sensors.
Headlamp Design
Creation of a headlamp featuring a single button, two LEDs, and three distinct light modes.
Rock, Paper, Scissors Game
Development of a game to play against a bot, requiring the player to win two games. The game logic is powered by a web server on the ESP32 using server-side events.
Approach in the Course
Minimal Use of Slides/Powerpoints
Only a few slides are used, if any.
Immediate Application of Basics
The course starts by immediately delving into practical examples without relying heavily on theory.
Theory is directly applied and tested on the Arduino using the Serial Monitor for better comprehension.
Step-by-Step Development of Practical Projects
Practical projects are developed collaboratively through clear, step-by-step instructions.
Demonstrations of the code are provided, allowing participants to follow and understand the source code for each task.
Accessible Code Downloads
All codes are readily available for download on the platform, ensuring frustration-free access to the desired results.
Emphasis on Practical Work
The course avoids lengthy explanations or theoretical monologues, focusing on immediate engagement with the basics.
Leveraging Experience for Skill Development
Participants can benefit from the instructor's extensive experience in microcontroller development to acquire essential skills.
Enthusiastic Invitation
I look forward to welcoming participants to the class.
Warm Regards,
Markus Edenhauser
Who this course is for
Anyone who wants to deepen their knowledge of object-oriented programming (OOP) in the Arduino environment.
Developers who are interested in taking their code to the next level.
All of you who want to understand, apply and write OOP themselves.
All of you who want to create their own libraries.
Testimonials
Completly new to me. looking forward to test this concept on my projects ~ Jonatan R
Really good overview of OOP ~ Eljas L
The course provides a good insight into the advantages of OOP. It provides some experience to use OOP with Arduino like microcontrollers ~ Ellard P
What you'll learn
The structure of a class
What data encapsulation is and how we implement this concept
Creation and use of constructors
Overloading constructors and functions (polymorphism)
Inheritance of classes
Use and adaptation of inherited classes
Interaction of headers and CPP files
Control of servo motors, infrared sensors, LEDs.
Use of Visual Studio Code / Platform IO (with Arduino IDE also possible)
Provide of own libraries for external developers
Creation of individual libraries for own use
Best practices in object oriented programming of microcontrollers
Many practical examples which are built up step by step
Requirements
First experiences in Arduino development (millis, pinMode, data types).
Basics C++ in the Arduino environment.
A lot can be simulated with the online simulators, but you will have a greater learning success if you rebuild the practical examples with the hardware components.
Overview
In the realm of microcontroller development, working with libraries is commonplace, particularly for controlling hardware components. This course will introduce you to the benefits of a flexible and efficient source code design.
Throughout the duration of the course, an ESP32 will be utilized, with all examples, exercises, and explanations adaptable to any Arduino, except for the final example involving the Website / Web server and WIFI.
Upon completion of this course, you will be able to:
Course Content Overview
In this course, we will cover the fundamentals of object-oriented programming within the Arduino environment. The course will provide a comprehensive understanding of OOP concepts through a step-by-step approach, with a focus on practical application.
Practical Examples
LED Class Implementation
Implementation of a custom LED class with multiple functions and interfaces.
Galton Board with IR Sensors
Development and evaluation of a Galton board featuring a marble elevator and 12 IR sensors.
Headlamp Design
Creation of a headlamp featuring a single button, two LEDs, and three distinct light modes.
Rock, Paper, Scissors Game
Development of a game to play against a bot, requiring the player to win two games. The game logic is powered by a web server on the ESP32 using server-side events.
Approach in the Course
Minimal Use of Slides/Powerpoints
Only a few slides are used, if any.
Immediate Application of Basics
Step-by-Step Development of Practical Projects
Accessible Code Downloads
All codes are readily available for download on the platform, ensuring frustration-free access to the desired results.
Emphasis on Practical Work
The course avoids lengthy explanations or theoretical monologues, focusing on immediate engagement with the basics.
Leveraging Experience for Skill Development
Participants can benefit from the instructor's extensive experience in microcontroller development to acquire essential skills.
Enthusiastic Invitation
I look forward to welcoming participants to the class.
Warm Regards,
Markus Edenhauser
Who this course is for
Testimonials
What you'll learn
Requirements
Course Content
9 Sections 70 Lectures 5h 44m total length
All Comments