Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Internet of Things with ESP8266

You're reading from   Internet of Things with ESP8266 Build amazing Internet of Things projects using the ESP8266 Wi-Fi chip

Arrow left icon
Product type Paperback
Published in Jul 2016
Publisher Packt
ISBN-13 9781786468024
Length 226 pages
Edition 1st Edition
Tools
Arrow right icon
Author (1):
Arrow left icon
Marco Schwartz Marco Schwartz
Author Profile Icon Marco Schwartz
Marco Schwartz
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Getting Started with the ESP8266 FREE CHAPTER 2. First Projects with the ESP8266 3. Cloud Data Logging with the ESP8266 4. Control Devices from Anywhere 5. Interacting With Web Services 6. Machine-to-Machine Communications 7. Sending Notifications from the ESP8266 8. Controlling a Door Lock from the Cloud 9. Building a Physical Bitcoin Ticker 10. Wireless Gardening with the ESP8266 11. Cloud-Based Home Automation System 12. Cloud-Controlled ESP8266 Robot 13. Building Your Own Cloud Platform to Control ESP8266 Devices Index

Automating your gardening

We are now going to configure our project so it automatically waters the plant if the humidity falls below a given threshold.

The first step is actually to define two thresholds:

floatlowThreshold = 20.00;
floathighThreshold = 25.00;

We need two thresholds here because if we just defined one, the pump will constantly switch between the on and off states.

So we will have the pump turn on when the humidity goes below the low threshold, and turn off when we reach the high threshold again.

Next, we define which pin the relay is connected to:

#define relayPin 15

In the setup() function of the sketch, we set the relay pin as an output:

pinMode(relayPin, OUTPUT);

In the loop() function, we constantly check whether the humidity went below the low threshold, or above the high threshold:

if (humidity <lowThreshold) {

// Activate pump
digitalWrite(relayPin, HIGH);

}

if (humidity >highThreshold) {

// Deactivate pump
digitalWrite(relayPin, LOW);

}

I only highlighted the most...

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