Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Practical Python Programming for IoT

You're reading from   Practical Python Programming for IoT Build advanced IoT projects using a Raspberry Pi 4, MQTT, RESTful APIs, WebSockets, and Python 3

Arrow left icon
Product type Paperback
Published in Nov 2020
Publisher Packt
ISBN-13 9781838982461
Length 516 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Gary Smart Gary Smart
Author Profile Icon Gary Smart
Gary Smart
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

Preface 1. Section 1: Programming with Python and the Raspberry Pi
2. Setting Up your Development Environment FREE CHAPTER 3. Getting Started with Python and IoT 4. Networking with RESTful APIs and Web Sockets Using Flask 5. Networking with MQTT, Python, and the Mosquitto MQTT Broker 6. Section 2: Practical Electronics for Interacting with the Physical World
7. Connecting Your Raspberry Pi to the Physical World 8. Electronics 101 for the Software Engineer 9. Section 3: IoT Playground - Practical Examples to Interact with the Physical World
10. Turning Things On and Off 11. Lights, Indicators, and Displaying Information 12. Measuring Temperature, Humidity, and Light Levels 13. Movement with Servos, Motors, and Steppers 14. Measuring Distance and Detecting Movement 15. Advanced IoT Programming Concepts - Threads, AsyncIO, and Event Loops 16. IoT Visualization and Automation Platforms 17. Tying It All Together - An IoT Christmas Tree 18. Assessments 19. Other Books You May Enjoy

Creating the DHT11/DHT22 circuit

We will begin by creating the circuit illustrated in Figure 9.2 on our breadboard:

Figure 9.2 – DHT sensor schematic

The following is the breadboard layout for this circuit that we are about to build:

Figure 9.3 – DHT sensor circuit

Here are the steps to follow, which match the numbered black circles in Figure 9.3:

  1. Place your DHT11 or DHT22 sensor into your breadboard.
  2. Place the 10kΩ resistor (R1) into the breadboard. One end of the resistor shares the same row as the DHT sensor's DATA pin. We will discuss this resistor and why it's marked as optional in Figure 9.2 after we complete the circuit build.
  3. Connect a 3.3-volt pin on your Raspberry Pi to the positive rail of the power rail.
  4. Connect the 10kΩ resistor (R1) to the positive power rail.
  5. Connect the DHT Vcc pin to the positive power rail.
  6. Connect a GND pin on your Raspberry Pi to the negative power rail.
  7. Connect the GND pin on the DHT sensor to the negative power rail.
  8. Finally, connect the DHT sensor's DATA pin to the GPIO 21 on your Raspberry Pi.

This now completes our DHT sensor circuit build.

In our circuit, Vcc is connected to 3.3 volts, which makes the DHT data pin operate at this voltage. DHT11 and DHT22 are rated for 5 volts; however, if you connected Vcc to 5 volts, the data pin becomes a 5-volt logic pin, which is not safe for use with the Raspberry Pi's 3.3-volt GPIO pin.

The 10kΩ pull-up resistor is optional because the DHT software library we are using already enables Raspberry Pi's internal pull-up resistor by default. I've included the pull-up resistor in the circuit schematic because it's included in the circuit examples in many DHT11/DHT22 datasheets. If you need a refresher on pull-up resistors, please revisit Chapter 6, Electronics 101 for the Software Engineer.

In our circuit and for the DHT11/DHT22, the leg labeled NC means Not Connected. NC is a common abbreviation used to indicate that a leg or terminal of a sensor, IC, or component is not internally connected to anything. However, when we are dealing with switches – including relays – a component leg or terminal labeled NC means the Normally Closed connection path...so always interpret NC in the context of the component you are looking at.

Once you have created your circuit, we are ready to run and explore the code to measure temperature and humidity.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image