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)

Programming the counter (timer)

This section shows you how to code the 20-second timer. Programming a timer like this one is not trivial, since a user could activate the timer many times by waving at the ultrasonic sensor more than once while the counter is on. The program should not take into account those multiple activations if the 20-second counting is going on; otherwise, the counter will re-start multiple times and the counting will not be accurate. We also need to consider saving energy by turning off the LCD when not in use.

We should code our 20-second timer application by following these steps:

  1. Read values from the ultrasonic sensor.
  2. Check whether the user is waving at the sensor within 15 centimeters of the sensor. If this happens, do this:

    a) Turn on the LCD light.

    b) Show the Lather hands message and show the 20-second counting on the LCD.

    c) When the counter finishes, show this message on the LCD: Rinse your hands.

    d) Wait for 4 seconds and then turn off the...