Project Outline
The idea for this project is basically this: I want to use the Cypress CYW20819 to determine the temperature of a tea kettle and turn it off based on a user selected drink. Some teas require a specific temperature, and I will map those out within the app I will build for this project.
HardwareI chose the CYW20819 because it will allow me to connect a relay switch and shield with a temperature sensor to measure the temperature of the water. Along with the Cypress board I am using a standard electric glass tea kettle which has no temperature settings other than auto shut off.
To turn off the power to the tea kettle I’ll use a power outlet box I have used on another project which I will connect with a relay switch to allow the app to toggle the power on and off. This Seeed studio Base Shield V2 relay switch is connected to the Cypress CYW20819 via the Arduino headers which makes this kit very versatile.
Lastly the temperature sensor I am using is the HTU21D on the TE Weather Shield which will tell me the temp of the water in the app and allow me to use that to turn off the power via the relay switch.
This project is based off the Cypress Demo project located in the Digikey IoT studio. If you're logged into Digikey you can use this link to load that demo project here
After I had loaded that demo project I provisioned my cypress board over bluetooth and made sure I was getting temperature output by building the demo project which reads the on board sensor. From there I added a GPIO element to test the relay switch. I mapped out the location I was using for power and added it after the interval element to test, this created a strobe light effect as the power toggled off and on every second.
After this I added the on-board sensor for the TE weather shield and made sure it was outputting the data to my cloud dashboard for the cypress device. Once I saw that it was, I created variable elements which would be set to each respective tea's ideal temp to use for logic to shut off power. So basically, the temp sensor is always running. Once you hit brew on a type of tea (for example green tea) the code knows to toggle off the relay switch once we hit 170(f).
Mobile ApplicationI wanted to make sure users could see information on their selected drink and some other info like country of origin, cost, and a brief description of the drink. I created modal like pop up windows for the info screens for each drink by making a layer above the main UI background layer in photoshop. From there I added the text on top of a paper texture.
I then linked the Brew button to the embedded code in the DK IoT Studio. I set each tea’s ideal brew temp as variable elements so tell the relay switch when to turn the power off. Just like the info screens, once you press the brew button click anywhere to dismiss that screen and return to the main menu.
I wanted to brew some green tea using the app. I have the ideal temp for green tea set as a variable element in the embedded view of the IoT studio so when I press brew next to the green tea it knows to toggle off the power switch when the temp hits 170(F). I can also hit info screen to show me steep information, that is the time I should let the tea sit in the infuser to brew. Here it tells me to let it sit for 4 minutes.
I load the app, click info for the tea’s info, click brew to make the tea and the tea kettle receives power. The temperature sensors meanwhile is collecting data which I can see in the dashboard. Once it goes up to 170(F) the relay switch toggles off the power to the kettle via the GPIO element in DK IoT Studio.
ClosingThis project was a lot of fun to build. The Cypress CYW20819 worked out of the box with the shield and relay switch I needed, and the Digikey IoT Studio made it easy for me to provision the device, build a custom mobile app, and build out the embedded code to make it all work.
Steve Leabo
Comments