กลับไปหน้ารวมไฟล์
emopot-a-plant-pot-that-can-show-a-plants-emotions-fae3c9-en.md

In this project, I have made a smart plant pot that can show the emotion of a plant😜. It uses a soil moisture sensor to monitor the soil moisture and then it shows an emotional expression for that moisture level. As we know that plant needs water to be alive and it is like food to them so, we can say it's kind of makes sense😋. It is a fun little project to make a smart plant pot and visually monitor the moisture level in the pot.

This pot shows different emotional expressions for different water levels.

After making this project you will learn-

  • How to use soil moisture sensor and read analog data by Arduino ADC
  • How to display photos on OLED
  • How to make animation and display it on OLED using Arduino

Hardwire Part

To make this project firstly we need a plant pot. I design the pot with a compartment for electronics using fusion 360. If you have a 3d printer you can print it by yourself. If you don't have a 3d printer, no problem! you can use any plant pot and make a box for the electronics.

For the electronics part connect-

  • Arduino A5 to OLED SCL
  • Arduino A4 to OLED SDK
  • Arduino A0 to Soil moisture sensor Ao

Emotional Hardware: The EmoPot Dash

The EmoPot is an incredible exercise in Human-Computer Interaction (HCI). Instead of reporting raw data ("Soil Moisture = 340"), it translates environmental metrics into human emotion. It takes the "Automatic Watering System" concept and turns it into a tabletop companion.

Creating Digital Faces

The project utilizes a display like an MAX7219 8x8 Dot Matrix or an OLED screen. For a matrix, it has 64 individual LEDs inside. You cannot tell the library to draw "Happy." You must use a byte array to draw it block by block. For example:

byte happyFace[8] = { 0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C };

The Logic: The code reads the sensor value and maps it to an expression.

  • if (moisture < 300): The dirt is flooded! The plant is drowning. Display an angry face.
  • if (moisture > 400 && moisture < 600): Perfect moisture level. Display a happy face.
  • if (moisture > 800): The dirt is bone dry. Display a sad or "dead eyes" face.

Capacitive Touch Interactivity (Optional Enhancement)

To make it truly a digital pet, you can add interactivity.

  • Place a strip of copper tape around the rim of the pot and wire it to a digital pin.
  • Using the <CapacitiveSensor.h> library, the Arduino can detect when a human hand is near or touching the copper tape.
  • If you "Pet" the plant, the Arduino can override the sensor logic temporarily, force the display to show a Heart icon, and play a happy beep from a piezo buzzer!

Required Assembly

  • Arduino Nano (Small footprint for mounting to a pot).
  • MAX7219 8x8 Dot Matrix Module OR a small I2C OLED screen.
  • Capacitive Soil Moisture Sensor.
  • Piezo Buzzer for audio feedback (optional).
  • A 3D printed or modified plastic plant pot with a rectangular window cut out for the screen, as shown in the images above.

Coding

The code looks messy but it is very simple! At the beginning of the code, I include some libraries- ( You may have to download those libraries)

After adding those libraries I create functions for every frame of animation for every emotional expression(Believe me it takes eternity). In the setup section, I initialize the display. And in the loop section, I analog read the sensor value sensorValue = analogRead(A0); and then I make some conditions for different moisture levels and display the frames for that emotional expression.

Here is some video for different emotional expression for different moisture level

Crying
Sad
neutral
blesssed
Happy



ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "abid_hossain"
category: "Sensors & Environment"
components:
  - "1x Gravity: Analog Soil Moisture Sensor For Arduino"
  - "1x 3D Printer (generic)"
  - "1x 0.96\" I2C OLED Display"
  - "1x Soldering iron (generic)"
  - "1x Arduino Nano R3"
description: "Tamagotchi for your plants! Transform a boring clay pot into an interactive digital pet using a massive 8x8 LED matrix to display smiling or frowning faces based on soil moisture."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/9ea8e679-c735-4858-b30a-88ba3a30e50e.ino"
  - "https://projects.arduinocontent.cc/9ea8e679-c735-4858-b30a-88ba3a30e50e.ino"
encryptedPayload: "U2FsdGVkX181O1oHHJzLUEIuMLt5Wf1syPbxMbHpJM6iwZcaORliLTCcxqiPmTlPVCApRdmlDO0Rnm6vgI7ih+cMht+kEAQZLEDYjKbcdgs="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/emopot-a-plant-pot-that-can-show-a-plants-emotions-fae3c9_cover.jpg"
lang: "en"
likes: 29
passwordHash: "360367818201ecb1cf437945fa28f309b54f21d05c7c270b7cc5dc338de0d76e"
price: 2450
seoDescription: "EmoPot is a Smart Plant Pot that shows plant emotions using sensors and animations. Monitor your plant condition with emotional expressions."
tags:
  - "sensor"
  - "plant emotion"
  - "animation on oled"
  - "plant pot"
title: "EmoPot - A Plant Pot That Can Show a Plant's Emotions"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/EQx_4L6r3dc"
  - "https://www.youtube.com/embed/mwVGqqVHtW0"
  - "https://www.youtube.com/embed/cVHB82FVvT0"
  - "https://www.youtube.com/embed/lqe9fuV9-HM"
  - "https://www.youtube.com/embed/AqdQTLdAHqM"
  - "https://www.youtube.com/embed/nHpWQJg-m48"
views: 32070