Kerala IoT Challenge Level-1
Experiment 1 - Hello World LED Blinking
Components
- Arduino Uno
- Breadboard
- LED
- Jumper wire
- Restsor 150 ohm
Video

Tutorial
Introduction

Arduino pinout

Arduino Frist Program

Breadboard

Led blink

Code
#define LED 8
void setup(){
pinMode(LED, OUTPUT);
}
void loop(){
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Experiment 2 - Traffic Light
Components
- Arduino Uno
- Breadboard
- LED RED BLUE GREEN
- Jumper wire
- Restsor 220 ohm
Circuit

Video

Tutorial
Variable

For Loop

While Loop

Code
#define RED 7
#define YELLOW 6
#define GREEN 5
void setup(){
pinMode(RED, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(GREEN, OUTPUT);
}
void loop(){
//Red led on , green led off and wait 5 secound then Red led OFF
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay(5000);
digitalWrite(RED, LOW);
// yellow led blink 3 time in 0.5 sec
for(int i=0;i<3;i++){
digitalWrite(YELLOW,HIGH);
delay(500);
digitalWrite(YELLOW,LOW);
delay(500);
}
//Green led on , Red led off and wait 5 secound then Green LED OFF
digitalWrite(GREEN, HIGH);
digitalWrite(RED, LOW);
delay(5000);
digitalWrite(GREEN, LOW);
// yellow led blink 3 time in 0.5 sec
for(int i=0;i<3;i++){
digitalWrite(YELLOW,HIGH);
delay(500);
digitalWrite(YELLOW,LOW);
delay(500);
}
}
Experiment 3 - LED Chasing Effect
Components
- Arduino Uno
- Breadboard
- LED 6
- Jumper wire
- Restsor 220 ohm
Circuit

Video

Tutorial
Serial monitor

String


Array

i++,i–

Code
//Make array and store led pins
int LED[]={10,9,8,7,6,5};
//commen delay time
int DELAY_TIME = 50;
int i=0; // make a itrating variable and assain value 0
void setup(){
//set all led are output
for(int i=0;i<6;i++){
pinMode(LED[i],OUTPUT);
}
}
// right looping
void loop(){
while(i<6){
digitalWrite(LED[i],HIGH);
delay(DELAY_TIME);
digitalWrite(LED[i],LOW);
delay(DELAY_TIME);
i++; // i=i+1
}
i-=2; // i=i-2
//left looping
while(i>=0){
digitalWrite(LED[i],HIGH);
delay(DELAY_TIME);
digitalWrite(LED[i],LOW);
delay(DELAY_TIME);
i--; //i=i-1
}
i+=2; // i=i+2
}
Components
- Arduino Uno
- Breadboard
- LED
- Jumper wire
- Restsor 220 ohm , 10 ohm
- michro switch
Circuit

Video

Tutorial
Arduino push buttion

Reading


Code
// set Read pin 10
#define READ_PIN 10
// led colnnect 13
#define LED 13
bool readData=0;
void setup(){
pinMode(READ_PIN ,INPUT);
pinMode(LED ,OUTPUT);
}
void loop(){
readData=digitalRead(READ_PIN); // read data
Serial.println(readData);
digitalWrite(LED,readData); // read data high LED WILL ON otherwice led will off
}
Experiment 5 -BUZZER
Components
- Arduino
- Breadboard
- BUZZER
- Jumper wire
Circuit

Video

Code
// Buzzer Connect 13
#define BUZZER 13
void setup(){
pinMode(BUZZER ,OUTPUT);
}
void loop(){
digitalWrite(BUZZER,HIGH); // BUZZER ON
delay(1000);
digitalWrite(BUZZER,LOW); // BUZZER OFF
delay(1000);
}
Experiment 6 -RGB LED
Components
- Arduino Uno
- Breadboard
- RGB LED
- Jumper wire
- Restsor 220 ohm
Circuit

Video

Tutorial
Analog Write

RGB PART 1

RGB PART 2

Code
int RGB_LED[]={11,9,10};
void setup(){
for(int i=0;i<3;i++)
pinMode(RGB_LED[i],OUTPUT);
}
void loop(){
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],j);
analogWrite(RGB_LED[1],0);
analogWrite(RGB_LED[2],0);
delay(5);
}
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],0);
analogWrite(RGB_LED[1],j);
analogWrite(RGB_LED[2],0);
delay(5);
}
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],0);
analogWrite(RGB_LED[1],0);
analogWrite(RGB_LED[2],j);
delay(5);
}
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],j);
analogWrite(RGB_LED[1],j);
analogWrite(RGB_LED[2],0);
delay(5);
}
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],j);
analogWrite(RGB_LED[1],0);
analogWrite(RGB_LED[2],j);
delay(5);
}
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],0);
analogWrite(RGB_LED[1],j);
analogWrite(RGB_LED[2],j);
delay(5);
}
for(int j=0;j<255;j++){
analogWrite(RGB_LED[0],j);
analogWrite(RGB_LED[1],j);
analogWrite(RGB_LED[2],j);
delay(5);
}
}
Experiment 7- LDR SENSOR
Components
- Arduino Uno
- Breadboard
- RED,GREEN LED
- Jumper wire
- Restsor 220 ohm 10 k
- LDR Sensor
Circuit

