Because we all do it (safety for tools)

ADAfruit makes some amazing little devices. One of them is the Circuit Playground.

I had this issue where I would do several projects at once, some involving the soldering iron, so i flip it on, do the job, and that’s it. notice what was left out of that sentence? yeah, sometimes i forget to turn it off. There have been several occasions where the iron was on overnight unattended. NO MORE.

I needed a temperature sensor,a micro controller, a speaker +amp, and LED’s to make a proper warning system that the soldering iron area is hot. guess what i used.

When the area above the iron reaches anything above 33° Celsius (almost 92 Fahrenheit), the circuit playground above the station switches to RED, and beeps a 1 KHz tone every 15 seconds. Every time it beeps, it takes a fresh measurement and resets that state.

When the temperature goes below 33°C, it goes back to its safe state, no beep, changes color to Green, and polls the temp about every second. it pulses a tiny LED on the board each time it is polled.
*One little warning, if you have a fan like the one pictured here (home made charcoal solder filter fan… for another post) and it is blowing on the iron, you may not get a good reading or warning. you can adjust the code if you need to.

I send the serial output to its connected COM port so you can do like i do, and monitor it yourself with the Arduino IDE, putty, or whatever you like to use.

with this info, you can read the simple code down below and see exactly what it is doing, and my hopes that anyone else that has ever left their iron on, uses my simple idea..

and YES, binder clips are what it being used to hold it, as you can see, it is perfect, so laugh, or improve it. I’d like to see other users do better, really. Send me an email or post a picture and let me know about it, ill include it here.

and here is the code i used to do this.


#include <Adafruit_CircuitPlayground.h>

float tempC, tempF;

void setup() {
  Serial.begin(9600);
  CircuitPlayground.begin();
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() { // use modified blink sketch for polling identifyer
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on
  delay(10);                       // wait 10ms
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off
  delay(10);                       // wait 10ms
  tempC = CircuitPlayground.temperature();
  tempF = CircuitPlayground.temperatureF();

  Serial.print("tempC: ");
  Serial.print(tempC);
  Serial.print("  tempF: ");
  Serial.println(tempF);
  if (tempC < 33) {
    for (int x = 0; x <= 9; x++) {
      CircuitPlayground.setPixelColor(x, 0,   tempC,   0); //(pixel#, RRR, GGG, BBB)
    }
    delay(1000);
  }
  else {
    for (int x = 0; x <= 9; x++) {
      CircuitPlayground.setPixelColor(x, tempF,   0,   0);
    }
    CircuitPlayground.playTone(1000, 50);
    delay(15000);
  }
}

Category: