Steps:

  • Download all the files from git or ZIP.
  • Lasercut the SVG file
  • Get an Arduino and upload the sketch to it. We used an Arduino Duemilanove, but nothing special so many other arduino’s will work too.
  • Assemble (see below)
  • Open the processing application in SpectrumDisplay and run. The application will automatically connect to the first COM, assuming the arduino will be there.

Connection diagrams

This spectrometer uses the TSL1406R linear sensor array, which is basically a lot of photodiodes in a row. The sensor actually consists of 2 internal sensors which can be connected either in serial or in parallel mode. Both require a lot of connections however. We chose the serial mode and connected it to the arduino as shown below: Connection diagram

Capacitor: the data sheet of the sensor array specifies that a capacitor between pin 1 and 13 improves the performance. We recommend using 100 uF.

Additionally, the LED was connected to pin A5, but ofcourse all of these pin assignments are changeable if you modify the Arduino sketch.

Ofcourse there is a nicer way of connecting those pins, but we went for the quick and dirty approach: Connecting the pins in practice

Software

This DIY spectrometer also shows how to do serial communication between Arduino and Processing. The device accepts a few commands

  • ‘read’: Outputs the sensor data. First a line with “start” and then 768 lines follow with the sensor data.
  • ‘exp ': Sets exposure time in millisecond
  • ‘led 0/1’: Toggle LED

We have implemented a really basic way of calibration approach in the Processing application, by doing this: CorrectedValue = (MeasuredValue - ValueWithoutLED) / (ValueWithoutSample - ValueWithoutLED).

Spectrum display in Processing

Assignment

Implement the following in Processing:

  • Automate the calibration procedures!
  • Export the data to files

Back to Biofactory - Class 7: Spectrometer