As part of our display at the Fairmount Water Works, one our plants will now be tweeting when it needs to be watered. (First the teenagers, now the plants?)
This setup uses an Arduino Uno ($25), a WiFi shield ($80), and a Vegetronix VH400 soil moisture sensor ($37). This WiFi shield has an integrated antenna, which allows us to connect to the wifi at the Water Works and send tweets over its network.
We didn’t want our plant to be someone who only talks to you when they need something, so we have a series of different tweets:
- “Water me please!” when the moisture value falls below 250.
- “URGENT! Water me!” when the moisture value falls below 150.
- “Thank you for watering me!” when there is a change in moisture level of at least 100 and the new moisture value is above 250.
- “You didn’t water me enough!” when there is a change in moisture level of at least 100 and the new moisture value is below 250.
- “You overwatered me!” when the moisture level climbs to above 400.
One problem we ran into was that Twitter doesn’t allow repeated tweets, as a way to block spam. Because of this, we had to add more content to our tweets. In addition to the text, each tweet displays the moisture level and the tweet number (we added a tweet counter in our code).
You can see our plant’s tweets here.
View the code after the jump.