Video

Tutorial
AND GATE

OR GATE

NOT GATE

Code
#define LDR 12 // LDR CONNECT 12
#define RLED 11 // Red LED CONNECT 11
#define GLED 10 // Green LED Connect 10
bool readData=0;
void setup(){
pinMode(RLED,OUTPUT);
pinMode(GLED,OUTPUT);
pinMode(LDR,INPUT);
}
void loop(){
readData=digitalRead(LDR);
digitalWrite(RLED,readData);
digitalWrite(GLED,!readData);
}
Experiment 8- FLAME SENSOR
Components
- Arduino Uno
- Breadboard
- RED LED
- BUZZER
- Jumper wire
- Restsor 220 ohm 10 k
- Flame Sensor
Circuit

Video

Tutorial
Analog Write

UntraSonic

UntraSonic Distance

Simple if

else if laddar

Switch

Code
#define FLAME A0 // Flaem sensor CONNECT A0
#define RED 11 // Red LED CONNECT 11
#define BUZZER 10 // Buzzer LED Connect 10
int data;
void setup(){
pinMode(RED,OUTPUT);
pinMode(FLAME,INPUT);
pinMode(BUZZER,OUTPUT);
Serial.begin(9600);
}
void loop(){
data=analogRead(FLAME);
Serial.print("DATA :");
Serial.println(data);
if(data>600){
digitalWrite(RED,HIGH);
digitalWrite(BUZZER,HIGH);
delay(1000);
}else{
digitalWrite(RED,LOW);
digitalWrite(BUZZER,LOW);
}
}
Experiment 9- LM35 Temperature Sensor
Components
- Arduino Uno
- Breadboard
- Jumper wire
Sensor



Circuit

Video

Code
#define LM35_SENSOR A0 // Flaem sensor CONNECT A0
float readData;
float tempC,tempF;
void setup(){
pinMode(LM35_SENSOR,INPUT);
Serial.begin(9600);
}
void loop(){
readData=analogRead(LM35_SENSOR);
tempC=(readData/1024.0)*500;
Serial.print("Temprature : ");
Serial.print(tempC);
Serial.print(" *C =");
tempF=(tempC*9.0)/5.0 + 32.0;
Serial.print(tempF);
Serial.println(" *F");
}
Experiment 10- IR Remote Control Using TSOP
Components
- Arduino Uno
- Breadboard
- Jumper wire
- IR Recever (TSOP)
- 5 LED
- 220 ohm Resistor
- IR REMOTE (Any remote)
Sensor

IR Decode
Circuit

Video

Code
#define IR_PIN A0 // IR sensor connect
#include<IRremote.h> // IR library
IRrecv irrecv(IR_PIN); // connect ir pin to library
decode_results result;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop(){
if(irrecv.decode(&result)){
Serial.println(result.value,HEX);
irrecv.resume();
}
}
IR LED Controll
Circuit

Video

