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 I2C interface

In this section, we will review how to obtain useful data from the MLX90614 temperature sensor to be transmitted using the I2C protocol, also known as IIC. It is a serial data communication protocol that is practical for interfacing sensors, LCDs, and other devices to microcontroller boards that support I2C. The next section defines what I2C is.

The I2C protocol

I2C is a synchronous serial communication protocol that allows interconnecting sensors, microcontrollers, displays, analog-to-digital converters (ADCs), and so on, at a short distance using a common bus (a bus works as a main digital road). The I2C bus is composed of a few lines (wires) that all the devices share and use for transmitting and exchanging data. The I2C protocol is practical and beneficial because it uses only two wires for data communication. Another benefit of I2C is that in theory, it can support up to 1,008 devices connected to the same I2C bus! It is also worth mentioning...