Concrete introduction to C++ programming and the creation of Arduino libraries.
Duration: 5 Days
This course is a technical course that introduces embedded C++ programming techniques. As well as teaching and demonstrating the key features of embedded C++ programming it will explore programming idioms and object oriented thinking useful in the construction of Arduino libraries for working with various sensors and devices that lie at the heart of interactive and control systems. Students are required to have a reasonable knowledge of C programming.
The course will introduce object oriented programming in C++ and students will have an opportunity to build and run C++ programs on a RaspberryPi, a PC and an Arduino. It will then go on to explore the internals of various Arduino classes used in Arduino applications, such as e.g. classes associated with GPIO pins and how they are used with attached LEDs and Buttons, classes associated with processing analog inputs and classes associated with PWM (Pulse Width Modulation). Serial communications libraries concerned with UART, SPI and I2C will also be explored.
The course will introduce some of the well known object oriented programming patterns such as the Observer Pattern and the Factory pattern and will introduce techniques for implementing finite state machines in C++ and their power and importance in implementing interactive and reactive systems.