image
image

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

Buy only this course for S$26.25 S$17.85

Or

Add to Wishlist
image

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
  1. Anyone who wants to deepen their knowledge of object-oriented programming (OOP) in the Arduino environment.
  2. Developers who are interested in taking their code to the next level.
  3. All of you who want to understand, apply and write OOP themselves.
  4. All of you who want to create their own libraries.
Testimonials
  1. Completly new to me. looking forward to test this concept on my projects ~ Jonatan R
  2. Really good overview of OOP ~ Eljas L
  3. 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
  1. The structure of a class
  2. What data encapsulation is and how we implement this concept
  3. Creation and use of constructors
  4. Overloading constructors and functions (polymorphism)
  5. Inheritance of classes
  6. Use and adaptation of inherited classes
  7. Interaction of headers and CPP files
  8. Control of servo motors, infrared sensors, LEDs.
  9. Use of Visual Studio Code / Platform IO (with Arduino IDE also possible)
  10. Provide of own libraries for external developers
  11. Creation of individual libraries for own use
  12. Best practices in object oriented programming of microcontrollers
  13. Many practical examples which are built up step by step
Requirements
  1. First experiences in Arduino development (millis, pinMode, data types).
  2. Basics C++ in the Arduino environment.
  3. 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.
  4. Everything about OOP is taught in this course.
  5. First experience with the ESP32 is advantageous.
Course Content
9 Sections 70 Lectures 5h 44m total length