Mturk Jobs

Mturk Jobs
Mturk Jobs

Tank

Tuesday, January 1, 2019

How to blow an LED like a candle – LED as a temperature sensor

We’ve seen before how an LED can be used as a light sensor that senses how much light on it and then it can respond to this light intensity as a sensor and then reading this response with an Arduino.

Today we are checking this cool project of using Arduino with an LED as a temperature sensor that senses when it has been blow at and turns on and off.

What you need

Arduino

LED

220 ohm resistor

Some small wires

Circuit connection






Software


// Blow Out LED Ave creates an LED that you can blow out. It automatically relights after 2 seconds
//
// Copyright 2018, Paul H. Dietz

// LED Connections
#define PLUS A1               // High side of the resistor
#define MEASURE A0            // Low side of resistor and anode of LED
// Cathode of LED goes to ground

#define NUMSAMPLES 10         // Number of samples to keep
#define MINJUMP 150           // Minimum jump for blow out

long int sensedata[NUMSAMPLES];
int dataptr = 0;
int buffull = 0;

void setup() {
  Serial.begin(250000);                     // Initialize serial communication
  pinMode(MEASURE, INPUT);
  pinMode(PLUS, OUTPUT);
  digitalWrite(PLUS, HIGH);                 // Turn on the LED
}

void loop() {
  int cnt;
  long int sum = 0;

  // Sum 256 adc readings (to reduce adc noise)
  for (cnt = 0; cnt < 256; cnt++) {
    sum = sum + analogRead(MEASURE);
  }
  
  Serial.println(sum);                      // Output sum so we can watch with Serial Plotter

  // Compare current measurement to oldest if buffer full
  if (buffull && (sum > (sensedata[dataptr] + MINJUMP))) {
    // Temperature drop exceeded minimum - turn off
    digitalWrite(PLUS, LOW);
    dataptr = 0;                            // Reinitialize the buffer
    buffull = 0;
    delay(2000);                            // off time for LED
    digitalWrite(PLUS, HIGH);
  }
  else {
    sensedata[dataptr] = sum;               // Store the latest data in the buffer
    dataptr++;                              // Update buffer pointer
    if (dataptr == NUMSAMPLES) {            // Check if dataptr went past end
      dataptr = 0;                          // Reset the dataptr to beginning
      buffull = 1;                          // Mark that buffer is full
    }
  }

}



Testing




Source:

https://www.instructables.com/id/An-LED-You-Can-Blow-Out-Like-a-Candle/



Check our books on Amazon:





Learn By Making: Embedded Systems Tutorial for Students and Beginners








Embedded Systems, Electronics: My Projects Collection From Instructables


No comments:

Tank