Introduction: The ITea | Your Personal Tea Monitor
Hello there, fellow readers, and welcome to the iTea project!
Before starting this project, I thought about something I could improve in my life using common robotics and electronic components I have in my house. A few weeks before writing this article, I had acquired my first Raspberry Pi; The 3 B+. Now that I have the power of a Pi, I thought, I should come up with an idea that can improve my life, as well as the lives of many others.
So... I thought that something I could make was a tea monitor, as whenever I decide to make myself a cup of tea, I forget to check if my tea is ready every once in a while. ◕‿◕
That brought me to making this project a reality. iTea's purpose is to provide a reference if your tea is ready or not by checking if any steam from the boiling water has hit the steam sensor. If this is true, then iTea will inform you that your tea is ready through a speaker. You can then shut iTea down and proceed in peacefully drinking your tea.
The process of making this project can be a little complex, so I have decided to outline the making of this project in the most detailed way possible, along with the mistakes I have made along the way so that (hopefully) nobody else who tries to make this project falls in those mistakes either.
The approximate cost of making this project would be about 70$ - 100$, based on where you get your components, what type of components you use, and what country's currency you use. You can see the supplies needed for this project below.
I am open to any suggestions about how I can improve this project, something I did wrong, or a way to simplify the making of this project. This is the first project I made with the Raspberry Pi. Leave any suggestions in the comments below!
I hope you can succeed in making this project thrive and that at the least, you enjoy reading this article. Best of luck!
Step 1: What You Will Need
Let's start this off with a nice quote / rhetorical question I found online:
"If you don't know where you are going. How can you expect to get there?" ~ Basil S. Walsh
And in my opinion, the first step in knowing where you are going is...
Knowing which components you are about to use.
Yes, believe or not, as much as you might overlook it, having a knowledge of which components you are about to use, along with having them before starting the project, is essential for your success in any electronics project that you may be attempting to build.
For the iTea project, you will need quite a few things. They are:
- Arduino Uno
- Raspberry Pi 3 Model B+
- Steam Sensor
- A computer with the Arduino IDE installed on it
- Arduino Programming cable
- Tape / Hot glue gun (with glue gun sticks)
- Mini Breadboard
- 2 Pushbutton Switches (I used one breadboard pushbutton and one pushbutton switch module)
- One long piece of wood
- Either LEGO, Meccano, or other construction set pieces (to hold the steam sensor in place)
- Jumper Wire (lots of jumper wires)
- Paper / Cardboard (optional; only needed for decoration)
- USB to microUSB cable (otherwise commonly known as a Samsung / Android phone charger) with a power source
- Speaker with 3.5mm audio jack input
- I highly recommend that you use a hot glue gun instead of a roll of tape; as a hot glue gun is stronger and it's grip is more firm. -
For coding the Raspberry Pi and inserting files into it, you will need the following components along with the Raspberry Pi:
- an HDMI cable
- a TV / Monitor with HDMI input
- an SD card with the Raspian OS written to it
- USB to microUSB cable (also mentioned above)
- Computer mouse
- USB Thumb Drive
The main components of this project are the Arduino, the Raspberry Pi, and the Steam sensor.
If you have these components with you, you are ready to proceed in making the iTea project!
Step 2: The ITea's Flowchart
The above image shows a simple flowchart which can give you an understanding of how the iTea works. Please note that this is not the circuit diagram. This flowchart can simplify the background of how the iTea operates.
Step 3: Coding the Raspberry Pi
One HUGEmistake I made while making this project is that I mounted the components to the piece of wood THENI uploaded the code. The mistake here is that it is incredibly hard to keep plugging and unplugging a computer mouse, keyboard, and microUSB cable into the Raspberry Pi all at once WHILE it's glued/taped onto a piece of wood (or whatever you mounted the components onto).
To prevent this mistake from falling on you guys too, I've included the code for both the Arduino and Raspberry Pi before detailing how to mount the components onto some sort of frame (in my case a piece of wood).
Before the code, here is a link to a video that might help you in the process of the Pi if you are relatively new to using it.
You must have the Raspberry Pi booted with the latest version of the Raspian OS. (Internet connection is not required)
For the iTea, the main electronic computing brain is the Raspberry Pi, while I just used the Arduino to avoid using and facing the complexity of an analog-to-digital converter. This also helps debugging the code easier as each microcontroller has it's own role.
Note: The code for this project uses some sound files. You can download these sounds below.
You can download the iTea.py Python script below.
After you have downloaded this script along with the sound files, copy them to a USB Thumb Drive and transfer them to the Pi directory on the Raspberry Pi.
With the Raspberry Pi on with a keyboard and mouse attached, do the following steps.
Open the Terminal Application and write the following line:
sudo leafpad /etc/rc.local
Press Enter. This opens the rc.local file in the Raspberry Pi text editor.
Next, scroll to the bottom of this script and write the following before the line exit 0:
sudo python3 iTea.py &
Now save the rc.local file by pressing File > Save. Close the Text editor.
Next, write the following in the Terminal:
Press Enter and a sort of menu should pop up in the Terminal. Use your arrow keys to scroll down to the choice Advanced Options and press Enter.
Then scroll down to the Audio tab and press Enter (again...)
Finally, pick Force 3.5mm ('headphone') jack and press Enter. Exit the Terminal.
Reboot your Raspberry Pi by writing the following in your Terminal:
to reboot the Raspberry Pi. This will enable all of the options you selected.
Now you are ready to move on to programming the second brain in the iTea: the Arduino.
Step 4: Coding the Arduino
Now that you're finished programming the Raspberry Pi with Python 3 code, it's time to program the Arduino with Arduino C++ code made using the Arduino IDE.
Here are some videos that can assist you in the process of coding the Arduino:
You can download the code for the Arduino below (iTea.ino)
Download the iTea.ino file and open it in the ArduinoIDE. Upload to your Arduino board (I used the Uno).
Before acing the code for this project, I had jam-packed all the Arduino code into the void loop() statement (including most of the code I used for the Raspberry Pi; but in C++) and it got kind of confusing; it didn't work and I couldn't debug it. Then, I decided to put the main code of this project into the Raspberry Pi and only a small program into the Arduino.
Step 5: The Hardware
To make this project, you must have a long arm to hang the steam sensor over the teapot as it is boiling. I built my arm with a few Meccano - styled pieces and I hot glue gunned them to the piece of wood I used; which in turn gets stuck onto the back of the stove.
The hardware for this project needs to be firm in construction; which is why I used a hot glue gun more extensively than tape.
The steam sensor needs to be precisely placed on the arm directly on top of the stovetop. For me, the back of the stove to the stovetop measured 22 centimetres (about 8.6 inches).
So... I hot glue gunned the steam sensor 22 centimetres away from the back of the stove and used long jumper wires to connect the sensor to the Arduino. Only then I was sure that the steam sensor would reach the stove for sure and detect any steam from the boiling water.
Step 6: The Circuit
There are many connections needed to be made to complete the iTea's circuit.
- The V+ pin (positive power) connects to the 5V pin on the Arduino
- The Gnd pin (negative power) connects to the GND pin on the Arduino
- The Sig pin (input from the sensor) connects to Analog pin A0 on the Arduino
- The V+ pin (positive power) connects to the 5V pin on the Raspberry Pi
- The Gnd pin (negative power) connects to the GND pin on the Raspberry Pi
- The Sig pin (input from the sensor) connects to GPIO3 on the Raspberry Pi
Raspberry Pi and Arduino:
- Pin D2 on the Arduino connects to GPIO2 on the Raspberry Pi
Note: The connection pins' names might be different on your sensor(s). For example: V+ might be labelled as + or Gnd might be labelled as -.
Step 7: Mounting to a Stove
One of the last steps in completing this project is connecting the iTea to the back of your stove. There are many different ways to do this. I have two listed here: (of course, you could come up with your own)
- Just hot glue gun it
One of the easiest ways (yet hardest, somehow?!) to connect the iTea to your stove is to just literally hot glue gun it to the back of your stove. This might work, just ensure that the project is mounted securely and that it does not put too much pressure on the glue's support.
- Drill it
While this way involves more complications, as you will need to precisely use a drill to make holes in the back of your stove and connect the iTea to the back; all while making sure you don't ruin your precious stove. (Hey, don't blame me for loving my stove!)
Step 8: Well, You're Done!
Congratulations! You've finished my article on how to make the iTea!
I hope you have learned something new from this project. This is the first project I have made with the Raspberry Pi, so I sure learned a lot.
I also hope that you have succeeded in making this project without encountering too many problems (if any!)
Finally, I hope that by making this project, you and I can excel in the wonderful field of electronics and robotics and make the world a better place.
Thanks for reading!
Participated in the