Week 8

Programming an Input Device

Not Magic.

There's something fundamental that I'm just not understanding. I do, despite their mystery, find myself becoming enamored of them - they're very playful. But I'd like to know how I'm making them.

I made a few mistakes early this week. FIrst, most obviously - I blistered my board. I went in Saturday afternoon to mill and solder - I modified Week 6's button board, which looking back now reveals a mistake - and I was kind of in a rush to finish soldering, so I tried to use the heat gun to just stick everything on and well. Crackle/pssp. Blooooop. Blister.

Of course. Rookie mistake, and of course should have just made a new one (or two at first!). But I was under the gun a bit, and well, you can't learn from mistakes you don't make. Would I rely on this? No. Can I keep prototyping on it? Probably.

Well, surprise surprise - it didn't work. But it didn't work in the exact same way that the first one didn't work - no obvious relationship to the switch, random input/output, but on the programmed LED - so the program was going in. I couldn't figure out why it didn't work! Like, I couldn't get it to do anything - not even blink, using the switch. The code was good, because it was Arduino's tutorial code, and the processor was receiving the code and turning on the right LED - so it had to be the swtich.

It had to be the swtich. But I had based my schematic off of one of Brian's slides - hadn't I?

Sort of. Almost. Not exactly. Not something you'd probably notice at a quick glance. A few missing details, here and there. So I started over entirely.

This one's way prettier.

When I finally managed to get to cutting the new board, I happened to run into Abdul, who knows a lot about programming! I was running into a weird error that I couldn't make sense of - "'Serial' was not declared in this scope."

But?

Turns out he was getting the same error - and that the ATTiny44, which we were both using, doesn't easily write to Serial - which, then, Victoria chimed in and said she'd found a workaround. I haven't so far been able to get this to work, though.

It looks like everything shoudl work, and my code compiles, but I can't get the button to do anything. Nor can I figure out how to make anything show up on my computer screen. I'm missing something fundamental and I don't know what it is.

End Week 8