4.45 out of 5
4.45
22 reviews on Udemy

Introduction to object-oriented programming with Arduino

A hands-on tutorial with lots of small OOP-Arduino/ESP32 projects to participate in.
Instructor:
Markus Edenhauser
1,603 students enrolled
English [Auto]
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

Especially in the development of microcontrollers we often work with libraries, for example to control hardware components. The advantages of flexible and efficient source code design will be introduced to you in this course.

An ESP32 is used in the entire course, but all the examples (except the last one with the Website/Webserver and WIFI), exercises and explanations can be done with any Arduino.

Once you have completed this course, you will be able to…

  • …create your own object-oriented programs and libraries

  • …program reusable source code

  • … create clean source code architecture for flexible programming and adaptation

  • … code generalized classes and provide the libraries

  • … implement the basic concepts of OOP for your own projects and apply them immediately.

  • … save time for cumbersome programming. Because of the given conceptual design, your self-written code is easier to adapt.

  • … maintain your own code better even after a longer period of time.

What we go through in the course:

  • Basics of object-oriented programming in the Arduino environment. We will go through the essential contents of OOP step by step. We will get right into practical examples.

  • Practical example: Own LED class. Many different functions and interfaces.

  • Practical example 2: Galton board with marble elevator and evaluation of 12 IR sensors.

  • Practical example 3: Headlamp with only one(!) button, two LEDs and three light modes.

  • Practical example: Rock, paper, scissors game. We develop this small game. We compete against the bot and play to win two games. The logic is triggered by a web server on the ESP32 (with server side events).

My approach in the course:

  • None (ok, only very few) slides/Powerpoints. We start in the basics immediately with a practical example. Also the theory can be tested immediately on the Arduino with the Serial Monitor and thus immediately better understood.

  • The practical projects are developed together in step-by-step instructions.

  • Together means in this context that I demonstrate the code, depending on the task, and you can follow me along with the source code.

  • All codes are available for download on the platform, so you can get to the result without frustration.

  • No rambling explanations or theory monologues, we get right to work in the basics chapter.

Benefit from my years of experience and get the key skills in microcontroller development.

I’m looking forward to see you in class

Markus Edenhauser

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.5
4.5 out of 5
22 Ratings

Detailed Rating

Stars 5
13
Stars 4
6
Stars 3
3
Stars 2
0
Stars 1
0
a0766d079097e6d63a475b40b362d5f5

Includes

6 hours on-demand video
Certificate of Completion

Warning: Undefined array key "student_url_profile" in /home/itcoursesitjobbo/public_html/wp-content/plugins/masterstudy-lms-learning-management-system/_core/lms/helpers.php on line 1403

Warning: Undefined array key "student_url_profile" in /home/itcoursesitjobbo/public_html/wp-content/plugins/masterstudy-lms-learning-management-system/_core/lms/helpers.php on line 1408