Networked Devices
To network two things you should first make sure both of those things workMy project idea for this week was preparation for the final project; I wanted to make a set of earphones/hearing aids/sound redirectors for people who had difficulty hearing in one ear but not the other.
One node with a microphone (the mic-node) would be placed near the impaired ear, to receive sounds from that side of the wearer's head. This node would perform computation to make sure the received sound wasn't too loud/too noisy for safety, and send sound data that passes this check to the other node (the speaker-node), located next to the wearer's good ear. This second node would have both a speaker and a microphone: a speaker to play the sounds passed from the mic-node so the user can hear them in their good ear, and a mic to detect when sounds near the *good ear* are loud, in order to cancel playback so the user isn't being bombarded with noise from both sides.

The default (basic) speaker node; in the future I want to add an on/off button toggle so that a user can select on/off at will.


Unfortunately, I ran into trouble while building this project.
1. When I tried to mill the speaker+mic board, while I wasn't watching, the modela apparently halted in the middle of the job (while the computer's estimation of %-of-job-completed continued merrily). This only happened after the fab modules were updated, and seems to be either a bug or a problem with ubuntu's sleep behavior.

2. While I was waiting for the speaker+mic board to finish, I tried to test the speaker's sound output capabilities to figure out what sort of sound I should be expecting. I used a previously-made speaker board (Neil's design, which I based the speaker + mic board on) and uploaded Arduino's toneMelody tutorial to it. However, the following happened (warning: turn down your speakers):
I checked the oscilloscope reading, and it seems that pin 6 (PB3), which connects to the mosfet->speaker and should be used to output square waves to be played by the speaker, instead produces the same noisy output regardless of what code is being written to the board. I was unable to determine the cause of this error at the time.
Unfortunately, given that my speaker + mic board was based on this design, I realized I would probably not be able to program *that* board either as long as I couldn't tell what was wrong with the basic version. I'm now holding off on finishing that board until I can get some more expert advice on the current error.