FICHA TECNICA KIT MONITORIZACION - … · Proyectos de los módulos del proyecto 1: parpadeo de los...

30
FICHA TECNICA KIT MONITORIZACION El kit de monitoreo del medio ambiente Keyestudio, el último kit de estudio ambiental, reduce en gran medida la dificultad del aprendizaje de programas para los entusiastas. Todo el lenguaje informático y las gramáticas profesionales de un programa se pueden simplificar en bloques. Compilar es tan fácil como construir bloques. Interactivos con la junta de desarrollo de Arduino, pueden lograr trabajos emocionantes. La característica de código abierto de Arduino lo hace extremadamente popular. Puedes encontrar muchas comunidades de aprendizaje en Internet. Ardublock es un entorno de programación, al igual que la construcción de bloques, lo que reduce en gran medida la dificultad de aprendizaje para los principiantes. Mientras lo ames, todos pueden jugar con Arduino sin conocimientos profesionales o antecedentes relevantes. En cuanto a los padres que hacen hincapié en la educación de la próxima generación, esta será una de las mejores maneras de interactuar con sus hijos. Lista de juegos 1 tablero de control KEYESTUDIO UNO 2 Escudo V5 Módulo LED Piranha 3 Módulo zumbador activo 4 5 Sensor de luz ambiental 6 Sensor de movimiento PIR 7 Sensor de vapor 8 Sensor ultravioleta 9 DHT11 Sensor de temperatura y humedad 10 1602 I2C 11 Sensor de suelo 12 Sensor de Gas Analógico 13 Tablero 14 Plataforma 15 8 * 8 matriz de punto

Transcript of FICHA TECNICA KIT MONITORIZACION - … · Proyectos de los módulos del proyecto 1: parpadeo de los...

FICHA TECNICA KIT MONITORIZACION

El kit de monitoreo del medio ambiente Keyestudio, el último kit de estudio ambiental,

reduce en gran medida la dificultad del aprendizaje de programas para los entusiastas.

Todo el lenguaje informático y las gramáticas profesionales de un programa se pueden

simplificar en bloques. Compilar es tan fácil como construir bloques. Interactivos con la

junta de desarrollo de Arduino, pueden lograr trabajos emocionantes.

La característica de código abierto de Arduino lo hace extremadamente popular. Puedes

encontrar muchas comunidades de aprendizaje en Internet. Ardublock es un entorno de

programación, al igual que la construcción de bloques, lo que reduce en gran medida la

dificultad de aprendizaje para los principiantes. Mientras lo ames, todos pueden jugar con

Arduino sin conocimientos profesionales o antecedentes relevantes. En cuanto a los padres

que hacen hincapié en la educación de la próxima generación, esta será una de las mejores

maneras de interactuar con sus hijos.

Lista de juegos

1 tablero de control KEYESTUDIO UNO

2 Escudo V5

Módulo LED Piranha 3

Módulo zumbador activo 4

5 Sensor de luz ambiental

6 Sensor de movimiento PIR

7 Sensor de vapor

8 Sensor ultravioleta

9 DHT11 Sensor de temperatura y humedad

10 1602 I2C

11 Sensor de suelo

12 Sensor de Gas Analógico

13 Tablero

14 Plataforma

15 8 * 8 matriz de punto

16 pantallas de segmentos de 1 dígito

17 pantallas de segmentos de 4 dígitos

18 Botón

19 LED azul

20 LED rojo

21 LED amarillo

22 Zumbador pasivo

23 zumbador activo

24 1K

25 10K

26 220R

27 RGB a todo color

28 tornillo

29 Resistencia ajustable

30 IC 595

Gorra de 31 botones

32 Jumper Wire

33 Cable USB

Línea de Dupont de mujer a mujer 34

35 Sensor de polvo

Proyectos de los módulos del proyecto 1: parpadeo de los LED

Introducción: Este proyecto es más fácil y usted puede hacer LED parpadea simplemente modificando los códigos un poco. Hardware requerido: UNO Junta * 1 Cable USB * 1 Piraña LED módulo * 1 línea de Dupont * 3

circuito de conexión:

Sample Code:

int led = 13;

// the setup routine runs once when you press reset :

void setup() {

// initialize the digital pin as an output.

pinMode(led, OUTPUT);

}

