This week assignment was about communication. We used a bus to communicate between nodes. It is necessary to program each microcontroller in each node separately with the same .c file (hello.bus.45.c) and .make file (hello.bus.45.make). The only code line to change is the node id (#define node_id '0'), one character for each node.
I spent most of the time this week building electromagnets. Most of them do work but their force is very different. I choose one that is strong enough and doesn't get too hot.
Resistance: 240 ohms.
Size: 0.43" height x 0.56" diameter.
Magnet wire: 38 AWG.
Iron core: 0.15" Nail.
Washers: 0.56" diameter (Nylon).
These electromagnets need lots of power and therefore they are arranged in parrallel using a 150 Watt 24V/6.5A Power Supply.
Power equations: P = I^2 * R, or P = V^2 / R
Mosfet's resistance: R_DS(on)=0.125 ohms at 4.5 V.
(R_DS(on) is the resistance from the drain to the source when the MOSFET is turned on).
Electromagnet's current: R = 240 ohms and V = 24 V, therefore I = 0.1A.
Mosfet's power: P = (.1)^2 * (.125) = 1.25mW (safe because Mosfet's max power = 460 mW).
The shift registers mainly transform 1 serial byte into 8 parallel bits. I used a sort of charlieplexing with p and n-mosfets to transform those 16 outputs into 64.
Eagle files (Schematic and Board Layout).