Well, I survived so far. I finished six IoT projects, then we had exams. Now I am preparing to make cardboard CNC machines.
The six projects were:
1) Internet weather station
Uses forecast.io to get the local weather, then displays it on LEDs on the side of the box.
2) Automatic diary display
Uses a PIR sensor to turn a monitor on and off to show the owner's Google Calendar. We were hoping to use OpenCV and a Pi camera to do face recognition and open different
Google calendars, but there wasn't enough time.
3) Pi controlled RC car
Take a cheap RC car, remove its guts and replace it with a Pi and an H-bridge. Control it from a smartphone using WebIOPi.
4) IoT outdoor lighting
Use WebIOPi to control a relay for outdoor lighting.
5) Automatic humidity control
Use a DHT11 humidity sensor and a cheap humidifier to keep humidity constant.
6) IoT cooling fan
Control a cooling fan's operation and direction using two servos and WebIOPi.
I was very pleased with the students' choices, in that they all chose different things. Of course that meant that I had to fix six different projects, and not six slight variations of one project. Never mind, there is a ton of info to be mined on the internet, either in this forum, or Instructables, or various blog posts. My plan was to point students in the generally right direction for a bit, then give them a specific tutorial to follow if they got stuck, then either suggest what they should do, or, in extreme cases, do it for them. My goal was to let the students see that if they can think of an idea they can figure out how to make it work- and then make it work. I wanted them to see that there is no secret, and no mystery. Just code and many, many, small steps.
Make sure you
know how you could make each student's project. I was confident I could build all of these projects myself if necessary. I was also confident I could find enough helpful information for the students to get the components and software working.
Try to limit the scope of the projects. One team's original design was a fully automatic IoT breakfast maker that would fry things on top and make coffee inside. That would be totally awesome, but not really possible in the short time we had, or budget.
Having said that, the Google Calendar team were happy that they could still make something that worked even though I scaled back its functionality significantly.
Having said that
the RC car team were quite certain they had bitten off more than they could chew, despite my assurances it could all be made to work.
Obviously I cheated because I was in control of purchasing the hardware, so I could buy parts that I knew would work and were already well-supported on the Pi.
Try to emphasise that we can't go from idea to working model in one step. The students were impatient to get their project finished, but didn't understand the need to get small pieces working first then put them all together.
Get the students to have a notebook! I have been drilling this into them since the beginning, but it's only starting to sink in. Next, get them to take notes. Finally, get them to read
their notes. I had one team using servos. We Googled the wire colours for the servo connector and wrote them down. Later, the team yelled "Over here! Smoke!", because they had wired the servo backwards. They insisted the colours were right, so I asked them to check their notes... You'll be happy to know that the Pi survived.
Oh, and watch out for the super-keen, knowledgeable student who figures out how to cut open a mains power cord and wire it into his relay. Originally I had him using an LED to simulate the electric light he was talking about, but then he "tried this at home and it worked" so I quickly had to fabricate a box to make it safe in the classroom.
Next we are going to make a cardboard model of a CNC, based on Homofaciens design here:
I hope the students enjoy it. I know I will.
My circuit's dead, there's something wrong.