Arduino OOP [40-Minute Crash Course]

Поділитися
Вставка
  • Опубліковано 2 сер 2024
  • Do you want to write clean and scalable Arduino code, or create easy-to-use Arduino libraries? This Arduino OOP tutorial is just what you need to get started.
    👉 Complete Arduino OOP Course 🔥 rbcknd.com/learn-arduino-oop 🔥
    ✅ Corresponding Written Tutorial: Arduino OOP roboticsbackend.com/arduino-o...
    ⏱️ Chapters
    (00:00) Intro
    (00:57) Create a Class for an LED
    (03:17) Create the Led Class Structure
    (05:37) Add Attributes to the Class
    (08:43) The Led Class Constructor
    (15:37) Add Methods to the Class
    (19:43) Use your Class: Create an Led Object
    (26:38) Organize the Class in a Clear Way
    (29:00) Create a Header File for the Class
    (34:40) Create a .cpp File - Separate the Interface from the Implementation
    (40:34) How to go further with Arduino OOP?
    👉 Get all my courses here 👉 rbcknd.com/all-courses
    Twitter: / roboticsbackend
    More Free Tutorials: roboticsbackend.com

КОМЕНТАРІ • 27

  • @RoboticsBackEnd
    @RoboticsBackEnd  4 місяці тому

    Thank you for watching!
    🔥 To go further with Arduino and OOP, check out this complete and step-by-step course
    👉 rbcknd.com/learn-arduino-oop

  • @larrybud
    @larrybud 7 місяців тому +2

    Good basic intro to classes. Then use a real IDE and then you're really cooking!

  • @anordeng
    @anordeng Рік тому

    Your videos are super clear and awesome.

  • @leythecg
    @leythecg 11 місяців тому

    Excellent tutorial! Both the content and the presentation! Thank you very much!

  • @user-hx7hb8bv7z
    @user-hx7hb8bv7z Рік тому

    Love it, you are the best!

  • @paulklasmann1218
    @paulklasmann1218 Рік тому

    That was excellent, thank you.

  • @grzegorzkoslacz3859
    @grzegorzkoslacz3859 Рік тому

    Useful. Thanks. What helps to understand classes is to treat it mentally as integrated circuits.

  • @capitainubermorgen5599
    @capitainubermorgen5599 7 місяців тому

    Thanks for this excellent tutorial! Cheers from Cologne, Germany

  • @sami_2119
    @sami_2119 9 місяців тому

    I learn a lot. Thanks sir

  • @7alfatech860
    @7alfatech860 Рік тому

    Thanks for a clear explanation of the use of constructors and of "this". I wonder if an advantage of using "_" or "m_" before the variable name is that it makes it clear that it is a private variable that we are using, and we should not expect to be able to access it otherwise.

    • @RoboticsBackEnd
      @RoboticsBackEnd  Рік тому +3

      This really is a matter of preference, all options are valid (although if you just add an underscore, maybe better to add it to the end. So you'd have "pin", or "m_pin", or "pin_")
      One thing is: try to be consistent, and if you join an existing project/job/etc, then use the same convention as they do :)

  • @BearFulmer
    @BearFulmer Рік тому

    Im also intetested in learning about using an existing library to make functions to control things, say for instance using a fastled or neopixel library to make some of my own displays and save them, im not sure how to declare libraries inside the cpp and h files. i get multiple definitions sometimes and others its not defined.

  • @phmiii
    @phmiii Рік тому

    I think I must enjoy your Arduino OOP class on Udemy!

  • @vinothn4228
    @vinothn4228 10 місяців тому

    ❤Thanks a lot tutor🎉... This is exactly, what I want to learn for improvement in my carrier as Embedd Firmware developer ....! Finally, i found a treasure like channel accidentally. 😊
    🎉
    🎉🎉
    🎉🎉🎉
    Greetings .....!

  • @gurselturkeri
    @gurselturkeri Рік тому +2

    Can you share video about Arduino and ROS2 communication?

    • @RoboticsBackEnd
      @RoboticsBackEnd  Рік тому +1

      Will do! thanks for the feedback. That's on my todo list, just need to find the time to do it :)

  • @dioutoroo
    @dioutoroo 11 місяців тому

    Hi, thanks for the lesson. I tried to try it but I always get the no such file or directory error. I had put the header and the cpp files in the same folder. Could you help?

  • @havehalkow
    @havehalkow Рік тому +1

    What if I already have an object created, using an available library, but I need to make some additional methods for it? May I ask for hints on how to do that, please!

    • @DanielEscasa
      @DanielEscasa 8 днів тому

      Offhand, I think you can extend the class by using the _duplicate_ keyword

  • @janedoe6182
    @janedoe6182 7 місяців тому

    Should I create class for class, and another class for class creation?

  • @1968LuckyStriker
    @1968LuckyStriker 7 місяців тому +1

    It's very confused.
    You used 'pin' and 'pin'. Ok, you use the 'this->', but even that makes it difficult.

  • @wsmith9932
    @wsmith9932 8 місяців тому

    Why did you not use 'this->pin' rather than just 'pin' in the 'on' and 'off' methods?

    • @RoboticsBackEnd
      @RoboticsBackEnd  7 місяців тому

      Just to make it extra clear in the code, but it's not mandatory.

    • @DanielEscasa
      @DanielEscasa 8 днів тому

      ⁠Not to mention that you have to type fewer characters 😊

  • @oscareriksson9414
    @oscareriksson9414 7 місяців тому +1

    Ok just have to say it. So to call 3 different functions, you wrote 2 files, both of which with more lines of code than the example. All to replace 3 lines in the example. Also there is more space allocated with the object. This is the problem with "oop" and it only becomes more difficult to follow the code and takes up more space in real programs. This is bad in embedded programming. I used to be very much into oop and all that Clean Code stuff and it can be kind of good to know it in the beginning, but understanding the hardware is better in the long run if you want to make more complex things. Knowing oop clean code principals will not help you understanding why your arduino stops working because of too many spikes in your circuit, why the timing of some thing is off etc etc..

    • @RoboticsBackEnd
      @RoboticsBackEnd  7 місяців тому +4

      Yes, definitely OOP is not suitable for embedded system programming, especially if you are going deeper with STM32 etc. But here with Arduino, the Arduino library is already a huge overhead, so adding OOP won't make much difference. I use OOP only with Arduino because programming Arduino (using Arduino libraries) is more like accessing the hardware as a software developer, not an embedded system developer. In the course I give more explanations about that.
      Then, for the example I use, yes I agree it's a lot of code for not much. But in all my tutorials/courses, my way to teach is to remove everything that is not about the concept, so we just focus on the concept. Thus, instead of starting from a 500 lines code, I start from the most basic example. Just so we can focus on OOP and not spend 20 minutes explaining what the code is about :)

    • @alejandroperez5368
      @alejandroperez5368 6 місяців тому

      You missed the whole point, buddy!