Code
#define IR_PIN A0 // Flaem sensor CONNECT A0
#include<IRremote.h>
unsigned long receveData[]={0x1FE50AF,0x1FED827,0x1FEF807,0x1FE30CF,0x1FEB04F,0x1FE708F};
bool statusData[]{0,0,0,0,0,0};
int led[]={7,6,5,4,3,2};
IRrecv irrecv(IR_PIN);
decode_results result;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
for(int i=0;i<6;i++)
pinMode(led[i],OUTPUT);
}
void loop(){
if(irrecv.decode(&result)){
Serial.println(result.value,HEX);
for(int i=0;i<6;i++){
if(result.value==receveData[i]){
statusData[i]=!statusData[i];
digitalWrite(led[i],statusData[i]);
}
}
irrecv.resume();
}
}
Experiment 12- Seven Segment Display
Components
- Arduino Uno
- Breadboard
- Seven Segment Display
- Jumper wire
- Restsor 220 ohm
Circuit

Video

Tutorial
Function Part 1

Function Part 2

Code
int sevenSeg[]={13,12,11,10,9,8,7,6};
void number(int i){
switch(i){
case 0: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],HIGH);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 1: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],HIGH);
digitalWrite(sevenSeg[2],HIGH);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],HIGH);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],HIGH);
digitalWrite(sevenSeg[7],HIGH);
break;
case 2: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],HIGH);
// digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],HIGH);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 3: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],HIGH);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 4: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],HIGH);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],HIGH);
digitalWrite(sevenSeg[7],LOW);
break;
case 5: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],HIGH);
break;
case 6: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],HIGH);
break;
case 7: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],HIGH);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],HIGH);
digitalWrite(sevenSeg[5],HIGH);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 8: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 9: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
}
}
void setup(){
Serial.begin(9600);
for(int i=0;i<8;i++){
pinMode(sevenSeg[i],OUTPUT);
digitalWrite(sevenSeg[i],HIGH);
}
}
void loop(){
for(int i=9;i>=0;i--){
number(i);
delay(750);
}
}
Assigenment
Assigenment 1- Night lighting system
Components
- Arduino Uno
- Breadboard
- RED,GREEN LED
- Jumper wire
- Restsor 220 ohm 10 k
- LDR Sensor
Circuit

Video

Code
#define LDR A0// LDR CONNECT A0
#define LED 11 // LED CONNECT 11
int readData=0;
void setup(){
pinMode(LED,OUTPUT);
pinMode(LDR,INPUT);
Serial.begin(9600);
}
void loop(){
readData=analogRead(LDR);
Serial.println(readData);
if(readData>200)
digitalWrite(LED,HIGH);
else
digitalWrite(LED,LOW);
}
Assigenment 2 - 6 Number Random Dice
Components
- Arduino Uno
- Breadboard
- pushbuttion
- Jumper wire
- Restsor 220 ohm
- push buttion
Circuit

Video

Code
#define readPin A0
bool readStatus=0;
int sevenSeg[]={13,12,11,10,9,8,7,6};
void number(int i){
switch(i){
case 0: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],HIGH);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 1: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],HIGH);
digitalWrite(sevenSeg[2],HIGH);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],HIGH);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],HIGH);
digitalWrite(sevenSeg[7],HIGH);
break;
case 2: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],HIGH);
// digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],HIGH);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 3: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],HIGH);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 4: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],HIGH);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],HIGH);
digitalWrite(sevenSeg[7],LOW);
break;
case 5: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],HIGH);
break;
case 6: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],HIGH);
break;
case 7: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],HIGH);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],HIGH);
digitalWrite(sevenSeg[5],HIGH);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 8: digitalWrite(sevenSeg[0],LOW);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
case 9: digitalWrite(sevenSeg[0],HIGH);
digitalWrite(sevenSeg[1],LOW);
digitalWrite(sevenSeg[2],LOW);
//digitalWrite(sevenSeg[3],HIGH);
digitalWrite(sevenSeg[4],LOW);
digitalWrite(sevenSeg[5],LOW);
digitalWrite(sevenSeg[6],LOW);
digitalWrite(sevenSeg[7],LOW);
break;
}
}
void setup(){
Serial.begin(9600);
for(int i=0;i<8;i++){
pinMode(sevenSeg[i],OUTPUT);
digitalWrite(sevenSeg[i],HIGH);
}
pinMode(readPin,INPUT_PULLUP);
}
void loop(){
if(readStatus==0&&digitalRead(readPin)==LOW){
number(random(1,7));
readStatus=1;
}else if(digitalRead(readPin)==HIGH&&readStatus==1){
readStatus=0;
}
delay(50);
}