(Iteration on Arduino Week 1)
Original: Simple temperature sensor that shows a color between blue-green-red depending on where the temperature is relative to a low-medium-high set-value.
My goal was to turn the temperature sensor into a more useful, more ‘physical’ thermometer. Feature-wise, this included integrating more sensors that I’ve never used before: An lcd screen, buzzer, button, and changed the single RGB LED for an array of neopixels. The max-min range of the thermometer is changeable in the code easily. The neopixels start at blue at the bottom, and interpolate up to red at the top. An alarm can be set to go off if the temperature goes above (or below, with a different flag) a certain temperature – and a button can enable/disable the alarm. The lcd screen displays the current temperature.
Pastebin of final code: https://pastebin.com/ee14AiWq
I spent a lot of time tinkering with the LCD – the trouble being that there are several libraries with the same name (LiquidCrystal_I2C.h) and it took a while to find one that worked. This library did the trick: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
Clean wiring was another thing I struggled with – especially when factoring in the box itself. I used a simple press-fit box and smoothed out an edge on each of the walls.
Otherwise, incrementally adding more components to the arduino wasn’t an issue – adding more sensors is easy enough once you’ve done it a few times.
I’m pretty happy with how it turned out, but if I had the chance to iterate again, I might redesign the box with thought given to how the components will sit.