// the loop routine runs over and over again foreve r:

void loop() {

digitalWrite(led, HIGH); // turn the LED on (HI GH is the voltage level)

delay(1000); // wait for a second

digitalWrite(led, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second

}

Resultado: Cargar los códigos en tablero UNO y entonces usted puede ver Piraña LED y L luz en el tablero están parpadeando

junto con un intervalo de un segundo.

Project 2: Active Buzzer Module

Introducción: Este proyecto utiliza los mismos códigos como proyecto 1, y entonces el zumbador suena durante un segundo y parar un segundo. Hardware requerido: UNO Junta * 1 Cable USB * 1 módulo zumbador activo * 1 línea de Dupont * 3 circuito de conexión:

Sample Code:

int led = 13;

// the setup routine runs once when you press reset :

void setup() {

// initialize the digital pin as an output.

pinMode(led, OUTPUT);

}

// the loop routine runs over and over again foreve r:

void loop() {

digitalWrite(led, HIGH); // turn the LED on (HI GH is the voltage level)

delay(1000); // wait for a second

digitalWrite(led, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second

}

Resultado: Después de cargar los códigos al tablero de UNO, puede oír el timbre de llamada y ver la luz de L parpadeando al mismo tiempo con un intervalo de un segundo.

Proyecto 3: Módulo de suelo

Introduction:

Sensor de suelo es un sensor de humedad fácil detección de la humedad del suelo. Si el suelo es falta de agua, disminuye el valor analógico de salida; Si no es así, el valor aumenta. Este sensor detecta la humedad mediante la lectura del cambio de la corriente entre dos electrodos. Utiliza dos sondas para hacer flujo de corriente a través del suelo (como una resistencia) y luego leer el valor para saber la cantidad de humedad. Cuando el agua es suficiente, suelo puede conducir la electricidad más easily(decreasing resistance); Cuando la falta de agua, la conductividad eléctrica del suelo es malo (aumento de resistencia). Hardware requerido: UNO Junta * 1 Cable USB * 1 suelo Sensor módulo * 1 suelo pruebas * 1 línea de Dupont * 3 circuito de conexión:

Sample Code:

void setup() {

Serial.begin(9600);

}

void loop() {

int sensorValue = analogRead(A0);

Serial.println(sensorValue, DEC);

}

Resultado: Después de cargar los códigos en la placa UNO, inse rte el sensor en el suelo con diferente humedad, y podrá ver diferentes valores analógicos en el puerto serie. Cuando la humedad aumenta, el valo r analógico también aumenta; de lo contrario, el valor disminuye.

Proyecto 4: Sensor de vapor

Introducción:

Cuando hay gotas o vapores adheridos al sensor del sensor de vapor, la MCU obtendrá una retroalimentación de la señal analógica del pin de señal S del sensor. Puede leer el valor de MCU para deducir si llueve.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Steam Sensor * 1

• Línea Dupont * 3

Conexión de circuito:

Sample Code:

void setup() {

// initialize serial communication at 9600 bits p er second:

Serial.begin(9600);

}

// the loop routine runs over and over again foreve r:

void loop() {

// read the input on analog pin 0:

int sensorValue = analogRead(A0);

// print out the value you read:

Serial.println(sensorValue);

delay(1); // delay in between reads for st ability

}

Resultado:

Después de cargar los códigos en la placa UNO, abra el monitor serie y podrá ver el valor actual. Agregar gota en el punto de detección y el valor an alógico aumenta.

Proyecto 5: sensor de gas MQ 135

Introducción:

MQ135 adopta el SnO2 como material sensible a los g ases porque SnO2 tiene baja conductividad eléctrica en el aire limpio. Por lo tanto, cuando e stá rodeado de aire contaminado, la conductividad eléctrica de MQ135 aumentará con el aumento de cont aminantes, y el cambio en la conductividad eléctrica se puede convertir a la señal de salida c orrespondiente.

MQ135 tiene una alta sensibilidad al amoníaco, sulf uro, vapor de benceno, humo y otros gases nocivos. Puede detectar varios gases nocivos, por lo que es una opción rentable adecuada para múltiples aplicaciones.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Sensor de gas MQ135 * 1

• Conexión de Línea Dupont * 4Circuit:

Sample Code:

const int buttonPin = 2; // the number of the p ushbutton pin

const int ledPin = 13; // the number of the L ED pin

// variables will change:

int buttonState = 0; // variable for readin g the pushbutton status

void setup() {

// initialize the LED pin as an output:

pinMode(ledPin, OUTPUT);

// initialize the pushbutton pin as an input:

pinMode(buttonPin, INPUT);

Serial.begin(9600);

}

void loop(){

// read the state of the pushbutton value:

buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.

// if it is, the buttonState is HIGH:

if (buttonState == HIGH) {

// turn LED on:

digitalWrite(ledPin, HIGH);

}

else {

// turn LED off:

digitalWrite(ledPin, LOW);

}

}

Resultado:

Después de cargar los códigos en la placa UNO, ajus te la sensibilidad del sensor a través del potenciómetro. Encienda un encendedor cerca del sen sor, y puede ver que el valor analógico aumenta, el LED en el sensor está encendido pero la luz L en la placa UNO está apagada.

Proyecto 6: Sensor de movimiento PIR

Resultado:

Después de cargar los códigos en la placa UNO, ajus te la sensibilidad del sensor a través del potenciómetro. Encienda un encendedor cerca del sen sor, y puede ver que el valor analógico aumenta, el LED en el sensor está encendido pero la luz L en la placa UNO está apagada.

Proyecto 6: Sensor de movimiento PIR

Sample Code:

int IRswitch = 2; //signal output of sensor ;

int led = 13; //input of signal indicator;

boolean val = false; //reading out signal in real t ime;

void setup()

{

pinMode(IRswitch,INPUT);

pinMode(led,OUTPUT); //defining ports ;

}

void loop()

{

val = digitalRead(IRswitch); //reading output level ;

if(val)

digitalWrite(led,HIGH); //the LED lights up, when t here is someone moving in

detecting range ;

else

http://keyes-arduino.taobao.com

digitalWrite(led,LOW); //all going well, LED off ;

delay(10); //delaying for a moment, making LED stab le ;

}

Resultado:

Después de cargar los códigos en la placa UNO R3, s i hay alguien moviéndose alrededor del sensor, la luz L en la placa UNO R3 está encendida; si no, la luz L está encendida por un tiempo y luego apagada.

Proyecto 7: Sensor ultravioleta GUVA-S12SD 3528

Introducción:

El sensor de movimiento PIR es un instrumento que c onvierte IR en señal eléctrica con detección sin contacto. Está compuesto por unidad de detección, l ente Fresnel, filtro de interferencia, adaptador de transistor de efecto de campo y est.

Detecta IR con efecto piroeléctrico, lo que signifi ca que cuando el electrón del objeto calentado se mueve desde una temperatura alta a baja, el objeto producirá corriente o se acumulará su carga eléctrica. Primero, la lente recibe IR del objeto d e prueba; luego el sensor convierte IR en señal eléctrica; finalmente, el circuito procesará la señ al.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Sensor ultravioleta * 1

• Línea Dupont * 3

Conexión de circuito:

Sample Code:

void setup() {

// initialize serial communication at 9600 bits p er second:

Serial.begin(9600);

}

// the loop routine runs over and over again foreve r:

void loop() {

// read the input on analog pin 0:

int sensorValue = analogRead(A0);

// print out the value you read:

Serial.println(sensorValue);

delay(1); // delay in between reads for st ability

}

Resultado:

Después de cargar los códigos, abra el monitor seri e, y podrá ver que el valor actual es 0 cuando no h ay luz solar. Al colocar el sensor bajo la luz solar, puede ver la intensidad de la luz solar que se mues tra en el monitor.

Proyecto 8: Sensor de luz ambiental TEMT6000

Introducción: TEMT6000 es un sensor auditivo fotoco nductor. Su intensidad de iluminación es proporcional a la corriente del electrodo base. Es muy fácil de usar. Simplemente conecte el electrodo base a la entrada de voltaje analógico. Puede conoc er la intensidad de corriente detectando el valor d e voltaje.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Sensor de luz ambiental * 1

• Línea Dupont * 3Circuit Connection:

Sample Code:

void setup() {

// initialize serial communication at 9600 bits p er second:

Serial.begin(9600);

}

// the loop routine runs over and over again foreve r:

void loop() {

// read the input on analog pin 0:

int sensorValue = analogRead(A0);

// print out the value you read:

Serial.println(sensorValue);

delay(1); // delay in between reads for st ability

}

Resultado:

Después de cargar los códigos, abra el monitor seri e, y podrá ver el valor disminuir con la intensidad disminuyendo. De lo contrario, el valor aumenta.

Proyecto 9: sensor de temperatura y humedad DHT11

Introducción:

Este sensor de temperatura y humedad DHT11 presenta una salida de señal digital calibrada con el complejo del sensor de temperatura y humedad. Su te cnología garantiza una alta fiabilidad y una excelente estabilidad a largo plazo. Tiene excelent e calidad, respuesta rápida, capacidad antiinterfer ente y ventajas de rendimiento de alto costo. El sistema de interfaz en serie de un solo cable está integra do para hacerlo más rápido y fácil.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Sensor de temperatura y humedad DHT11 * 1

• Línea Dupont * 3

Conexión de circuito:

Sample Code:

int DHpin = 8;

byte dat[5];

byte read_data()

{

byte data;

for(int i=0; i<8; i++)

{

if(digitalRead(DHpin) == LOW)

{

while(digitalRead(DHpin) == LOW); //waiting for 50us ;

delayMicroseconds(30); // estimating the dur ation of high level to decide 0

or 1 ;

if(digitalRead(DHpin) == HIGH)

data |= (1<<(7-i)); //high-order forward, lo w-order backward

while(digitalRead(DHpin) == HIGH); //‘1’ ,waiting for receiving next one ;

}

}

return data;

}

void start_test()

{

digitalWrite(DHpin,LOW); //lower bus to delivery START signal ;

delay(30); //delayed time should be more than 18 ms,so that DHT11 can detect

START signal ;

digitalWrite(DHpin,HIGH);

delayMicroseconds(40); //waiting for DHT11 to re spond;

pinMode(DHpin,INPUT);

while(digitalRead(DHpin) == HIGH);

delayMicroseconds(80); //DHT11 giving out respond ,lowering bus at 80us ;

if(digitalRead(DHpin) == LOW);

delayMicroseconds(80); //DHT11 pulling up bus at8 0us and then sending out data ;

for(int i=0;i<4;i++) //receiving data of tempera ture and humidity without

consideration of check bit ;

dat[i] = read_data();

pinMode(DHpin,OUTPUT);

digitalWrite(DHpin,HIGH); //after sending data onc e, releasing bus, waiting for

next time//START signal ;

}

void setup()

{

Serial.begin(9600);

pinMode(DHpin,OUTPUT);

}

void loop()

{

start_test();

Serial.print("Current humdity = ");

Serial.print(dat[0], DEC); //displaying integer bit of humidity ;

Serial.print('.');

Serial.print(dat[1],DEC); //displaying decimals bit of humidity ;

Serial.println('%');

Serial.print("Current temperature = ");

Serial.print(dat[2], DEC); //displaying integer bit of temperature ;

Serial.print('.');

Serial.print(dat[3],DEC); //displaying decimals bit of temperature ;

Serial.println('C');

delay(700);

}

Resultado:

Después de cargar los códigos, puede ver la tempera tura y la humedad actuales en el monitor de serie.

Proyecto 10: Sensor de polvo GP2Y10

Introducción:

El sensor de polvo GP2Y10 utiliza un sistema de det ección óptica Sharp que detecta la luz reflejada de l polvo con el sensor óptico IR. Puede detectar gránu los muy pequeños, como los cigarrillos, y presenta un bajo consumo de energía y una alta resolución.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Sensor de polvo GP2Y10 * 1

• Línea Dupont * 4

Conexión de circuito:

Sample Code:

int dustPin=A0;

float dustVal=0;

int ledPower=2;

int delayTime=280;

int delayTime2=40;

float offTime=9680;

void setup(){

Serial.begin(9600);

pinMode(ledPower,OUTPUT);

pinMode(dustPin, INPUT);

}

void loop(){

// ledPower is any digital pin on the arduino conne cted to Pin 3 on the sensor

digitalWrite(ledPower,LOW);

delayMicroseconds(delayTime);

dustVal=analogRead(dustPin);

delayMicroseconds(delayTime2);

digitalWrite(ledPower,HIGH);

delayMicroseconds(offTime);

delay(1000);

if (dustVal>36.455)

Serial.println((float(dustVal/1024)-0.0356)*120000* 0.035);

}

Resultado:

Después de cargar los códigos, puede ver el siguien te valor en el monitor serial:

Datos después de la prueba en contraste con la calidad del aire:

3000 + = muy malo

1050-3000 = malo

300-1050 = normal

150-300 = bueno

75-150 = muy bueno

0-75 = tiptop

Proyecto 11: Módulo de pantalla de cristal líquido I2C1602

Introducción:

Este módulo usa el modo de comunicación I2C para re ducir el uso del puerto de E / S de la MCU. Puede ajustar la relación de contraste de la pantalla a t ravés del potenciómetro para obtener el efecto de visualización óptimo.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Módulo de pantalla de cristal líquido I2C1602 * 1

• Línea Dupont * 4

Conexión de circuito:

Sample Code:

#include <LiquidCrystal_I2C.h>

#include <Wire.h>

LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD a ddress to 0x27 for a 16 chars

and 2

void setup()

{

lcd.init(); // initialize th e lcd

// Print a message to the LCD.

lcd.backlight();

lcd.print("Hello Arduino");

}

void loop()

{

}

Resultado:

Después de cargar los códigos, puede ver que aparec e "Hello Arduino" en la pantalla.

Proyecto 12: Sensor de luz ambiental para controlar el brillo del LED Introducción:

En este proyecto, utilizamos el sensor de luz ambie ntal TEMT6000 para controlar el brillo del LED.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Escudo V5 * 1

• Módulo LED Piranha * 1

• Sensor de luz ambiental * 1

• Línea Dupont * Varios

Conexión de circuito: conecte Shield V5 a la placa UNO y no extraiga los pines para evitar dañar la placa.

Sample Code:

void setup()

{

pinMode(11,OUTPUT); //choosing PWM digit al output}

void loop()

{

int n = analogRead(A0); //reading the value o f A0 port (0-5V corresponding to

0-1204 )

analogWrite(11,n/4); //maximum value of P WM is 255 so analog value n is

divided by 4. }

}

Resultado:

Después de cargar los códigos, puede cambiar la int ensidad de iluminación del sensor para controlar el brillo del LED.

Proyecto 13: sensor ultravioleta para alarma

Introducción:

Cuando el sensor ultravioleta recibe rayos ultravio leta hasta un cierto valor, suena el zumbador.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Escudo V5 * 1

• Módulo zumbador * 1

• Sensor ultravioleta * 1

• Línea Dupont * Varios

Conexión de circuito:

Enchufe Shield V5 en la placa UNO y no extraiga las clavijas para evitar dañar la placa.

Sample Code:

int ON = 11;

// the setup routine runs once when you press reset :

void setup() {

// initialize serial communication at 9600 bits p er second:

pinMode(ON, OUTPUT);

Serial.begin(9600);

}

// the loop routine runs over and over again foreve r:

void loop() {

// read the input on analog pin 0:

int sensorValue = analogRead(A0);

int n;

// print out the value you read:

if(sensorValue>=20)

{

for(n=0;n<8;n++)

{

digitalWrite(ON, HIGH);

delay(1000);

digitalWrite(ON, LOW);

delay(500);

}

}

else

{

digitalWrite(ON, LOW);

}

Serial.println(sensorValue);

delay(1); // delay in between reads for st ability

}

Resultado:

Después de cargar los códigos, puede ver cuándo el valor es igual o superior a 20, el timbre suena durante 1 segundo y se detiene durante 0,5 segundos , circulando 8 veces.

Proyecto 14: Visualización de temperatura y humedad en LCD Introducción:

En este proyecto, utilizamos el sensor de temperatu ra y humedad DHT11 para medir la temperatura y la humedad actuales, mostrándolas en LCD1602.

Hardware requerido:

• Junta de la ONU * 1

• Cable USB * 1

• Escudo V5 * 1

• Sensor de temperatura y humedad DHT11 * 1

• LCD1602 * 1

• Línea Dupont * Varios

Conexión de circuito:

Enchufe Shield V5 en la placa UNO y no extraiga las clavijas para evitar dañar la placa.

Sample Code:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include "DHT.h"

LiquidCrystal_I2C lcd(0x27,20,4);

#define DHTPIN 11 // what pin we're connected t o

// Uncomment whatever type you're using!

#define DHTTYPE DHT11 // DHT 11

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

//#define DHTTYPE DHT21 // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

void setup() {

Serial.begin(9600);

Serial.println("DHTxx test!");

dht.begin();

lcd.init();

lcd.init();

lcd.backlight();

lcd.clear();

lcd.setCursor(0,0);

lcd.print("DHT-11 test!");

}

void loop() {

// Reading temperature or humidity takes about 25 0 milliseconds!

// Sensor readings may also be up to 2 seconds 'o ld' (its a very slow sensor)

float h = dht.readHumidity();

float t = dht.readTemperature();

lcd.clear();

if (isnan(t) || isnan(h)) {

Serial.println("Failed to read from DHT");

lcd.setCursor(0,0);

lcd.print("Failed DHT");

} else {

Serial.print("Humidity: ");

lcd.setCursor(0,0);

lcd.print("H:");

Serial.print(h);

lcd.setCursor(3,0);

lcd.print(h);

Serial.print(" %\t");

lcd.setCursor(9,0);

lcd.print("%");

Serial.print("Temperature: ");

lcd.setCursor(0,1);

lcd.print("T:");

Serial.print(t);

lcd.setCursor(3,1);

lcd.print(t);

Serial.println(" *C");

lcd.setCursor(8,1);

lcd.print(" *C");

}

delay(200);

}

720/5000

Resultado: Después de agregar las bibliotecas y cargar los códigos, puede ver la temperatura y humedad actuales en LCD1602.

Proyecto 15: Proyecto Integrado Introducción: Este proyecto detectará luz ambiental, rayos ultravioleta, gas, temperatura y humedad con LED, zumbador, LCD1602, etc. Hardware requerido: • Tablero UNO * 1 • Escudo V5 * 1 • Sensor de temperatura y humedad DHT11 * 1 • LCD1602 * 1 • Piranha LED * 3 • Sensor de luz ambiente TEMT6000 * 1 • GUVA-S12SD 3528 Sensor ultravioleta * 1 • Sensor de Gas MQ 135 * 1 • Sensor de polvo GP2Y10 * 1 • Módulo zumbador * 1 • Sensor de movimiento PIR * 1 • Cable USB * 1 • Línea Dupont * Varios Conexión de circuito: Enchufe Shield V5 en la placa UNO y no extraiga las clavijas para evitar dañar la placa.

Sample Code:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include "DHT.h"

LiquidCrystal_I2C lcd(0x27,20,4);

#define DHTPIN 5 //defining DHT11digital ports

#define GP2Y_LED 7 //defining digital ports of Du st Sensor

#define GP2Y_OUT A3 //defining analog ports of Dus t Sensor

#define GAS A2 //defining analog ports of Gas Sensor

#define GAS_D 2 //defining digital ports of Gas Sensor

#define S12SD A1 //defining analog ports of Ultr aviolet Sensor

#define TEMT A0 //defining analog ports of Ambi ent Light Sensor

#define LED1 9 //defining digital ports of LED

#define LED2 10 //defining digital ports of LED

#define LED3 11 //defining digital ports of LED

#define BUZZ 4 //defining digital ports of Buz zer Module

#define PIR 3 //defining digital ports of PIR Motion Sensor

// Uncomment whatever type you're using!

#define DHTTYPE DHT11 // DHT 11

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

//#define DHTTYPE DHT21 // DHT 21 (AM2301)

float dustVal=0;

int delayTime=280;

int delayTime2=40;

float offTime=9680;

int gasdigi = 1;//original value

boolean IR_val = false; //reading signal in real ti me of PIR Motion Sensor

int TEMT_val; //reading signal in real ti me of TEMT6000Ambient Light

Sensor

int S12SD_val;

DHT dht(DHTPIN, DHTTYPE);

void setup() {

Serial.begin(9600);

dht.begin();

lcd.init();

lcd.backlight();

lcd.clear();

lcd.setCursor(5,0);

lcd.print("HELLO");

delay(1000);

pinMode(GP2Y_LED,OUTPUT);

pinMode(LED1,OUTPUT);pinMode(LED2,OUTPUT);pinMode(L ED3,OUTPUT);

pinMode(BUZZ,OUTPUT);pinMode(PIR,INPUT);pinMode(DHT PIN,OUTPUT);pinMode(GAS_D,INPUT)

;

pinMode(GP2Y_OUT, INPUT);pinMode(GAS, INPUT);pinM ode(S12SD, INPUT);pinMode(TEMT,

INPUT);

digitalWrite(LED1, LOW);

}

void loop()

{

DHT11_FUNC();

GP2Y_FUNC();

PIR_FUNC();

TEMT_FUNC();

S12SD_FUNC();

}

void S12SD_FUNC()

{

S12SD_val = analogRead(S12SD);

Serial.println(S12SD_val);

lcd.setCursor(10,1);

lcd.print("R:");

lcd.setCursor(12,1);

lcd.print(S12SD_val*10);

if(S12SD_val*10 >= 300)

digitalWrite(BUZZ,HIGH);

else

digitalWrite(BUZZ,LOW);

}

void TEMT_FUNC()

{

TEMT_val = analogRead(TEMT);

Serial.println(TEMT_val);

//analogWrite(LED1, map(analogRead(TEMT), 0 , 102 3, 0, 255));

analogWrite(LED1, map(analogRead(TEMT), 1023 , 0 , 255, 0));

}

void GP2Y_FUNC()

{

digitalWrite(GAS_D, HIGH);

digitalWrite(GP2Y_LED,LOW);

delayMicroseconds(delayTime);

dustVal=analogRead(GP2Y_OUT);

delayMicroseconds(delayTime2);

digitalWrite(GP2Y_LED,HIGH);

delayMicroseconds(offTime);

if (dustVal>36.455)

Serial.println((float(dustVal/1024)-0.0356)*12000 0*0.035);

lcd.setCursor(0,1);

lcd.print("GP:");

lcd.setCursor(3,1);

lcd.print((float(dustVal/1024)-0.0356)*120000*0.0 35);

gasdigi = digitalRead(GAS_D);

if(gasdigi == 0) digitalWrite(LED3,HIGH);

else digitalWrite(LED3,LOW);

}

void DHT11_FUNC()

{

// Reading temperature or humidity takes about 250 milliseconds!

// Sensor readings may also be up to 2 seconds 'o ld' (its a very slow sensor)

float h = dht.readHumidity();

float t = dht.readTemperature();

lcd.clear();

// check if returns are valid, if they are NaN (n ot a number) then something went

wrong!

if (isnan(t) || isnan(h))

{

lcd.setCursor(0,0);

lcd.print("Failed DHT");

}

else

{

lcd.setCursor(0,0);

lcd.print(h);

lcd.setCursor(6,0);

lcd.print("%");

lcd.setCursor(8,0);

lcd.print(t);

lcd.setCursor(14,0);

lcd.print("*C");

}

}

void PIR_FUNC()

{

IR_val = digitalRead(PIR); //reading output of hi gh or low level ;

if(IR_val)

digitalWrite(LED2,HIGH); //someone moving in dete cting rage, LED on ;

else

//http://keyes-arduino.taobao.com

digitalWrite(LED2,LOW); //all going well, LED off ;

delay(10); //delaying for some time to make LED s table ;

}

Resultado:

Después de cargar los códigos, primero puede ver lo s datos que se muestran en LCD1602. Mostrar la humedad actual en la parte superior izquierda, la t emperatura actual en la parte superior derecha; mostrando el valor del polvo en la parte inferior i zquierda, intensidad ultravioleta en la parte infer ior derecha.

El LED conectado al pin D9 está cambiando con la intensidad de la iluminación (cuanto mayor es la intensidad, más brillante es el LED).

El LED conectado al pin D10 está encendido cuando alguien se mueve en el rango de detección.

El LED conectado al pin D11 está encendido con el sensor de gas en el nivel bajo. La sensibilidad del sensor se puede ajustar con un potenciómetro.

Después de que el sensor ultravioleta recibe rayos, lea el valor analógico a través del puerto A1. Cuando el valor es mayor que 300 en la oración if (S12SD_val * 10> = 300), suena el zumbador.