You are on page 1of 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