Things used in this project

Hardware components:
Mcp23008 scio6r2g5v1 a 1
ControlEverything.com Particle Photon I²C 2-Channel SPDT 1-Amp Signal Relay
We used one of these boards with 4 channels instead.
×1
Photon new
Particle Photon
×1
Adafruit ds18b20 waterproof digital temperature sensor
×2
Software apps and online services:
porter app
Particle 2.0 iOS App

Code

Plant UML code for the state machine of the firmwarePlain text
To draw the FSM image, copy paste this code in http://www.plantuml.com/plantuml/uml
@startuml
skinparam backgroundColor LightYellow
skinparam state {
  BackgroundColor LightBlue
  BorderColor Gray
  FontName Impact
}


[*] --> initState

note left of initState : The system boots\nin this state

initState: 10 seconds
initState -down--> offState: if system was\npreviously off
initState -down--> idleState: if system was\npreviously on


offState: system off
offState -left-> idleState: setOnOff("on")

idleState: heating off
idleState -down-> onState: temperature\n< target
idleState -right-> offState: setOnOff("off")

onState: heating on
onState -up-> idleState: temperature\n> target
onState -up-> offState: setOnOff("off")
@enduml
github repo
flash this code in your photon

Credits

Img 20160904 wa0001
Gustavo Gonnet
25 projects • 180 followers
If you need professional help with a project, contact me at gusgonnet@gmail.com
Contact
Thanks to Sergio Boyd.

Comments