Fab Academy 2013

#1 Project proposal.

#2 Computer Aided Design

#3 Computer-Controlled Cutting

#4 Electronics Production

#5 3D Scanning and Printing

#6 Electronics Design

#7 Molding and Casting

#8 Embedded Programming

#9 Computer-Controlled Machining

#10 Input Devices

#11 Composites

#12 Interface and Application programming

#13 Output devices

#14 Networking and Communications

#15 Mechanical Design, Machine Design

#16 Applications and Implications

#17 Invention, Intellectual Property, and Income

#18 Project Development

#19 Final Project

Assignment Files

 

Input devices:

This weeks assignment is to make an input device. My computer unfortunately gave up the ghost just before this class, so I had very little time to actually redesign a board. Instead I opted to just make one of Neil's example boards.

I decided to make the Hello.Reflect board, so I downloaded the .PNG files and loaded them into the Fab Modules, and milled them out on the Modela. As I was soldering the parts on to the board, something wasn't right. It turned out that I actually milled out internals for the hello.temp board; I guess I got my files mixed up. I decided to go with it and just make that board, but I ended up also milling out the correct hello.reflect board.

After milling and soldering the boards, I jumped into Terminal to load the boards up with the C code provided. I used the FTDI Programming tutorial provided in Embedded Programming to run through the commands. I got an error when I tried to flash the fuses, as I didn't realise that there weren't any external crystals and I could skip that step.

Hello.Temp board.


Hello.Reflect board.

Programming the boards seemed to go off without a hitch, so it was time to see if they actually worked. I ran the provided python files for the Hello.Reflect board and pointed it to the correct serial port (ttyUSB1 in this case).
Three bars popped up on my screen, the first two showing a value of around 310 and 350 respectively, and the third one seemingly not doing anything. In the example video it shows that even just a slight shadow should trigger a reaction of the third bar, so something was up. When pressing down on the LED and sensor very hard, the bar would suddenly move.

Advised by our guru, I hooked up an oscillator to see how the data throughput was. It looked like there was very little coming in through the sensor, so it didn't really seem to register the red LED I had soldered next to it.

I found the data sheet for the OP580 (the light sensor) to figure out if it was compatible with the red LED.
One of the first lines on the data sheet is: "The OP580 is mechanically and spectrally matched to the OP280 infrared LED."
I found an OP280 infrared LED and removed the red one in favour of it. I hooked everything up again, but the same problem still occured.

After checking over the board I noticed that one of the legs on the ATtiny45 didn't seem to be properly connected to the conductive pad. I resoldered it and connected it again, loading up the Python code. Finally, I had a working Hello.Reflect!

Now to recreate that success with the Hello.Temp board.

I used the same steps to get the code onto the board, and then ran the python file. A window with a bar popped up that immediately jumped up to 29.82 and stayed there. That didn't seem correct, so I hooked it up to an oscillator. The oscillator showed that there was practically no throughput on the temperature sensor. There should be at least 2.5 Volts, so there might be something shorting somewhere.
I removed the sensor from the board, removed some excess solder and then soldered it back on. Unfortunately this didn't work either. My next step was to try a different temperature; maybe the one I was using was faulty.
I soldered on a different one and ran the code again, this time it seemed to work. It goes up to about 28.55 at first, and then goes up or down as it heats up or cools. The room I'm working in is definitely not 28 degrees, so the output seems to be a little off still, but it's working!