Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
96 views23 pages

IOT Introduction

The document provides code examples for several common sensors used with Arduino including a temperature sensor, fire sensor, heartbeat sensor, humidity sensor, touch sensor, sound sensor, 7-color LED, 7-segment display, and flame sensor. The code snippets show how to read sensor input, set up input and output pins, display sensor readings on the serial monitor, and trigger outputs like an LED or buzzer based on sensor thresholds.

Uploaded by

Madhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views23 pages

IOT Introduction

The document provides code examples for several common sensors used with Arduino including a temperature sensor, fire sensor, heartbeat sensor, humidity sensor, touch sensor, sound sensor, 7-color LED, 7-segment display, and flame sensor. The code snippets show how to read sensor input, set up input and output pins, display sensor readings on the serial monitor, and trigger outputs like an LED or buzzer based on sensor thresholds.

Uploaded by

Madhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

1]https://learn.sparkfun.

com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-7-
reading-a-temperature-sensor

Code:

int val;

int tempPin = A1;

void setup()

Serial.begin(9600);

void loop()

val = analogRead(tempPin);

float mv=val/1024;

float cel = mv/10;

float farh = (cel*9)/5 + 32;

Serial.print("TEMP= ");

Serial.print(val);

Serial.print("*C");

Serial.println();

delay(1000);

2) Fire sensor from Instructables

Code:

#include<SoftwareSerial.h>

int sensorPin = A0; // select the input pin for the LDR
int sensorValue = 0; // variable to store the value coming from the sensor

int led = 9; // Output pin for LED

int buzzer = 12; // Output pin for Buzzer

