A. What are the different sensors in your phone and what do they do? Conduct an experiment to measure and analyze the data for a sensor in a log and report your findings.
B. Measure something: add a sensor to a microcontroller board and read it. Document the process. Upload the arduino code. Find an application for it in the real world around you. Please write in your own words what did you infer from the datasheet of the input device that you used?
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
void setup()
{
for (int i=0;i<11;i++)
{
pinMode(i,OUTPUT); // PINs2-10 are set as output
}
pinMode(A2,OUTPUT); //PIN A0 set as output
pinMode(A1,OUTPUT); // PIN A1 set as output
pinMode(A0,OUTPUT); // PIN A2 set as output
digitalWrite(A0,HIGH); //pull up the A0 pin
digitalWrite(A1,HIGH); // pull up the A1 pin
digitalWrite(A2,HIGH); // pull up the A2 pin
/* add setup code here, setup code runs once when the processor starts */
}
void loop()
{
digitalWrite(A0,LOW); //layer 1 of cube is grounded
for (int i=2;i<11;i++)
{
digitalWrite(i,HIGH); //turn ON each LED one after another in layer1
delay(200);
delay(200);
delay(200);
digitalWrite(i,LOW);
}
digitalWrite(A0,HIGH); //layer1 is pulled up
digitalWrite(A1,LOW); // layer 2 of cube is grounded
for (int i=2;i<11;i++)
{
digitalWrite(i,HIGH); // turn ON each LED one after another in layer2
delay(200);
delay(200);
delay(200);
digitalWrite(i,LOW);
}
digitalWrite(A1,HIGH); // layer2 is pulled up
digitalWrite(A2,LOW); // layer 3 of cube is grounded
for (int i=2;i<11;i++)
{
digitalWrite(i,HIGH); // turn ON each LED one after another in layer3
delay(200);
delay(200);
delay(200);
digitalWrite(i,LOW);
}
digitalWrite(A2,HIGH); // layer3 is pulled up
}
/*
- Arduino & Chralieplexing
- Driving 9 LEDs using only 4 I/O Pins
- Tri-State Logic Implementation
- Code written by Ganesh Ram
- Modified from code by T.K.Hareendran
- Tested at Department of Design
*/
#define LED_1 4
#define LED_2 5
#define LED_3 6
#define LED_4 7
#define buttonApin 11
#define buttonBpin 12
int i=0;
char input;
void setup()
{
pinMode(LED_1, INPUT);
pinMode(LED_2, INPUT);
pinMode(LED_3, INPUT);
pinMode(LED_4, INPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(buttonApin) == LOW)
{
{
for(i=0;i<=50;i++)
I();
for(i=0;i<50;i++)
alloff();
for(i=0;i<=50;i++)
I();
for(i=0;i<50;i++)
alloff();
for(i=0;i<=50;i++)
T();
for(i=0;i<50;i++)
alloff();
for(i=0;i<=50;i++)
D();
for(i=0;i<50;i++)
alloff();
}
}
if (digitalRead(buttonBpin) == LOW)
{
for(int n= 0; n<5; n++)
{
for(i=0;i<50;i++)
allon();
for(i=0;i<50;i++)
alloff();
}
}
if (Serial.available()) {
input = Serial.read();//read the input
if (input == 'a' || input == 'A')
{
for(i=0;i<=50;i++)
{
A();
}
}
if (input == 'b' || input == 'B')
{
for(i=0;i<=50;i++)
{
B();
}
}
if (input == 'c' || input == 'C')
{
for(i=0;i<=50;i++)
{
C();
}
}
if (input == 'd' || input == 'D')
{
for(i=0;i<=50;i++)
{
D();
}
}
if (input == 'e' || input == 'E')
{
for(i=0;i<=50;i++)
{
E();
}
}
if (input == 'f' || input == 'F')
{
for(i=0;i<=50;i++)
{
F1();
}
}
if (input == 'g' || input == 'G')
{
for(i=0;i<=50;i++)
{
G();
}
}
if (input == 'h' || input == 'H')
{
for(i=0;i<=50;i++)
{
H();
}
}
if (input == 'i' || input == 'I')
{
for(i=0;i<=50;i++)
{
I();
}
}
if (input == 'j' || input == 'J')
{
for(i=0;i<=50;i++)
{
J();
}
}
if (input == 'k' || input == 'K')
{
for(i=0;i<=50;i++)
{
K();
}
}
if (input == 'l' || input == 'L')
{
for(i=0;i<=50;i++)
{
L();
}
}
if (input == 'm' || input == 'M')
{
for(i=0;i<=50;i++)
{
M();
}
}
if (input == 'n' || input == 'N')
{
for(i=0;i<=50;i++)
{
N();
}
}
if (input == 'o' || input == 'O')
{
for(i=0;i<=50;i++)
{
O();
}
}
if (input == 'p' || input == 'P')
{
for(i=0;i<=50;i++)
{
P();
}
}
if (input == 'q' || input == 'Q')
{
for(i=0;i<=50;i++)
{
Q();
}
}
if (input == 'r' || input == 'R')
{
for(i=0;i<=50;i++)
{
R();
}
}
if (input == 's' || input == 'S')
{
for(i=0;i<=50;i++)
{
S();
}
}
if (input == 't' || input == 'T')
{
for(i=0;i<=50;i++)
{
T();
}
}
if (input == 'u' || input == 'U')
{
for(i=0;i<=50;i++)
{
U();
}
}
if (input == 'v' || input == 'V')
{
for(i=0;i<=50;i++)
{
V();
}
}
if (input == 'w' || input == 'W')
{
for(i=0;i<=50;i++)
{
W();
}
}
if (input == 'x' || input == 'X')
{
for(i=0;i<=50;i++)
{
X();
}
}
if (input == 'y' || input == 'Y')
{
for(i=0;i<=50;i++)
{
Y();
}
}
if (input == 'z' || input == 'Z')
{
for(i=0;i<=50;i++)
{
Z();
}
}
Serial.println (input);//print the latter saved in the input var
}
/* set_pins(LED_1, LED_2); //LED 1A
delay(100);
set_pins(LED_2, LED_1); //LED 1B
delay(100);
set_pins(LED_1, LED_4); //LED 1C
delay(100);
set_pins(LED_4, LED_1); //LED 2C
delay(100);
set_pins(LED_3, LED_2); //LED 2B
delay(100);
set_pins(LED_2, LED_3); //LED 2A
delay(100);
set_pins(LED_2, LED_4); //LED 3C
delay(100);
set_pins(LED_3, LED_4); //LED 3B
delay(100);
set_pins(LED_4, LED_3); //LED 3A
delay(100); */
}
void set_pins(int high_pin, int low_pin)
{
reset_pins();
pinMode(high_pin, OUTPUT);
pinMode(low_pin, OUTPUT);
digitalWrite(high_pin, HIGH);
digitalWrite(low_pin,LOW);
}
void reset_pins()
{
pinMode(LED_1, INPUT);
pinMode(LED_2, INPUT);
pinMode(LED_3, INPUT);
pinMode(LED_4, INPUT);
digitalWrite(LED_1, LOW);
digitalWrite(LED_2, LOW);
digitalWrite(LED_3, LOW);
digitalWrite(LED_4, LOW);
}
void A()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void B()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
// set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void C()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void D()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
// set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
// set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void E()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void F1()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
// set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void G()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
// set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void H()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void I()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
// set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void J()
{
//set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
// set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void K()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void L()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
// set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void M()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
// set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void N()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void O()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
//set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void P()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
// set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void Q()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
// set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
// set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void R()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
// set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void S()
{
//set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
//set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
//set_pins(LED_2, LED_3); //LED 2A
delay(2);
//set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void T()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
//set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
//set_pins(LED_2, LED_3); //LED 2A
delay(2);
//set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
//set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void U()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
//set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
//set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void V()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
// set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
// set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
// set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void W()
{
// set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void X()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
// set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
// set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void Y()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
// set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
// set_pins(LED_2, LED_3); //LED 2A
delay(2);
// set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
// set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void Z()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
// set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
// set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void allon()
{
set_pins(LED_1, LED_2); //LED 1A
delay(2);
set_pins(LED_2, LED_1); //LED 1B
delay(2);
set_pins(LED_1, LED_4); //LED 1C
delay(2);
set_pins(LED_4, LED_1); //LED 2C
delay(2);
set_pins(LED_3, LED_2); //LED 2B
delay(2);
set_pins(LED_2, LED_3); //LED 2A
delay(2);
set_pins(LED_2, LED_4); //LED 3C
delay(2);
set_pins(LED_3, LED_4); //LED 3B
delay(2);
set_pins(LED_4, LED_3); //LED 3A
delay(2);
}
void alloff()
{
reset_pins();
delay(20);
}
Main Cube Video and one Experiment's Video is down there. In the Experiment, there is Light Design with smoke effect made with the help of 3x3 led cube and Arduino.
#include "DHT.h"
#define DHTPIN 2
#define LED1 3
#define LED2 4
#define LED3 5
#define LED4 6
#define LED5 7
#define LED6 8
#define LED7 9
#define LED8 10
#define LED9 11
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
pinMode(A0,INPUT); //PIN A0 set as output
pinMode(A1,INPUT); // PIN A1 set as output
pinMode(A2,INPUT); // PIN A2 set as output
pinMode(LED1,INPUT);
pinMode(LED2,INPUT);
pinMode(LED3,INPUT);
pinMode(LED4,INPUT);
pinMode(LED5,INPUT);
pinMode(LED6,INPUT);
pinMode(LED7,INPUT);
pinMode(LED8,INPUT);
pinMode(LED9,INPUT);
// pull up the A2 pin
/* add setup code here, setup code runs once when the processor starts */
/* add setup code here, setup code runs once when the processor starts */
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
if(t<26)
{
for(int j=0; j<200; j++)
{
layer1();
delay(0.5);
}
}
else if(t>=26 && t<27)
{
for(int j=0;j<200;j++)
{
layer1();
layer2();
delay(0.5);
}
}
else
{
for(int j=0;j<200;j++)
{
layer1();
layer2();
layer3();
delay(0.5);
}
}
/* for(int k=0;k<200;k++)
{
if(t<=26)
{
for(int j=0; j<200; j++)
{
layer1();
delay(0.5);
}
}
else if(t>26 && t<27)
{
for(int j=0; j<200; j++)
{
layer1();
delay(0.5);
layer2();
delay(0.5);
}
}
else
{
for(int j=0; j<200; j++)
{
layer1();
delay(0.5);
layer2();
delay(0.5);
layer3();
delay(0.5);
}
}
}*/
}
void set_pins(int high_pin, int low_pin)
{
reset_pins();
pinMode(high_pin, OUTPUT);
pinMode(low_pin, OUTPUT);
digitalWrite(high_pin, HIGH);
digitalWrite(low_pin,LOW);
}
void reset_pins()
{
for(int i=3;i<=11;i++)
{
pinMode(i, INPUT);
digitalWrite(i, LOW);
}
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
digitalWrite(A0, LOW);
digitalWrite(A1, LOW);
digitalWrite(A2, LOW);
}
void layer1()
{
set_pins(LED1, A0);
delay(1);
set_pins(LED2, A0);
delay(1);
set_pins(LED3, A0);
delay(1);
set_pins(LED4, A0);
delay(1);
set_pins(LED5, A0);
delay(1);
set_pins(LED6, A0);
delay(1);
set_pins(LED7, A0);
delay(1);
set_pins(LED8, A0);
delay(1);
set_pins(LED9, A0);
delay(1);
}
void layer2()
{
set_pins(LED1, A1);
delay(1);
set_pins(LED2, A1);
delay(1);
set_pins(LED3, A1);
delay(1);
set_pins(LED4, A1);
delay(1);
set_pins(LED5, A1);
delay(1);
set_pins(LED6, A1);
delay(1);
set_pins(LED7, A1);
delay(1);
set_pins(LED8, A1);
delay(1);
set_pins(LED9, A1);
delay(1);
}
void layer3()
{
set_pins(LED1, A2);
delay(1);
set_pins(LED2, A2);
delay(1);
set_pins(LED3, A2);
delay(1);
set_pins(LED4, A2);
delay(1);
set_pins(LED5, A2);
delay(1);
set_pins(LED6, A2);
delay(1);
set_pins(LED7, A2);
delay(1);
set_pins(LED8, A2);
delay(1);
set_pins(LED9, A2);
delay(1);
}
On increasing temp, DHT22 will send the varied details to LED cube, by which accordingly it will glow.