Book Image

Hands-On Embedded Programming with C++17

By : Maya Posch
5 (1)
Book Image

Hands-On Embedded Programming with C++17

5 (1)
By: Maya Posch

Overview of this book

C++ is a great choice for embedded development, most notably, because it does not add any bloat, extends maintainability, and offers many advantages over different programming languages. Hands-On Embedded Programming with C++17 will show you how C++ can be used to build robust and concurrent systems that leverage the available hardware resources. Starting with a primer on embedded programming and the latest features of C++17, the book takes you through various facets of good programming. You’ll learn how to use the concurrency, memory management, and functional programming features of C++ to build embedded systems. You will understand how to integrate your systems with external peripherals and efficient ways of working with drivers. This book will also guide you in testing and optimizing code for better performance and implementing useful design patterns. As an additional benefit, you will see how to work with Qt, the popular GUI library used for building embedded systems. By the end of the book, you will have gained the confidence to use C++ for embedded programming.
Table of Contents (19 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

The hardware


Our ideal solution would have the most accurate sensor, without breaking the bank. This means that we pretty much have to use a capacitance sensor, as we saw earlier in this chapter. These sensors can be obtained as capacitive soil moisture sensors for little more than a few euros or dollars for a simple 555 timer IC-based design such as these:

You would simply stick these into the soil up to the point where the circuitry begins, then connect it with a power source as well as the connection to the analog to digital converter of the MCU.

Most peristaltic pumps one can purchase require 12V. This means that we need to either have a power supply that can provide both 5V and 12V, or use a so-called boost converter to convert the 5V to 12V. Either way, we would also need to have some method to turn the pump on or off. With the boost converter, we can use its enable pin to turn its output on or off using a GPIO pin on our MCU.

For prototyping, we can use one of these common 5V to 12V...