This is bubbl.us, which is a pretty good brainstorming software. Per usual, YMMV, but if you need to document each step of the creative process, you can do worse. I have eliminated the final two bubbles, which read “Like a first year” and “Wire a sensor into my HAND to test my BLOOD SUGAR and ADRENALS.” Scope limitation is important in all projects.
Hangry: angry because one is hungry
Example Sentences:
A: Why are you in such a bad mood?
B: I’m just hangry because I didn’t eat lunch today.
http://www.idiomeanings.com/idioms/hangry/
So having decided to do a lamp which is attached to a timer, there are some clear problems:
- Stopwatch code will be needed
- This is functionally a timeclock
- So that’s extensible almost limitlessly and scope definition will be very important
- What shape should it be? It should be a good shape.
- It needs a good button to interact with, too, or to BE a good button.
- Do I want another type of sensor involved?
- Barometric pressure sensors (for my other favourite workplace problem: headache from thunderstorm, y-n) are tricky to work with and dependent on calibration. Somewhat out of the scope of this project.
Having begun to think of the thing as a timeclock against the forces of Hangry have given me some form-factor ideas, like: tiny robot army, gigantic black crow,* or a simple shape to remind me why I work, which is in order to get some food. I’m excited about rapid prototyping, and about flat-pack lighting solutions, so I went with a garlic bulb. They’re pretty easy to model in Rhino, and that gives me a chance to test out some other neat prototyping software that’s floating around.
I chose 123d Make because it is free and interesting. It also gave me a garlic bulbish idea on its intro page; I am not terribly creative in that respect, I want to spend my project time working on The Project part. Unfortunately, 123d outputs seriously complex paths, which I know from experience eff up laser cutters. There are a lot of neat things to be done with Make, but Autodesk wants you to pay per piece for most of them, which: use their free features as far as you can, then hand-edit the rest. It’ll turn out better anyway.
After getting the 3d model into 2d flatpackish shape and cleaning the output a bit, I added some additional cutouts to handle things like light-mounting with basic 5mm LEDs. Framework for handling the light mounting/first shape of the lamp: Complete.
With that, I needed to look up stopwatch code. Here is some stopwatch code:
The difficulty with these projects is usually less knowing where to start than where to stop. Easy to go big, hard to get it working, you know?
Other Design Notes:
- Initially, this will get power over USB. USB ultra-mini AC adapters are available from a site called DealExtreme for $4, sometimes less.
The adapters can be burn-down-your-dwelling dodgy. Power supply is a 5v 1000ma source, or: the same as an iPhone ultramini AC adapter, wherever you acquire yours. - Maybe I can hook it to a tiny printer and a site like “http://wherethefuckshouldigotoeat.com/” and it will pop up a browser with a food reminder after a set window/print food advice or recipes all over the table after six hours, reminding me of my life outside a white box.
- If I hooked all that to a GPS and plugged it in, the legit use for this would be a big fat glowing billing button.
- Which could then hook to an accounting software, automagically deducting the average cost of my meals versus meal ratings versus billable hours.
*from The Iron Dragon’s Daughter, which is not a great book, although it is memorable. It had a living, quite spiteful timeclock in it.
Did you have any luck with the stopwatch code yet?
I’ve been looking at the Millis function for my proj, but its a tad confusing at the moment.
Naw, I spent my weekend calibrating prototyping software so I could get the form right. I’m having some challenge getting a button to turn the thing off and reset the code, but otherwise it’s working fine: press button, receive fadeup.
The fadeup is a little staged for my liking, though – my answer has been to set the interval between steps to be ~42 seconds between steps. I’m already a little bored of this interaction, though; it would be more fun if it were passive, or triggered by an RFID.
The downside to all of this is basically privacy creep. It’s hard to work on projects that add to surveillance, no matter how well intentioned.
You might try this: http://www.cibomahto.com/2008/04/analysis-of-the-millis-function/ though. Basically, everything is dependent on how much accuracy you need. I don’t need much, because my device isn’t designed to be super accurate.
My code flow is more or less:
– Press button
– Count int buttonpress = buttonpress +1
– if buttonpress is less than 3
– Count to 42 seconds
– Add one to int timecount
– Reset
– Count to 42 seconds
– Add one to int timecount
– Reset
– When button IS pressed if button count is greater than one reset holder, reset button counter to one.
This means that – tweak tweak tweak – the thing is registering stepped values. So it never runs for more than 42.3 seconds, which is how often I need to step up the light. It maxes out at 255 steps, at which point it flips to doing something different and obnoxious.
Great process post!