void setup() {

// declare the ledPin and buzzer as an OUTPUT:

pinMode(led, OUTPUT);

pinMode(buzzer,OUTPUT);

Serial.begin(9600);

void loop()

sensorValue = analogRead(sensorPin);

if (sensorValue < 100)

{
Serial.println("Fire Detected");

Serial.println("LED on");

digitalWrite(led,HIGH);

digitalWrite(buzzer,HIGH);

delay(1000);

else

Serial.println("No fire");

digitalWrite(led,LOW);

digitalWrite(buzzer,LOW);

delay(sensorValue);

3) Heart beat sensor

#define samp_siz 4

#define rise_threshold 4

// Pulse Monitor Test Script

int sensorPin = 0;

void setup() {
Serial.begin(9600);

void loop ()

float reads[samp_siz], sum;

long int now, ptr;

float last, reader, start;

float first, second, third, before, print_value;

bool rising;

int rise_count;

int n;

long int last_beat;

for (int i = 0; i < samp_siz; i++)

reads[i] = 0;

sum = 0;

ptr = 0;

while(1)

// calculate an average of the sensor

// during a 20 ms period (this will eliminate

// the 50 Hz noise caused by electric light

n = 0;

start = millis();

reader = 0.;

do

reader += analogRead (sensorPin);

n++;
now = millis();

while (now < start + 20);

reader /= n; // we got an average

// Add the newest measurement to an array

// and subtract the oldest measurement from the array

// to maintain a sum of last measurements

sum -= reads[ptr];

sum += reader;

reads[ptr] = reader;

last = sum / samp_siz;

// now last holds the average of the values in the array

// check for a rising curve (= a heart beat)

if (last > before)

rise_count++;

if (!rising && rise_count > rise_threshold)

// Ok, we have detected a rising curve, which implies a heartbeat.

// Record the time since last beat, keep track of the two previous

// times (first, second, third) to get a weighed average.

// The rising flag prevents us from detecting the same rise more than once.

rising = true;

first = millis() - last_beat;

last_beat = millis();

// Calculate the weighed average of heartbeat rate

// according to the three last beats

print_value = 60000. / (0.4 * first + 0.3 * second + 0.3 * third);


Serial.print(print_value);

Serial.print('\n');

third = second;

second = first;

else

// Ok, the curve is falling

rising = false;

rise_count = 0;

before = last;

ptr++;

ptr %= samp_siz;

Humidity sensor

https://www.brainy-bits.com/post/how-to-use-the-dht11-temperature-and-humidity-sensor-with-
an-arduino

#include "dht.h"

#define dht_apin A0 // Analog Pin sensor is connected to


dht DHT;

void setup(){

Serial.begin(9600);

delay(500);//Delay to let system boot

Serial.println("DHT11 Humidity & temperature Sensor\n\n");

delay(1000);//Wait before accessing Sensor

}//end "setup()"

void loop(){

//Start of Program

DHT.read11(dht_apin);

Serial.print("Current humidity = ");

Serial.print(DHT.humidity);

Serial.print("% ");

Serial.print("temperature = ");

Serial.print(DHT.temperature);

Serial.println("C ");

delay(5000);//Wait 5 seconds before accessing sensor again.

//Fastest should be once every two seconds.

}// end loop()

Touch sensor

https://create.arduino.cc/projecthub/arcaegecengiz/how-to-use-a-touch-sensor-81b7f4
void setup() {

pinMode(2, INPUT);

Serial.begin(9600);

void loop() {

if (digitalRead(2) == HIGH)Serial.println("Touched");

else

Serial.println("Not Touched");

delay(500);

Heartbeat sensor smaller code

https://electropeak.com/learn/interfacing-ky-039-finger-heartbeat-measuring-sensor-module-with-
arduino/

void setup() {

pinMode(A0, INPUT);

Serial.begin(9600);

void loop() {

float pulse;

int sum = 0;

for (int i = 0; i < 20; i++)

sum += analogRead(A0);

pulse = sum / 20.00;

Serial.println(pulse);

delay(100);

7 color led
https://create.arduino.cc/projecthub/SURYATEJA/work-with-7-color-leds-877778

int S = 2;

void setup()

Serial.begin(9600);

pinMode(2, OUTPUT);

digitalWrite(2, LOW);

void loop()

digitalWrite(2, HIGH); // on for 5 Second

delay(5000);

7 SEGMENT DISPLAY

https://www.electronicwings.com/arduino/7-segment-display-interfacing-with-arduino-uno

int disp_pin[7]; /* array for a-g pins of 7-Segment display */

void define_segment_pins(int a, int b, int c, int d, int e, int f, int g) /* Assigns 7-segment display pins
to board */

disp_pin[0] = a;

disp_pin[1] = b;

disp_pin[2] = c;

disp_pin[3] = d;

disp_pin[4] = e;

disp_pin[5] = f;

disp_pin[6] = g;

}
void display_number(int num) /* Function for displaying number (0-9) */

switch(num)

case 0:

digitalWrite(disp_pin[0], LOW); /* Drive disp_pin[0] to LOW */

digitalWrite(disp_pin[1], LOW); /* Driving LOW turns on LED segment for common anode display
*/

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], LOW);

digitalWrite(disp_pin[5], LOW);

digitalWrite(disp_pin[6], HIGH);

break;

case 1:

digitalWrite(disp_pin[0], HIGH); /* Drive disp_pin[7] to HIGH */

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], HIGH); /* Driving HIGH turns off LED segment for common anode display
*/

digitalWrite(disp_pin[4], HIGH);

digitalWrite(disp_pin[5], HIGH);

digitalWrite(disp_pin[6], HIGH);

break;

case 2:

digitalWrite(disp_pin[0], LOW);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], HIGH);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], LOW);

digitalWrite(disp_pin[5], HIGH);
digitalWrite(disp_pin[6], LOW);

break;

case 3:

digitalWrite(disp_pin[0], LOW);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], HIGH);

digitalWrite(disp_pin[5], HIGH);

digitalWrite(disp_pin[6], LOW);

break;

case 4:

digitalWrite(disp_pin[0], HIGH);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], HIGH);

digitalWrite(disp_pin[4], HIGH);

digitalWrite(disp_pin[5], LOW);

digitalWrite(disp_pin[6], LOW);

break;

case 5:

digitalWrite(disp_pin[0], LOW);

digitalWrite(disp_pin[1], HIGH);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], HIGH);

digitalWrite(disp_pin[5], LOW);

