This is a thing that detects light over time and displays it on a graph, similar to what an oscilloscope does with voltage. It runs on my PIC18F4XK20 starter kit board, which means it has a PIC18F46K20 as its processor, a 128*64 pixel OLED display, and 4 buttons for input. The light detector is a simple photo resistor.
Here's what the board looks like:
And here's the interface:
This is what it looks like when you first turn it on. The line for the graph is shown in the top part of the screen. The bottom of the screen shows (from left to right) : the state of the RUN/HOLD feature (details below), the amount of light currently being detected (0% is completely dark, 100% is as high as the A-to-D converter can go), and a setting that can be changed. When first started up, that setting is the kind of light to detect. Right now it can only detect visible light.
Here's me poking the sensor:
One of the settings that can be changed is zoom amount. Because the screen height is small, the graph has to be squished. The zoom function can 'zoom in' on the lower portion of the graph, giving greater detail. Zoom 0 is the least detail, zoom 2 is the best.
Another setting is delay. This adds time in-between screen refreshes and A-to-D conversions.
Yet another setting is refresh rate. This changes how often the screen refreshes. Refresh rate 1 refreshes every time the A-to-D converter is polled, Refresh rate 2 refreshes every other time, and so on.
The last setting isn't actually a setting, it just shows the number coming from the A-to-D converter.
This is the RUN/HOLD function. When it's activated, the graph updating will pause. A cursor can be moved, and the amount of light at that point on the graph where the cursor is, is displayed at the bottom of the screen.
Here's what the board looks like:
And here's the interface:
This is what it looks like when you first turn it on. The line for the graph is shown in the top part of the screen. The bottom of the screen shows (from left to right) : the state of the RUN/HOLD feature (details below), the amount of light currently being detected (0% is completely dark, 100% is as high as the A-to-D converter can go), and a setting that can be changed. When first started up, that setting is the kind of light to detect. Right now it can only detect visible light.
Here's me poking the sensor:
One of the settings that can be changed is zoom amount. Because the screen height is small, the graph has to be squished. The zoom function can 'zoom in' on the lower portion of the graph, giving greater detail. Zoom 0 is the least detail, zoom 2 is the best.
Another setting is delay. This adds time in-between screen refreshes and A-to-D conversions.
Yet another setting is refresh rate. This changes how often the screen refreshes. Refresh rate 1 refreshes every time the A-to-D converter is polled, Refresh rate 2 refreshes every other time, and so on.
The last setting isn't actually a setting, it just shows the number coming from the A-to-D converter.
This is the RUN/HOLD function. When it's activated, the graph updating will pause. A cursor can be moved, and the amount of light at that point on the graph where the cursor is, is displayed at the bottom of the screen.