0% found this document useful (0 votes)
6 views

IOT LAB Program Manual

The IOT LAB Program Manual provides detailed instructions for various Arduino projects, including LED blinking, LED patterns, LCD display, servo motor control, and temperature sensor monitoring. Each project includes connection details, programming code, and explanations of functionality. Additionally, it covers integration with the ThinkSpeak cloud for temperature sensor data transmission using NodeMCU.

Uploaded by

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

IOT LAB Program Manual

The IOT LAB Program Manual provides detailed instructions for various Arduino projects, including LED blinking, LED patterns, LCD display, servo motor control, and temperature sensor monitoring. Each project includes connection details, programming code, and explanations of functionality. Additionally, it covers integration with the ThinkSpeak cloud for temperature sensor data transmission using NodeMCU.

Uploaded by

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

IOT LAB Program Manual

(Model No: IOT Kit-IES., Rev: 1)

Program Manual

TECH&SALES SUPPORT
Email: [email protected]
Mob No: +91 9840838264
Web: www.ielecsystems.com
Exp:8 To implement LED Blink and LED Pattern With Arduino.
a) LED Blinking.
Connection Details For LED Blinking
LED’S Arduino Uno
LED1 13
LED2 12
LED3 11
LED4 10
Program:
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
delay(1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
delay(1000);
}
Exp:8 To implement LED Blink and LED Pattern With Arduino.
b) LED Pattern.
Connection Details For LED Pattern
LED’S Arduino Uno
LED1 13
LED2 12
LED3 11
LED4 10
LED5 9
LED6 8
LED7 7
LED8 6
LED9 5
LED10 4
LED11 3
LED12 2
Program
#define delay50 100
int sw1 = A4;
int sw2 = A5;
int myled[] = {2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13};
int num_of_leds;
void setup() {
num_of_leds = sizeof(myled) / sizeof(int);
for (int i = 0; i < num_of_leds; i++) {
pinMode(myled[i], OUTPUT);
pinMode(sw1, INPUT);
pinMode(sw2, INPUT);

}
}
void loop() {
if((digitalRead(sw1)==LOW)&(digitalRead(sw2)==LOW))
{
ledonn();
delay(1000);
ledoff();
delay(1000);
}
else if((digitalRead(sw1)==LOW)&(digitalRead(sw2)==HIGH))
{
pattern1();
}
else if((digitalRead(sw1)==HIGH)&(digitalRead(sw2)==LOW))
{
pattern2();
}
else if((digitalRead(sw1)==HIGH)&(digitalRead(sw2)==HIGH))
{
pattern3();
}
}
//TURN ON ALL LEDs
void ledonn() {
for (int i = 0; i < num_of_leds; i++) {
digitalWrite(myled[i], HIGH);
}
}
//TURN OFF ALL LEDs
void ledoff() {
for (int i = 0; i < num_of_leds; i++) {
digitalWrite(myled[i], LOW);
}
}
//LEFT TO RIGHT
void pattern1() {
for (int i = 0; i < num_of_leds; i++) {
digitalWrite(myled[i], HIGH);
delay(delay50);
digitalWrite(myled[i], LOW);
}
}
//RIGHT TO LEFT
void pattern2() {
for (int i = num_of_leds; i > 0; i--) {
digitalWrite(myled[i - 1], HIGH);
delay(delay50);
digitalWrite(myled[i - 1], LOW);
}
}
//ALTERNATE LEDs
void pattern3() {
for (int i = 0; i < num_of_leds; i = i + 2) {
digitalWrite(myled[i], HIGH);
digitalWrite(myled[i + 1], LOW);
}
delay(delay50);
for (int i = 0; i < num_of_leds; i = i + 2) {
digitalWrite(myled[i], LOW);
digitalWrite(myled[i + 1], HIGH);
}
delay(delay50);
}
Exp:9 To implement LED Pattern with Push Button Control With Arduino
Connection Details For LED and Push Button Switch
LED’S & SWITCH Arduino Uno
LED1 13
LED2 12
LED3 11
LED4 10
LED5 9
LED6 8
LED7 7
LED8 6
LED9 5
LED10 4
LED11 3
LED12 2
SW1 A4
SW2 A5