digitalWrite(disp_pin[6], LOW);

break;

case 6:

digitalWrite(disp_pin[0], LOW);
digitalWrite(disp_pin[1], HIGH);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], LOW);

digitalWrite(disp_pin[5], LOW);

digitalWrite(disp_pin[6], LOW);

break;

case 7:

digitalWrite(disp_pin[0], LOW);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], HIGH);

digitalWrite(disp_pin[4], HIGH);

digitalWrite(disp_pin[5], HIGH);

digitalWrite(disp_pin[6], HIGH);

break;

case 8:

digitalWrite(disp_pin[0], LOW);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], LOW);

digitalWrite(disp_pin[5], LOW);

digitalWrite(disp_pin[6], LOW);

break;

case 9:

digitalWrite(disp_pin[0], LOW);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], HIGH);
digitalWrite(disp_pin[5], LOW);

digitalWrite(disp_pin[6], LOW);

break;

default:

digitalWrite(disp_pin[0], HIGH);

digitalWrite(disp_pin[1], LOW);

digitalWrite(disp_pin[2], LOW);

digitalWrite(disp_pin[3], LOW);

digitalWrite(disp_pin[4], LOW);

digitalWrite(disp_pin[5], HIGH);

digitalWrite(disp_pin[6], LOW);

break;

void setup() {

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

define_segment_pins(12,11,10,9,8,7,6); /* a-g segment pins to Arduino */

void loop() {

int i;

for(i = 9; i>=0; i--)

display_number(i);
delay(1000);

for(i = 0; i<=9; i++)

display_number(i);

delay(1000);

Big sound sensor (analog pin only)

void setup()

Serial.begin(9600);

pinMode(7,OUTPUT); // Red led pin

pinMode(6,OUTPUT); // Buzzer pin

void loop()

int s1=analogRead(A0);

Serial.println(s1);

delay(50);

if(s1>40 )

Serial.println("High noise");

else

Serial.println("Low noise"); }

}
Flame sensor:-

// lowest and highest sensor readings:


const int sensorMin = 0; // sensor minimum
const int sensorMax = 1024; // sensor maximum

void setup() {
// initialize serial communication @ 9600 baud:
Serial.begin(9600);
}
void loop() {
// read the sensor on analog A0:
int sensorReading = analogRead(A0);
// map the sensor range (four options):
// ex: 'long int map(long int, long int, long int, long int, long
int)'
int range = map(sensorReading, sensorMin, sensorMax, 0, 3);

// range value:
switch (range) {
case 0: // A fire closer than 1.5 feet away.
Serial.println("** Close Fire **");
break;
case 1: // A fire between 1-3 feet away.
Serial.println("** Distant Fire **");
break;
case 2: // No fire detected.
Serial.println("No Fire");
break;
}
delay(1); // delay between reads
}

Alternate code:-

int buzzer = 3; // initializing pin 3 as the buzzer output pin


int flame_sensor = 2; // initializing pin 2 as the sensor output pin
int flame_detected; // state of sensor

void setup()
{
Serial.begin(9600); // setting baud rate at 9600
pinMode(buzzer, OUTPUT); // declaring buzzer pin as output pin
pinMode(flame_sensor, INPUT); // declaring sensor pin as input pin for
Arduino
}
void loop()
{
flame_detected = digitalRead(flame_sensor); // reading from the sensor
if (flame_detected == 1) // applying condition
{
digitalWrite(buzzer, HIGH); // if state is high, then turn high the
buzzer
}
else
{
digitalWrite(buzzer, LOW); // otherwise turn it low
}
delay(100);
}

int Buzzer = 13; // Use buzzer for alert


int FlamePin = 2;  // This is for input pin
int Flame = HIGH;  // HIGH when FLAME Exposed

void setup() {
 pinMode(Buzzer, OUTPUT);
 pinMode(FlamePin, INPUT);
 Serial.begin(9600);
 
}

