Kerala IoT Challenge 2021 is a program launched by Foxlab Markerspace in association with GTech-Group Of Technology Companies using the platform mulearn. The aim of this program is to bring 100 experts in IoT. It has 4 levels - includes challenges and projects.
Hey Folks! I'm Nileena, student of College of Engineering, Chengannur(Electronics and Communications).This challenge will help me to learn more about IoT and to apply it in everyday life.
Level 1 is a 15 hours challenge contains 12 experiments and 2 assignments. This level gives basic knowledge about basic electronics, arduino programming. For level 1 challenge we are using Arduino UNO and its software Arduino IDE 1.8.15. You can Download & Install the Arduino IDE from https://www.arduino.cc/en/software
To blink the Led with a duration of 1 second.
Arduino Uno Board - USB Cable - LED (Any Color) x 1 Nos - 1 KOHM Resistor X 1 Nos - BreadboardJumper Wires (Male to Male ) X 2 Nos
int lp=12; void setup() { pinMode(lp, OUTPUT); } void loop() { digitalWrite(lp,HIGH); delay(1000); digitalWrite(lp,LOW); delay(1000); }
<iframe width="560" height="315"The LED is blinking for every 1 second
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
In this traffic lights experiment, we use 3 LEDs with different colors rather than 1 LED
Arduino Board x1 - USB Cable x1 - RED M5 LED x1 - YELLOW M5 LED x1 - GREEN M5 LED x1 - 1KΩ Resistor x3 - BreadBoard x1 - Jumper Wire xseveral
int red =10; int yellow =11; int green =12; void setup() { pinMode(red, OUTPUT); pinMode(yellow, OUTPUT); pinMode(green, OUTPUT); } void loop() { digitalWrite(green, HIGH); delay(5000); digitalWrite(green, LOW); for(int i=0;i<3;i++) { digitalWrite(yellow, HIGH); delay(500); digitalWrite(yellow, LOW); delay(500); } digitalWrite(red, HIGH); delay(5000); digitalWrite(red, LOW); }
Three LEDs are blinking like a traffic light with proper duration.
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
In this experiment, we compile a program to simulate LED chasing effect.
Led x5 - Arduino board x1 - 1KΩ resistor x5 - Breadboard x1 - USB cablex1 - Breadboard wire x12
int start=2; int num=5; void setup() { for(int i=start;i<start+num;i++) pinMode(i,OUTPUT); } void loop() { for(int i=start;i<start+num;i++) {digitalWrite(i,HIGH); delay(200); } for(int i=start;i<start+num;i++) {digitalWrite(i,LOW); delay(200); } }
LEDs are blinking by the prrogrammed pattern.
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
To controll the LED by a button switch
Arduino Uno Button Switch x1 - RED M5 LED x1 - 1KΩ Resistor x1 - 10KΩ Resistor x1 - Breadboard x1 - Jumper wires x6 - USB Cable x1
int led=11; int button=7; int value; void setup() { pinMode(button,INPUT); pinMode(led,OUTPUT); } void loop() { value=digitalRead(button); if(value==LOW) digitalWrite(led,LOW); if(value==HIGH) digitalWrite(led,HIGH); }
The LED is on whenever the button is pressed.
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
This experiment familarize with buzzer
Arduino Uno - Buzzer x1 - Breadboard x1 - Breadboard Jumper Wire x2 - USB cable x1
int buz=8; void setup() { pinMode(buz,OUTPUT); } void loop() { digitalWrite(buz,HIGH); }
The buzzer produces sound.
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
To used a RGB LED and making diifferent colours.
Arduino Uno - USB Cable x1 - RGB LED x1 - Resistor x3 - Jumper Wires x5
int redpin = 11; int bluepin =10; int greenpin =9; int val; void setup() { pinMode(redpin, OUTPUT); pinMode(bluepin, OUTPUT); pinMode(greenpin, OUTPUT); } void loop() { for(val=255; val>0; val--) { analogWrite(11, val); analogWrite(10, 255-val); analogWrite(9, 128-val); delay(1); } }
The RGB LED starts to blink within the range of 0 to 255.
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
The intensity of LED light is gradually increasing as the darkness increases. It uses photodiode.
Arduino Uno Board - Photo Resistor - Red M5 LED - 10KΩ Resistor x1 - 1KΩ Resistor x1 - Breadboard - Jumper Wire x5 - USB cable
int diode=0; int led=11; int value=0; void setup() { pinMode(diode,INPUT); pinMode(led,OUTPUT); Serial.begin(9600); } void loop() { value=analogRead(diode); Serial.println(value); if(value>600) analogWrite(led,value/4); else analogWrite(led,value/40); delay(10); }
The LED brightness increases with increase in darkness
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
To beep buzzer when there is a flame. We are using Infrared Receiver (IR )for detecting Flame.
Arduino Uno Board - Flame Sensor - Buzzer - 10K Resistor - Jumper Wire x6 - USB cable
int IR=0; int Buz=9; int value=0; void setup() { pinMode(Buz,OUTPUT); pinMode(IR,INPUT); Serial.begin(9600); } void loop() { value=analogRead(IR); Serial.println(value); if(value>=600) { digitalWrite(Buz,HIGH); }else { digitalWrite(Buz,LOW); } delay(500); }
<iframe width="560" height="315"The buzzer produce sound whenever there is a flame present near the IR module.
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
To obtain and print the current temperature using LM35
Arduino Uno Board x1 - LM35 x1 - Breadboard x1 - Breadboard Jumper Wire x5 - USB cable
int lm35=0; int value=0; void setup() { pinMode(lm35,INPUT); Serial.begin(9600); } void loop() { value=analogRead(lm35); float data=(125*value)>>8; Serial.print("temp= "); Serial.println(data); delay(1000); }
The temperature in degree Celcius is displayed on Serial Monitor.
<iframe width="560" height="315"frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
To controll LED by TV remote(using IR reciever)
Arduino Uno Board - Infrared Remote Controller - Infrared Receiver - LED x5 - 1KΩResistor x5 - Breadboard Wire - USB cable
#include <IRremote.h> int RECV_PIN = 11; int led1=2; int led2=3; int led3=4; int led4=5; int led5=6; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); pinMode(led3,OUTPUT); pinMode(led4,OUTPUT); pinMode(led5,OUTPUT); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); switch(results.value){ case 16:digitalWrite(led1,HIGH); delay(1000); digitalWrite(led1,LOW); break; case 2064:digitalWrite(led2,HIGH); delay(1000); digitalWrite(led2,LOW); break; case 1040:digitalWrite(led3,HIGH); delay(1000); digitalWrite(led3,LOW); break; case 3088:digitalWrite(led4,HIGH); delay(1000); digitalWrite(led4,LOW); break; case 528:digitalWrite(led5,HIGH); delay(1000); digitalWrite(led5,LOW); break;} irrecv.resume(); // Receive the next value }delay(10); }
<iframe width="560" height="315"LEDs are blinking by using the TV remote.
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
In this experiment we are reading value(Analog Value) from a Potentiometer
Arduino Uno Board -
10K Potentiometer -
Breadboard -
Breadboard Jumper Wire x3 -
USB cable x1
int pot=0; void setup() { pinMode(pot,OUTPUT); Serial.begin(9600); } void loop() { int val=analogRead(pot); Serial.println(val); delay(1000); }
<iframe width="560" height="315"The analog values of the potentiometer is displayed on the Serial Monitor.
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
To display numbers on 7 segment display.
Arduino Uno Board 1-digit LED Segment Display - 1KΩ Resistor - Breadboard - Breadboard Jumper Wires - USB cable
int a=2; int b=3; int c=4; int d=5; int e=6; int f=7; int g=8; int h=9; void digit0(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,HIGH); digitalWrite(h,HIGH); } void digit1(void) { digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(h,HIGH); }void digit2(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,HIGH); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,HIGH); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit3(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit4(void) { digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit5(void) { digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit6(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit7(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(h,HIGH); }void digit8(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit9(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); } void setup() { int i; for(i=2;i<10;i++) pinMode(i,OUTPUT); } void loop() { digit0(); delay(1000); digit1(); delay(1000); digit2(); delay(1000); digit3(); delay(1000); digit4(); delay(1000); digit5(); delay(1000); digit6(); delay(1000); digit7(); delay(1000); digit8(); delay(1000); digit9(); delay(1000); }
<iframe width="560" height="315"Digits from 0 to 9 are diaplayed on the 7 segment display.
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
Create a Thermometer using 6 LEDs and 1 LM35 Temperature Sensor
Arduino Uno Board x1 - LM35 x1 - Breadboard x1 - Breadboard Jumper Wire x5 - USB cable - LED x6 - 1Kohm resistor x6
int lm=0; int led1=8; int led2=9; int led3=10; int led4=11; int led5=12; int led6=13; void setup() { Serial.begin(9600); } void loop() { int val,dat; val=analogRead(0); dat=(125*val)>>8; Serial.println(dat); if(dat<30) { digitalWrite(led1,HIGH); digitalWrite(led2,LOW); digitalWrite(led3,LOW); digitalWrite(led4,LOW); digitalWrite(led5,LOW); digitalWrite(led6,LOW); } else if(dat>=30 && dat<35) { digitalWrite(led1,LOW); digitalWrite(led2,HIGH); digitalWrite(led3,LOW); digitalWrite(led4,LOW); digitalWrite(led5,LOW); digitalWrite(led6,LOW); } else if(dat>=35 && dat<40) { digitalWrite(led1,LOW); digitalWrite(led2,LOW); digitalWrite(led3,HIGH); digitalWrite(led4,LOW); digitalWrite(led5,LOW); digitalWrite(led6,LOW); } else if(dat>=40 && dat<45) { digitalWrite(led1,LOW); digitalWrite(led2,LOW); digitalWrite(led3,LOW); digitalWrite(led4,HIGH); digitalWrite(led5,LOW); digitalWrite(led6,LOW); } else if(dat>=45 && dat<50) { digitalWrite(led1,LOW); digitalWrite(led2,LOW); digitalWrite(led3,LOW); digitalWrite(led4,LOW); digitalWrite(led5,HIGH); digitalWrite(led6,LOW); } else { digitalWrite(led1,LOW); digitalWrite(led2,LOW); digitalWrite(led3,LOW); digitalWrite(led4,LOW); digitalWrite(led5,LOW); digitalWrite(led6,HIGH); } delay(1000); }
<iframe width="560" height="315"In this thermometer, the colour of ON LED changes as the temperature increases.
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
Create a Digital Dice using 7 Segment Display and Push Button
Arduino Board - breadboard - 1Kohm x8 resistors - 10Kohm resistor - jumper wires - USB Cable - & segment display - Push Button
int a=2; int b=3; int c=4; int d=5; int e=6; int f=7; int g=8; int h=9; int button=10; void digit1(void) { digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(h,HIGH); }void digit2(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,HIGH); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,HIGH); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit3(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit4(void) { digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit5(void) { digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); }void digit6(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(h,HIGH); } void digit0(void) { digitalWrite (a, HIGH); digitalWrite (b, HIGH); digitalWrite (c, HIGH); digitalWrite (d, HIGH); digitalWrite (e, HIGH); digitalWrite (f, HIGH); digitalWrite (g, HIGH); digitalWrite (h, HIGH); } long num; int buttonstate; void setup(){ pinMode(a, OUTPUT); pinMode(b, OUTPUT); pinMode(c, OUTPUT); pinMode(d, OUTPUT); pinMode(e, OUTPUT); pinMode(f, OUTPUT); pinMode(g, OUTPUT); pinMode(h, OUTPUT); pinMode(button,INPUT); randomSeed(analogRead(0)); } void loop(){ buttonstate = digitalRead(button); if(buttonstate == LOW){ num = random(1,7); if (num == 1){ digit1(); delay(2000); digit0(); } if (num == 2){ digit2(); delay(2000); digit0(); } if (num == 3){ digit3(); delay(2000); digit0(); } if (num == 4){ digit4(); delay(2000); digit0(); } if (num == 5){ digit5(); delay(2000); digit0(); } if (num == 6){ digit6(); delay(2000); digit0(); } } }
<iframe width="560" height="315"A digital dice is obtained using Push button
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>