Introduction: Make Your Plant Smile
This is a funny project that makes our plants “talk” to us. It’s very simple and you can create it in few hours. We use a sensor to read the soil moisture of our plant and a led matrix to dislay how the plant “feel”. You can use an ATtiny85 as a microcontroller.
Step 1: Order Materials
Step 2: Wiring Instructions
To wire your ATtiny85 to your Sensor and the MAX7219, connect the following pins:
- ATtiny85 Pin1 –> NC
- ATtiny85 Pin2 –> Sensor A0 (Analog out)
- ATtiny85 Pin3 –> NC
- ATtiny85 Pin4 –> GND
- ATtiny85 Pin5 –> MAX7219 DIN
- ATtiny85 Pin6 –> MAX7219 CS
- ATtiny85 Pin7 –> MAX7219 CLK
- ATtiny85 Pin8 –> +5V
- L78L05 Pin1 –> Output +5V
- L78L05 Pin2 –> GND
- L78L05 Pin3 –> Input from battery +9V
Don’t forget to connect all the GND together (Sensor, Attiny85, MAX7219). We suggest to connect and the two capacitors to your L78L05 (see the image on the right).
Step 3: Prepare the ATtiny
To program your microcontroller (ATtiny85) you will need an Arduino Uno or a Tiny AVR Programmer.
If you choose an Arduino Uno to program the ATtiny follow the steps below:
Connect the Arduino to the ATtiny as follows:
- ATtiny85 Pin 8 – Arduino +5V
- ATtiny85 Pin 4 – Arduino Ground
- ATtiny85 Pin 1 – Arduino Pin 10
- ATtiny85 Pin 5 – Arduino Pin 11
- ATtiny85 Pin 6 – Arduino Pin 12
- ATtiny85 Pin 7 – Arduino Pin 13
- Electrolytic Capacitor 10uF GND – RST
- If you haven’t already, download the Arduino software, version 1.0.4 (1.0.3 and 1.0.1 should work too, but not 1.0.2). Install the Arduino software, following the instructions for Windows or for Mac OS X.
- Download the ATiny master.zip file.
- Unzip the attiny master.zip file. It should contain an “attiny-master” folder that contains an “attiny” folder.
- Locate your Arduino sketchbook folder (you can find its location in the preferences dialog in the Arduino software)
- Create a new sub-folder called “hardware” in the sketchbook folder, if it doesn’t exist already.
- Copy the “attiny” folder (not the attiny-master folder) from the unzipped ATtiny master.zip to the “hardware” folder. You should end up with folder structure like Documents > Arduino > hardware > attiny that contains the file boards.txt and another folder calledvariants.
- Restart the Arduino development environment.
- You should see ATtiny entries in the Tools > Board menu.
Next, we can use the Arduino as an ISP to upload a program to the ATtiny:
- Upload to the Arduino the ArduinoISP from "File - Examples", now you are ready to program the ATtiny.
- Download the Arduino code for your project and upload it to your ATtiny85
20 Comments
Question 5 years ago on Introduction
hii where are u from ?
9 years ago on Introduction
MAX7219CNG
64 individual LEDs this i have to purchase to make this ??????
Reply 9 years ago on Introduction
Hi dudyash,
You can purchase MAX7219, below u can found a schematic. Also u can purchase http://int.grobotronics.com/led-matrix-8x8-red-with-max7219-retail-kit.html#.VAIPm8V_usY
Reply 6 years ago
Hello,
I like your project, so I decided to do a project on your project idea but I have questions, can use breadboard rather that prototyping board?
integrated circuit rather ATtiny 85?
Matrix LED – Is its alternative is LCD?
6 years ago
If there's still anyone seeing comments here, could use some help!
This is my first AtTiny project and I can't get the Tiny chip to run the plant smile code correctly. I finally do have an ISP set up that seems to work. I have tried with the tiny set to 1mhz, 8mhz (with bootloader) and while I can run the Blink sketch on a tiny, and it seems happy, when I drop the Tiny into my prototypes of the Plant Smile circuit, it doesn't control the main LED board.
I don't understand why the pin definitions in the example code don't match the Tiny's physical pins, and I've tried it both ways. When I try to do a Blink sketch that uses 'port 0' of the Tiny, it never works. Not sure why port 0 is used in the Plant Smile sketch, but again, i've tried it both ways (using ports 0, 1, 2 and 3 as in the example, and replacing them with the physical pin numbers 2, 5, 6 and 7 on the Tiny for Analog In, DIN/CS/CLK from the LED chip. Doesn't do anything either way.
Any help would be much appreciated. I have several Tinies, several breadboarded plant smiles, so some troubleshooting can be eliminated ie the Tiny is dead or whatever. It runs Blink just fine.
Thanks!
7 years ago
Hi ! Thank you for this, that's a great idea, and i wanted to do the same in the fablab i'm working (We always forget to water the plant ... --') but i have no ATtiny85 and i wanted to know if i can do the same just with an Arduino UNO only ? Thanks a lot <3
8 years ago
Hi. How long will a 9v battery last with this project please? I know it's been asked before but I can't see an answer and would like to know before making a couple for my Dad. Cheers, Don
8 years ago on Introduction
So nice idea, Smilee :)
8 years ago on Introduction
can't believe i'm just seeing this post.. very nice indeed. are you familiar with my work.? i have many smart plant care instruments.!
few suggestions, a usb rechargeable power bank will eliminate the battery waste
https://www.instructables.com/id/Solar-Powered-Plan...
and also by adding light and temperature sensors to your project you can collect even more valuable data..!
https://www.instructables.com/id/Sensory-Device-for...
i would love to see an updated version from you - especially using an attiny. really nice work, thank you for sharing.!!
9 years ago on Introduction
how long does 1 battery 9V lasts?
9 years ago on Introduction
http://www.ebay.in/itm/like/soil-hygrometer-detect...
which sensor i have should buy ????
LED are these wil work ???
https://www.mgsuperlabs.co.in/estore/LED-Display-D...
Reply asap .....need to submit in college. thanku
Reply 9 years ago on Introduction
the sensor is correct, and the max7219 is for anode col and cathode row
thanks!
marC:)
9 years ago
LOL! Plants are people too
Reply 9 years ago on Introduction
Human got to tell them! :)
9 years ago on Introduction
Hi! very nice instructables :)
try this :)
unsigned char disp1[3][8]={
{0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}, // 0, happy
{0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C} // 2, sad
};
9 years ago
this is a very impressive project. the idea of it is great
9 years ago on Introduction
This is attractive experiment , go forward >>>>>>>
9 years ago on Introduction
great idea, i have a weak spot for the Attiny85.
I think wit Analog out you mean analog in
Reply 9 years ago on Introduction
Thank you diy_bloke.
I mean that you connect the analog out (A0) of sensor to Attiny85 (analog in).
9 years ago on Introduction
This was a great post , Thanks admin <a href="http://bestnetbucks.info">دانلود فیلم</a>