Book Image

DIY Microcontroller Projects for Hobbyists

By : Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla
Book Image

DIY Microcontroller Projects for Hobbyists

By: Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla

Overview of this book

We live in a world surrounded by electronic devices, and microcontrollers are the brains of these devices. Microcontroller programming is an essential skill in the era of the Internet of Things (IoT), and this book helps you to get up to speed with it by working through projects for designing and developing embedded apps with microcontroller boards. DIY Microcontroller Projects for Hobbyists are filled with microcontroller programming C and C++ language constructs. You'll discover how to use the Blue Pill (containing a type of STM32 microcontroller) and Curiosity Nano (containing a type of PIC microcontroller) boards for executing your projects as PIC is a beginner-level board and STM-32 is an ARM Cortex-based board. Later, you'll explore the fundamentals of digital electronics and microcontroller board programming. The book uses examples such as measuring humidity and temperature in an environment to help you gain hands-on project experience. You'll build on your knowledge as you create IoT projects by applying more complex sensors. Finally, you'll find out how to plan for a microcontroller-based project and troubleshoot it. By the end of this book, you'll have developed a firm foundation in electronics and practical PIC and STM32 microcontroller programming and interfacing, adding valuable skills to your professional portfolio.
Table of Contents (16 chapters)

Writing a program to read the gas concentration over the sensor board

In this section, we will learn how to code a program to read data from our gas sensor and show it on the serial monitor if gas is present in the environment.

As in the previous section, we'll first learn how to read data digitally and also in analog form.

Coding for digital reading

Let's start writing the code:

  1. Define which pin of the STM32 Blue Pill microcontroller will be used as input for reading the data from the sensor. Here's the code that shows how to do that:
    const int sensorPin = PB12;
    boolean sensorValue = true;

    The selected pin was PB12 (labeled B12 on the Blue Pill board). A Boolean variable was declared and initialized to true. This variable will be used for storing the sensor data.

  2. Next, in the setup() part, we need to start the serial data transmission and assign the speed of the transfer (9600 bps as a standard value):
    void setup() {
      Serial.begin(9600)...