void loop() {
 Flame = digitalRead(FlamePin);
 if (Flame== HIGH)
 {
   Serial.println("HIGH FLAME");
   digitalWrite(Buzzer, HIGH);
 }
 else
 {
   Serial.println("No flame");
   digitalWrite(Buzzer, LOW);
 }
}

Line tracker:-
void setup()
{
Serial.begin(9600); // activates Serial Communication
}

void loop()
{
Serial.print(digitalRead(8)); // Line Tracking sensor is connected with pin 8 of the Arduino
delay(500);
}

Touch sensor:- (executed)

int touchPin = A0;

int sensorValue = 0;

void setup ()

Serial.begin (9600);

void loop ()

sensorValue = analogRead (touchPin);

Serial.println (sensorValue, DEC);

delay (1000);

Big Sound:-

void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
}

RGB light
https://create.arduino.cc/projecthub/muhammad-aqib/arduino-rgb-led-tutorial-fc003e

int red_light_pin= 11;


int green_light_pin = 10;
int blue_light_pin = 9;
void setup() {
pinMode(red_light_pin, OUTPUT);
pinMode(green_light_pin, OUTPUT);
pinMode(blue_light_pin, OUTPUT);
}
void loop() {
RGB_color(255, 0, 0); // Red
delay(1000);
RGB_color(0, 255, 0); // Green
delay(1000);
RGB_color(0, 0, 255); // Blue
delay(1000);
RGB_color(255, 255, 125); // Raspberry
delay(1000);
RGB_color(0, 255, 255); // Cyan
delay(1000);
RGB_color(255, 0, 255); // Magenta
delay(1000);
RGB_color(255, 255, 0); // Yellow
delay(1000);
RGB_color(255, 255, 255); // White
delay(1000);
}
void RGB_color(int red_light_value, int green_light_value, int blue_light_value)
{
analogWrite(red_light_pin, red_light_value);
analogWrite(green_light_pin, green_light_value);
analogWrite(blue_light_pin, blue_light_value);
}

Mercury tilt sensor

void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
if (digitalRead(2) == 1)
{
Serial.println("Tilted");
}
else
Serial.println("Not tilted");
delay(1000);
}

Ball tilt – same as above

Button

void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
if (digitalRead(2) == 1)
{
Serial.println("Not Pressed");
}
else
Serial.println("Pressed");
delay(1000);
}

Tracking sensor (if its wrong, change sensitivity)


https://www.phippselectronics.com/using-the-tracking-sensor-module-ky-033-with-
arduino/

// Arduino and KY-033 module

void setup ()
{
pinMode (8, INPUT); // module signal output connected to Arduino pin 8
Serial.begin(9600); // initialize serial
}

void loop ()
{
if (digitalRead(8) == HIGH) { // if module detects a dark surface,
Serial.println("Dark Surface"); // show message on serial monitor and

}
else {
Serial.println("Light Surface");
}
}

Rotary Encoder
https://www.instructables.com/Tutorial-of-Rotary-Encoder-With-Arduino/#:~:text=
%20Tutorial%20of%20Rotary%20Encoder%20With%20Arduino%20,of%20steps%20that
%20have%20been%20running.%20More%20

#define encoder0PinA 2
#define encoder0PinB 3
#define encoder0Btn 4
int encoder0Pos = 0;
void setup() {
Serial.begin(9600);
pinMode(encoder0PinA, INPUT_PULLUP);
pinMode(encoder0PinB, INPUT_PULLUP);
pinMode(encoder0Btn, INPUT_PULLUP);
attachInterrupt(0, doEncoder, CHANGE);
}
int valRotary,lastValRotary;
void loop() {
int btn = digitalRead(encoder0Btn);
Serial.print(btn);
Serial.print(" ");
Serial.print(valRotary);
if(valRotary>lastValRotary)
{
Serial.print(" CW");
}
if(valRotary<lastValRotary) {

Serial.print(" CCW");
}
lastValRotary = valRotary;
Serial.println(" ");
delay(250);
}
void doEncoder()
{
if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB))
{
encoder0Pos--;
}
else
{
encoder0Pos++;
}
valRotary = encoder0Pos/2.5;
}

You might also like