This article is the seventh in a series on Internet of Things (IoT) sensors. It teaches you about various sensors available and how to read data from them.

Hardware

  • Arduino Uno
  • Flame Intensity Sensor
  • Jumper Cables

CodifyThings-Internet-of-Things-Sensors-701

Software

Circuit

Step 1: Make sure your Arduino is not connected to a power source.

Step 2: Using jumper cables connect power (VNC) and ground (GND) ports on Arduino to power (+) and ground (-) ports on breadboard.

Tip: It is a good practice to use red jumper cable for power (+ / VNC) and black jumper cable for ground (- / GND).

Step 3: Now that your breadboard has a power source, using jumper cables connect power (+) and ground (-) ports of your breadboard to power and ground ports of the Flame Intensity sensor.

Step 4: To read flame intensity values, you will need to connect a jumper cable from signal (OUT) port of Flame Intensity sensor to A0 (Analog) port of your Arduino.

Your circuit is now complete.

Arduino Code

Next you are going to write Arduino code that will read sensor data. Start your Arduino IDE and either type the code provided below or download it from GitHub. All the code goes into a single source file (*.ino) but in order to make it easy to understand and reuse, it has been divided into 3 sections.

  • External Libraries: includes all libraries required to run the program
  • Sensor Setup: code for reading sensor data
  • Standard Arduino Functions: implementation of standard Arduino functions setup() and loop()
/***************************************************************************
* External Libraries
**************************************************************************/

#include <SPI.h>

/*****************************************************************************
* Sensor Setup - Variables & Functions
****************************************************************************/

int FLAME_SENSOR_PIN = A0;
float flameSensorValue = 0.0;

void readSensorData()
{
//Read Mositure Sensor Value
flameSensorValue = analogRead(FLAME_SENSOR_PIN);

//Display Readings
Serial.print("[INFO] Flame Sensor Reading: ");
Serial.println(flameSensorValue);
}

/***************************************************************************
* Standard Arduino Functions - setup(), loop()
**************************************************************************/

void setup()
{
// Initialize serial port
Serial.begin(9600);
}

void loop()
{
readSensorData();

delay(1000);
}

Final Product

Note: For testing purposes make sure you are in an open space away from items that can catch fire. This post used a flame lighter for testing.

Make sure your Arduino is powered on and code from above has been deployed. As soon as your sensor gets close to a flame, the readings will start going down.

CodifyThings - Internet of Things (IoT) Sensors