A single diode temperature sensor with Arduino #Arduino #Temperature #Sensors @CavePearlLog
The Cave Pearl Project dives (pun intended) into using diodes as thermal sensors. Dig a bit into “The Art of Electronics” (maybe a lot) and you see that many common diodes have regions which vary by temperature. The post goes into detail about this and using the property on the limited 8-bit Atmel 328P microcontroller.
It’s worth noting that most diode based temperature sensors use the change in forward voltage because that relationship is linear, with about 2mV less voltage drop for every degree increase of temperature. But chasing a few millivolts with Arduino’s 10-bit ADC only allows a precision of ±1°C unless you add amplification, or some other trick.
By comparison, leakage current can be expected to double with every 10°C increase in temperature, making higher resolutions possible with the same hardware. The trade off is using a non-linear relationship which produces variable resolution over the sensing range. And since leakage is also a byproduct of manufacturing variations you need to calibrate each diode individually. That’s a show-stopper in production environments where that time costs more than the whole device, but not so much for DIY projects which need to run-test their build for a few days anyway. We don’t usually send a logger into the field until it’s had several weeks of stable operation.
The post goes into detail and provides code which could be very helpful to others.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.