Networking and Communications
Laser Networks
This week I wanted to experiment with making a laser network.
Making the transmitter
I dismantled a cheap red laser pointer. Bridged the onboard switch and then lasercut a new casing for the lens. Leaving the two power wires exposed so that they could be connected to a fab circuit.
It was initially powered by 2xAAA batteries (3V), and I created a MOSFET circuit on a breadboard to supply it that voltage whilst testing. Later on Jose Pablo pointed out to me that it was only drawing about 36mA, so I later made the decision to use the output pin directly from my Barduino.
Following the Spiral Development workflow I went through a couple of iterations for the receiver. I made cases to shield the electronics from ambient light noise. Beginning with a large balsa wood enclosure and a solar panel, then making a smaller plastic enclosure and finishing with an even smaller plastic enclosure with a phototransistor as the laser sensor.
After demonstrating the assignment to Neil I took on-board his advice that solar panels are incredibly slow for this type of application and whilst discussing it with Ramin he lent me his "TSL230RD Light-to-Frequency Convertor" which is an incredibly sensistive (and tunable) photodetector. Once I had this in my receiver, and after I tweaked the settings a little I could realiably increase the transmission speed ten-fold.
TSL230RD Light-to-Frequency Convertor
For my initial transmission I just wanted to send the de-facto message "HELLO WORLD" and print it via serial from the receiver's board. I chose an arbitrarily slow bit rate and tried to transmit it as regular binary without any kind of start, stop or checksum/parity bit. I quickly found that this wasn't really suitable and remembered learning about Manchester Encoding at university so re-encoded my data using that and added a start and stop bit.
Now that I had two receiving nodes I was able to theoretically determine which one would act upon the message by embedding a specific start bit.
This was reasonably successful and I managed to transmit the message about 10m inside the hall of the building I'm working in (IaaC, Barcelona).
Whilst I was doing this, a Fab Academy graduate, Guillem Camprodon, came over to me and suggested that I look at Neil Gershenfeld's work on Internet Zero. I read the paper and realised that up until this point I'd somehow fashioned a very crude version of it.
I2C
Incase you missed it I also did a bit of networking with a Master and Slave board in the input devices.