Program:
#define delay50 100
int sw1 = A4;
int sw2 = A5;
int myled[] = {2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13};
int num_of_leds;
void setup() {
num_of_leds = sizeof(myled) / sizeof(int);
for (int i = 0; i < num_of_leds; i++) {
pinMode(myled[i], OUTPUT);
pinMode(sw1, INPUT);
pinMode(sw2, INPUT);
}
}
void loop() {
if((digitalRead(sw1)==LOW)&(digitalRead(sw2)==LOW))
{
ledonn();
delay(1000);
ledoff();
delay(1000);
}
else if((digitalRead(sw1)==LOW)&(digitalRead(sw2)==HIGH))
{
pattern1();
}
else if((digitalRead(sw1)==HIGH)&(digitalRead(sw2)==LOW))
{
pattern2();
}
else if((digitalRead(sw1)==HIGH)&(digitalRead(sw2)==HIGH))
{
pattern3();
}
}
//TURN ON ALL LEDs
void ledonn() {
for (int i = 0; i < num_of_leds; i++) {
digitalWrite(myled[i], HIGH);
}
}
//TURN OFF ALL LEDs
void ledoff() {
for (int i = 0; i < num_of_leds; i++) {
digitalWrite(myled[i], LOW);
}
}
//LEFT TO RIGHT
void pattern1() {
for (int i = 0; i < num_of_leds; i++) {
digitalWrite(myled[i], HIGH);
delay(delay50);
digitalWrite(myled[i], LOW);
}
}
//RIGHT TO LEFT
void pattern2() {
for (int i = num_of_leds; i > 0; i--) {
digitalWrite(myled[i - 1], HIGH);
delay(delay50);
digitalWrite(myled[i - 1], LOW);
}
}
//ALTERNATE LEDs
void pattern3() {
for (int i = 0; i < num_of_leds; i = i + 2) {
digitalWrite(myled[i], HIGH);
digitalWrite(myled[i + 1], LOW);
}
delay(delay50);
for (int i = 0; i < num_of_leds; i = i + 2) {
digitalWrite(myled[i], LOW);
digitalWrite(myled[i + 1], HIGH);
}
delay(delay50);
}
Exp:10 To display “Hello World “ in LCD 16X2 Display With Arduino
Connection Details For 16X2 LCD
16X2 LCD Arduino Uno
RS(Register Select) 7
EN(Enable) 6
D4 Dataline4 5
D5 Dataline5 4
D6 Dataline6 3
D7 Dataline7 2

Program:
#include <LiquidCrystal.h>
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Define LCD Pin Connection 7 ~ RS , 6 ~ EN, 5 ~ D4,
4~ D5, 3 ~ D6, 2 ~ D7
void setup()
{
lcd.begin(16,2); //Configure LCD as 16x2
}
void loop()
{
lcd.setCursor(1,0);
lcd.print("Hello World");
}
Exp:11 To implement the Servo Motor Control with Arduino

Connection Details For Servo Motor


Servo Motor Arduino Uno
Servo Motor (Yellow) 5
Servo Motor (Brown) Ground
Servo Motor (RED) +5V

Program:
#include<Servo.h>
Servo Myservo;
int pos;
void setup()
{
Myservo.attach(5);
}

void loop()
{
for(pos=0;pos<=180;pos++)
{
Myservo.write(pos);
delay(15);
}
delay(1000);
for(pos=180;pos>=0;pos--)
{
Myservo.write(pos);
delay(15);
}
delay(1000);
}
Exp:12 To implement and monitor the LM35 Temperature Sensor and
Ultrasonic Distance Measurement With Arduino

a) LM35 Temperature Sensor.


Connection Details For LM35
LM35 Arduino Uno
1 +5V
2 A0
3 GND
Program:
void setup()
{
Serial.begin(9600);
}
void loop()
{
float vout =analogRead(A0); // Analog O/P Read
vout = (vout * 500)/1023; // Celsius Conversion Calculation
Serial.print("Room Temperature:");
Serial.print(vout);
Serial.println("In Celsius");
delay(1000);
}
b) Ultrasonic Sensor.
Connection Details For Ultrasonic Sensor
Ultrasonic Sensor Arduino Uno
Vcc +5V
Trig A1
Echo A2
Gnd Gnd
Program:

#include <NewPing.h>
#define TRIGGER_PIN A1
#define ECHO_PIN A2
#define MAX_DISTANCE 250
boolean goesForward = false;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup()
{ Serial.begin(9600);
}
void loop()
{
delay(1000);
Serial.print("Ping: ");
Serial.print(sonar.ping_cm());
Serial.println("cm");
}
int readPing()
{
delay(70);
int cm = sonar.ping_cm();
if (cm==0){ cm=250; }
return cm; }
Exp:13 To implement the IR Sensor Analog Input With Arduino

Connection Details For IR Sensor


IR Sensor Arduino Uno
IR Analog Output A3
GND GND
VCC +5V

Program:
void setup()
{
Serial.begin(9600);
}

void loop()
{
float vout =analogRead(A3); // Analog O/P Read
vout = (5*(vout/1023));
Serial.print(vout);
Serial.println("Volt");
delay(1000);
}
Exp:14 Using ThinkSpeak Cloud Reading Temperature Sensor Monitoring
with NodeMCU.
LM35 Temperature Sensor.
Connection Details For LM35
LM35 Arduino Uno
1 +5V
2 Node MCU A0
3 GND
Program:
#include <ESP8266WiFi.h>
String apiKey = "74085BCYRZG0G9YJ"; // Enter your Write API key from ThingSpeak
const char *ssid = "IElec Systems"; // replace with your wifi ssid and wpa2 key
const char *pass = "9840838264"; //Wifi Password
const char* server = "api.thingspeak.com";
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop()
{
float vout = analogRead(A0);
vout = (vout/1023)*3300;
vout = vout/10;
Serial.print(vout);
if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
{ String postStr = apiKey;
postStr +="&field1=";
postStr += String(vout);
postStr += "\r\n";

client.print("POST /update HTTP/1.1\n");


client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);

Serial.print("Temperature: ");
Serial.print(vout);
Serial.println("Send to Thingspeak.");
}
client.stop();
Serial.println("Waiting...");
delay(1000);// thingspeak needs minimum 15 sec delay between updates
}

You might also like