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;
}