Vous êtes sur la page 1sur 22

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL

CUSCO
FACULTA DE INGENIERIA ELECTRICA, ELECTRONICA,
INFORMATICA Y MECANICA
Escuela Profesional de Ingeniería Informática y de
Sistemas

INFORME DE LABORATORIO N° 01
“CONTROL DE SENSORES Y MOTORES”

Curso: Robótica y Procesamiento de Señal


Docente: Lic. José Mauro Pillco Quispe

Trabajo presentado por:


Fernández Ciprian, Edson Armando (103640)
Huaman Tacuri, Percy (093172)
Huillca Chino, Helder (091360)
Mejía Pinto, Abel (103169)
Quispe Chaucca, Astrid (121460)

Cusco – Perú
2018
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

Índice
1. COMPONENTES .................................................................................................................................................... 3
1.1 ARDUINO .................................................................................................................................................... 3
1.2 SERVOMOTOR ............................................................................................................................................ 3
1.3 SENSOR DE PROXIMIDAD............................................................................................................................ 4
1.4 SENSOR DE LUZ ........................................................................................................................................... 5
1.5 SENSOR DE TEMPERATURA ........................................................................................................................ 5
1.6 SENSOR DE HUMEDAD ............................................................................................................................... 6
1.7 SENSOR DE GAS .......................................................................................................................................... 6
1.8 SENSOR DE MOVIMIENTO .......................................................................................................................... 7
1.9 SENSOR DE SONIDO .................................................................................................................................... 7
2. SENSOR DE PROXIMIDAD CON SERVOMOTOR ..................................................................................................... 8
2.1 DIAGRAMA DEL CIRCUITO .......................................................................................................................... 8
2.2 CODIGO FUENTE ......................................................................................................................................... 9
2.3 VIDEO TUTORIAL ....................................................................................................................................... 10
3. SENSOR DE LUZ CON SERVOMOTOR .................................................................................................................. 11
3.1 DIAGRAMA DEL CIRCUITO ........................................................................................................................ 11
3.2 CODIGO ARDUINO .................................................................................................................................... 11
3.3 VIDEO TUTORIAL ....................................................................................................................................... 12
4. SENSOR DE GAS CON SERVOMOTOR.................................................................................................................. 13
4.1 VIDEO TUTORIAL ....................................................................................................................................... 13
4.2 CODIGO FUENTE ....................................................................................................................................... 13
4.3 VIDEO TUTORIAL ....................................................................................................................................... 14
5. SENSOR DE TEMPERATURA CON SERVOMOTOR................................................................................................ 15
5.1 DIAGRAMA DEL CIRCUITO ........................................................................................................................ 15
5.2 CODIGO FUENTE ....................................................................................................................................... 15
5.3 VIDEO TUTORIAL ....................................................................................................................................... 17
6. SENSOR DE HUMEDAD CON SERVOMOTOR ....................................................................................................... 17
6.1 DIAGRAMA DEL CIRCUITO ........................................................................................................................ 17
6.2 CODIGO FUENTE ....................................................................................................................................... 17
6.3 VIDEO TUTORIAL ....................................................................................................................................... 19
7. SENSOR DE MOVIMIENTO CON SERVOMOTOR.................................................................................................. 19
7.1 DIAGRAMA DEL CIRCUITO ........................................................................................................................ 19
7.2 CODIGO FUENTE ....................................................................................................................................... 20
7.3 VIDEO TUTORIAL ....................................................................................................................................... 21
8. SENSOR DE SONIDO CON SERVOMOTOR ........................................................................................................... 21
8.1 DIAGRAMA DEL CIRCUITO ........................................................................................................................ 21
8.2 CODIGO FUENTE ....................................................................................................................................... 21
8.3 VIDEO TUTORIAL ....................................................................................................................................... 22

2
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

1. COMPONENTES
1.1 ARDUINO
Es una plataforma de hardware libre, basada en una placa con un
microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la
electrónica en proyectos multidisciplinares. El hardware de Arduino es
básicamente una placa con un microcontrolador. Un microcontrolador (abreviado
µC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las
órdenes grabadas en su memoria. Está compuesto de varios bloques
funcionales, los cuales cumplen una tarea específica.

Un microcontrolador incluye en su interior las tres principales unidades


funcionales de una computadora: unidad central de procesamiento, memoria y
periféricos de entrada/salida. Las shields se pueden comunicar con el arduino
bien por algunos de los pines digitales o analógicos o bien por algún bus como
el SPI, I2C o puerto serie, así como usar algunos pines como interrupción.

Además, estas shields se alimentan generalmente a través del Arduino mediante


los pines de 5V y GND. Cada Shield de Arduino debe tener el mismo factor de
forma que el estándar de Arduino con un espaciado de pines concreto para que
solo haya una forma posible de encajarlo.

1.2 SERVOMOTOR
Es un motor eléctrico, pero con dos características especiales. Por un lado, nos
permite mantener una posición que indiquemos, siempre que esté dentro del
rango de operación del propio dispositivo. Por otro lado, nos permite controlar la
velocidad de giro, podemos hacer que antes de que se mueva a la siguiente
posición espere un tiempo.

El ejemplo más típico es un coche teledirigido, esos que utilizan los niños y no
tan niños. Estos juguetes suelen tener un mando a distancia donde podemos
controlar la velocidad y el giro del coche. Precisamente el giro se suele hacer
con un servomotor donde indicamos, en cada momento, la posición o el ángulo
de giro que queremos que tenga en un preciso momento. Cosas a tener en
cuenta con este dispositivo. Lo primero, el ángulo de giro, en este caso nos
permite hacer un barrido entre -90º y 90º. Lo que viene a ser un ángulo de giro

3
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

de 180º. Tiene una precisión de un grado, es decir, podemos mover de grado en


grado. Estos motores funcionan con una señal PWM, con un pulso de trabajo
entre 1 ms y 2 ms y con un periodo de 20 ms (50 Hz).

1.3 SENSOR DE PROXIMIDAD


El HC-SR04 es un sensor de distancias por ultrasonidos capaz de detectar
objetos y calcular la distancia a la que se encuentra en un rango de 2 a 450 cm.
El sensor funciona por ultrasonidos y contiene toda la electrónica encargada de
hacer la medición.

Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del
pulso de retorno. De muy pequeño tamaño, el HC-SR04 se destaca por su bajo
consumo, gran precisión y bajo precio por lo que está reemplazando a los
sensores polaroid en los robots más recientes. De fácil uso y programación con
las placas de Arduino y microcontroladores.

Características
• Dimensiones del circuito: 43 x 20 x 17 mm
• Tensión de alimentación: 5 Vcc
• Frecuencia de trabajo: 40 KHz
• Rango máximo: 4.5 m
• Rango mínimo: 1.7 cm
• Duración mínima del pulso de disparo (nivel TTL): 10 µS.
• Duración del pulso eco de salida (nivel TTL): 100-25000 µS.
• Tiempo mínimo de espera entre una medida y el inicio de otra 20 mS.

4
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

Pines de conexión:
• VCC
• Trig (Disparo del ultrasonido)
• Echo (Recepción del ultrasonido)
• GND

1.4 SENSOR DE LUZ


Un sensor de luz detecta la iluminancia. Miden la cantidad de luz que llega a una
célula fotoeléctrica (básicamente una resistencia). La resistencia es baja con luz
y alta con oscuridad. Es decir, Un Sensor fotoeléctrico es un dispositivo
electrónico que responde al cambio en la intensidad de la luz.

Estos sensores requieren de un componente emisor que genera la luz, y un


componente receptor que “ve” la luz generada por el emisor. Están diseñados
especialmente para la detección, clasificación y posicionado de objetos; la
detección de formas, colores y diferencias de superficie, incluso bajo condiciones
ambientales extremas.

1.5 SENSOR DE TEMPERATURA


Los sensores de temperatura son dispositivos que transforman los cambios de
temperatura en cambios en señales eléctricas que son procesados por equipo
eléctrico o electrónico. Hay tres tipos de sensores de temperatura, los
termistores, los RTD y los termopares.

El sensor de temperatura típicamente suele estar formado por el elemento


sensor, de cualquiera de los tipos anteriores, la vaina que lo envuelve y que está
rellena de un material muy conductor de la temperatura, para que los cambios
se transmitan rápidamente al elemento sensor y del cable al que se conectarán
el equipo electrónico.

El LM35 es un sensor de temperatura digital. A diferencia de otros dispositivos


como los termistores en los que la medición de temperatura se obtiene de la
medición de su resistencia eléctrica, el LM35 es un integrado con su propio
circuito de control, que proporciona una salida de voltaje proporcional a la
temperatura.

Con respecto a la medición de temperatura, este sensor podrá ser capaz de


detectar desde bajas temperaturas hasta una máxima de 100 °C, en este sentido
podremos diferenciar con la posición de algunos leds.

5
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

La salida del LM35 es lineal con la temperatura, incrementando el valor a razón


de 10mV por cada grado centígrado. El rango de medición es de 55ºC (-550mV)
A 150ºC (1500mV). Su precisión a temperatura ambiente es de 0,5ºC.

1.6 SENSOR DE HUMEDAD


El DHT11 permite realizar la medición simultánea de temperatura y humedad.
Este sensor dispone de un procesador interno que realiza el proceso de
medición, proporcionando la medición mediante una señal digital, por lo que
resulta muy sencillo obtener la medición desde un microprocesador como
Arduino.

Las características del DHT11 son realmente escasas, especialmente en rango


de medición y precisión.

• Medición de temperatura entre 0 a 50, con una precisión de 2ºC


• Medición de humedad entre 20 a 80%, con precisión del 5%.
• Frecuencia de muestreo de 1 muestras por segundo (1 Hz)

El DHT11 es un sensor muy limitado que podemos usar con fines de formación,
pruebas, o en proyectos que realmente no requieran una medición precisa.

1.7 SENSOR DE GAS


El sensor de gas analógico (MQ2) es adecuado para la detección de gas LP, i-
butano, propano, metano, alcohol, hidrógeno, tiene una alta sensibilidad, un
tiempo de respuesta rápido y dicha sensibilidad puede ser ajustada por el
potenciómetro.

Este pequeño sensor de gas detecta la presencia de gas combustible humo en


concentraciones de 300 a 10.000 ppm. Incorpora una sencilla interfaz de tensión
6
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

analógica que únicamente requiere un pin de entrada analógica del


microcontrolador. Con la conexión de cinco voltios en los pines el sensor se
mantiene lo suficientemente caliente para que funcione correctamente. Solo
tiene que conectar 5V a cualquiera de los pines (A o B) para que el sensor emita
tensión. La sensibilidad del detector se ajusta con una carga resistiva entre los
pines de salida y tierra.

1.8 SENSOR DE MOVIMIENTO


Sensor PIR HC-SR501, este sensor detecta movimiento por cambios en el
infrarrojo. Es el sensor habitual para detectar intrusiones en áreas cerradas o
para encender la luz al pasar sin necesidad de interruptor. Puede manejar
directamente un pequeño relé sin necesidad de micro controlador o leerse desde
un Arduino o similar para formar una red de sensores múltiples.

Sencillo y resistente detecta el movimiento hasta unos 5 o 6 metros de distancia

1.9 SENSOR DE SONIDO


Éste módulo permite la conexión de un micrófono Electret a los pines digitales
de un microcontrolador. El nivel de detección acústico puede ser ajustado
mediante un potenciómetro para sensar la intensidad del sonido.

El módulo cuenta con ganancia ajustable para el micrófono con el fin de obtener
una mejor lectura, además cuenta con tres pines para conectarlo fácilmente a un
Arduino, Microcontrolador o cualquier tarjeta de desarrollo

7
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

Características:

• Este sensor detecta la intensidad del sonido de un ambiente (basado en


vibraciones) NO reconoce voz o frecuencias especificas
• Posee un potenciometro para ajustar la sensibilidad
• Voltaje de operación: 3.3VDC a 5VDC
• Una vez calibrado el potenciometro:
o Voltaje de salida (detección): igual o menor a 3.5VDC
o Voltaje de salida (no deteccion): igual o mayor a 3.75VDC
• Tiempo de duración (activación): <250mS
• Dimensiones: 3.2cm x 1.7cm
• Posee 3 pines: VCC (+), GND (-), OUT
• Usado en aplicaciones para detectar aplausos o sonidos estridentes

2. SENSOR DE PROXIMIDAD CON SERVOMOTOR


2.1 DIAGRAMA DEL CIRCUITO

8
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

2.2 CODIGO FUENTE


#include <Servo.h>

Servo servoInstance;

// Define los pines Tirg y Echo del sensor ultrasónico


const int trigPin = 5;
const int echoPin = 4;

// Variables para la duración y la distancia


long duration;
int distance;

Servo myServo; // Crea un objeto servo para controlar el servomotor

int ang;

void setup() {

pinMode(6,OUTPUT);//Rojo
pinMode(7,OUTPUT);//Amarillo
pinMode(8,OUTPUT);//Verde

pinMode(trigPin, OUTPUT); // Establece el trigPin como salida


pinMode(echoPin, INPUT); // Establece el echoPin como entrada

servoInstance.attach(3);
Serial.begin(9600);
}

// Función para calcular la distancia medida por el sensor ultrasónico


int calculateDistance(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Establece el trigPin en estado ALTO durante 10 micro segundos
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // Lee el echoPin, devuelve el
tiempo de viaje de la onda de sonido en microsegundos
distance= duration*0.034/2;
return distance;
}

void loop() {
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang = 180;
servoInstance.write(ang);

distance = calculateDistance();// Llama a una función para calcular


la distancia medida por el sensor ultrasónico para cada grado
//Serial.println(ang);
Serial.print("Distancia = ");
Serial.println(distance);

/*

9
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

* Cuando la distancia calculada por el sensor ultrasonico es


menor o igual a 10cm,
* el led rojo se enciende y el servo motor hace una trayectoria
de 90 en sentido horario
*/
if(distance>7){
servoInstance.write(90);
for(int i=90;i>=0;i--){
delay(100);
servoInstance.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Distancia = ");
Serial.println(distance);

}
/*
* Cuando la distancia calculada por el sensor ultrasonico se
encuentra en el rango de 10-50cm
* el led Amarillo se enciende por un lapsop de 2s y el servo
motor gira a un angulo de 60°
* y espera el calculo de una nueva distancia.
*/
}
if((distance>5)&&(distance<=7)){
servoInstance.write(60);
digitalWrite(7,HIGH);
delay(5000);
digitalWrite(7,HIGH);//Amarillo
Serial.print("Angulo ");
Serial.print("Distancia = ");
Serial.println(distance);

}
/*
* Cuando la distancia calculada por el sensor ultrasonico es
mayor a 50cm
* el led Verde se enciende y el servo motor gira en sentido
antihorario hasta llegar a 180°.
*/
if(distance<=5){
servoInstance.write(120);
for(int i=120;i<=180;i++){
servoInstance.write(i);
delay(100);
digitalWrite(8,HIGH);//VERDE
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Distancia = ");
Serial.println(distance);

}
}

delay(1000);
}
2.3 VIDEO TUTORIAL
https://www.youtube.com/watch?v=9L7EQg3pvg8&feature=youtu.be

10
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

3. SENSOR DE LUZ CON SERVOMOTOR


3.1 DIAGRAMA DEL CIRCUITO

3.2 CODIGO ARDUINO


#include <Servo.h>
Servo servoMotor;
Servo servoInstance;
int ang;
void setup()
{
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
analogRead(0);
//Configurar el puerto serial
Serial.begin(9600);
// Iniciamos el servo para que empiece a trabajar con el pin 3
servoMotor.attach(3);
}
// the loop function runs over and over again forever
void loop()
{
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang = 45;
servoInstance.write(ang);
int valorLDR = analogRead(0); //Capoturando el valor de Luz

Serial.print(" Intensidad de Luz = ");


Serial.println(valorLDR);

/*
* Cuando la intesidad calculada por el sensor de luz es menor o
igual a 450,

11
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

* el led rojo se enciende y el servo motor hace una trayectoria


de 90 en sentido antirorario
*/
if(valorLDR<=450){
servoMotor.write(90);
for(int i=90;i>=0;i--){
servoMotor.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Intensidad de Luz = ");
Serial.print(valorLDR);
Serial.println("LED ROJO PRENDIDO");
delay(100);

}
}

if((valorLDR>450)&&(valorLDR<=700)){
servoMotor.write(60);
digitalWrite(7,HIGH);//Amarillo
Serial.print("Angulo ");
Serial.print("Intensidad de Luz = ");
Serial.print(valorLDR);
Serial.println("LED AMARILLO PRENDIDO");
delay(100);

if(valorLDR>700){
servoMotor.write(120);
for(int i=120;i<=180;i++)
{
servoMotor.write(i);
digitalWrite(8,HIGH);//VERDE
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Intensidad de Luz = ");
Serial.print(valorLDR);
Serial.println("LED VERDE PRENDIDO");
delay(100);

}
}
}

3.3 VIDEO TUTORIAL


https://www.youtube.com/watch?v=lm8Pm_FVjjM

12
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

4. SENSOR DE GAS CON SERVOMOTOR


4.1 VIDEO TUTORIAL

4.2 CODIGO FUENTE


#include <Servo.h>
Servo servoMotor;
Servo servoInstance;
int ang;
void setup()
{
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
analogRead(0);
//Configurar el puerto serial
Serial.begin(9600);
// Iniciamos el servo para que empiece a trabajar con el pin 3
servoMotor.attach(3);
}
// the loop function runs over and over again forever
void loop()
{
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang = 45;
servoInstance.write(ang);
int ValorGas = analogRead(1); //Capoturando el valor de Luz

Serial.print(" Valor del Gas = ");


Serial.println(ValorGas);
delay(5000);

/*
* Cuando la intesidad calculada por el sensor de luz es menor o
igual a 450,

13
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

* el led rojo se enciende y el servo motor hace una trayectoria


de 90 en sentido antirorario
*/
if(ValorGas<=70){
servoMotor.write(90);
for(int i=90;i>=0;i--){
servoMotor.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Intensidad de Gas = ");
Serial.print(ValorGas);
Serial.println("LED ROJO PRENDIDO");
delay(100);

}
}

if((ValorGas>70)&&(ValorGas<=90)){
servoMotor.write(60);
digitalWrite(7,HIGH);//Amarillo
delay(5000);
Serial.print("Angulo ");
Serial.print("Intensidad de Gas = ");
Serial.print(ValorGas);
Serial.println("LED AMARILLO PRENDIDO");
delay(5000);

if(ValorGas>90){
servoMotor.write(120);
for(int i=120;i<=180;i++)
{
servoMotor.write(i);
digitalWrite(8,HIGH);//VERDE
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Intensidad de Gas = ");
Serial.print(ValorGas);
Serial.println("LED VERDE PRENDIDO");
delay(100);

}
}

4.3 VIDEO TUTORIAL


https://www.youtube.com/watch?v=9e4A4yrYc1w

14
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

5. SENSOR DE TEMPERATURA CON SERVOMOTOR


5.1 DIAGRAMA DEL CIRCUITO

5.2 CODIGO FUENTE


#include <DHT11.h>
#include <Servo.h>
Servo servoMotor;
Servo servoInstance;

int pin=9; //Seleccionamos el pin en el que se //conectará el sensor


DHT11 dht11(pin); //Se selecciona el DHT11 (hay //otros DHT)

int ang;

void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);

Serial.begin(9600); //Se inicia la comunicación serial

// Iniciamos el servo para que empiece a trabajar con el pin 3


servoMotor.attach(3);
}
void loop() {
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang = 90;
servoInstance.write(ang);
delay(5000);

float temp, hum;


int err;

15
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

if((err=dht11.read(hum, temp))==0)
{
Serial.print("Temperatura Leida = ");
Serial.println(temp);
}
else
{
Serial.println();
Serial.print("Error Num :");
Serial.print(err);
Serial.println();
}
/*
* Cuando la temperatura calculada por el sensor es mayor a 22
grados centigrados,
* el led rojo se enciende y el servo motor hace una trayectoria
de 90 en sentido horario
*/
if(temp>22){
servoMotor.write(90);
for(int i=90;i>=0;i--){
servoMotor.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Temperatura = ");
Serial.print(temp);
Serial.println("LED ROJO PRENDIDO");
delay(100);

}
}
/*
* Cuando la temperatura calculada por el sensor esta en el
rango de 20 y 22 grados centigrados,
* el led AMARILLO se enciende y el servo motor se detiene en un
angulo de 60 grados
*/
if((temp>=20)&&(temp<=22)){
servoMotor.write(60);
digitalWrite(7,HIGH);//Amarillo
delay(5000);
Serial.print("Angulo ");
Serial.print("Temperatura Ambiente = ");
Serial.print(temp);
Serial.println("LED AMARILLO PRENDIDO");
delay(5000);

}
/*
* Cuando la temperatura calculada por el sensor es menor a 20
grados centigrados,
* el led verde se enciende y el servo motor hace una trayectoria
de 90 en sentido antihoratio
*/
if(temp<20){
servoMotor.write(120);
for(int i=120;i<=180;i++)
{
servoMotor.write(i);
digitalWrite(8,HIGH);//VERDE

16
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

Serial.print("Angulo ");
Serial.println(i);
Serial.print("Temperatura = ");
Serial.print(temp);
Serial.println("LED VERDE PRENDIDO");
delay(100);

}
}

5.3 VIDEO TUTORIAL


https://www.youtube.com/watch?v=5qQnPMUAHfo

6. SENSOR DE HUMEDAD CON SERVOMOTOR


6.1 DIAGRAMA DEL CIRCUITO

6.2 CODIGO FUENTE


#include <DHT11.h>
#include <Servo.h>
Servo servoMotor;
Servo servoInstance;

int pin=9; //Seleccionamos el pin en el que se //conectará el sensor


DHT11 dht11(pin); //Se selecciona el DHT11 (hay //otros DHT)

int ang;

void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);

17
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

pinMode(8,OUTPUT);

Serial.begin(9600); //Se inicia la comunicación serial

// Iniciamos el servo para que empiece a trabajar con el pin 3


servoMotor.attach(3);
}
void loop() {
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang = 90;
servoInstance.write(ang);
delay(5000);

float temp, humedad;


int err;
if((err=dht11.read(humedad, temp))==0)
{
Serial.print("Humedad Leida = ");
Serial.println(humedad);
}
else
{
Serial.println();
Serial.print("Error Num :");
Serial.print(err);
Serial.println();
}
/*
* Cuando la temperatura calculada por el sensor es mayor a 22
grados centigrados,
* el led rojo se enciende y el servo motor hace una trayectoria
de 90 en sentido horario
*/
if(humedad>22){
servoMotor.write(90);
for(int i=90;i>=0;i--){
servoMotor.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Humedad = ");
Serial.print(humedad);
Serial.println("LED ROJO PRENDIDO");
delay(100);

}
}
/*
* Cuando la temperatura calculada por el sensor esta en el
rango de 20 y 22 grados centigrados,
* el led AMARILLO se enciende y el servo motor se detiene en un
angulo de 60 grados
*/
if((humedad>=20)&&(humedad<=22)){
servoMotor.write(60);
digitalWrite(7,HIGH);//Amarillo

18
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

delay(5000);
Serial.print("Angulo ");
Serial.print("Humedad = ");
Serial.print(humedad);
Serial.println("LED AMARILLO PRENDIDO");
delay(5000);

}
/*
* Cuando la temperatura calculada por el sensor es menor a 20
grados centigrados,
* el led verde se enciende y el servo motor hace una trayectoria
de 90 en sentido antihoratio
*/
if(humedad<20){
servoMotor.write(120);
for(int i=120;i<=180;i++)
{
servoMotor.write(i);
digitalWrite(8,HIGH);//VERDE
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Humedad = ");
Serial.print(humedad);
Serial.println("LED VERDE PRENDIDO");
delay(100);

}
}

6.3 VIDEO TUTORIAL


https://www.youtube.com/watch?v=fABZ7bRxZXs

7. SENSOR DE MOVIMIENTO CON SERVOMOTOR


7.1 DIAGRAMA DEL CIRCUITO

19
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

7.2 CODIGO FUENTE


#include <Servo.h>
Servo servoMotor;
Servo servoInstance;
int ang;
byte SensorMovimiento = 11;
byte led =13;

void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);

//Configurar el puerto serial


Serial.begin(9600);
// Iniciamos el servo para que empiece a trabajar con el pin 3
servoMotor.attach(3);
}

void loop() {

digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang=90;
servoInstance.write(ang);
if(digitalRead(SensorMovimiento)==HIGH){
Serial.println("Detectando movimiento por el sensor");
servoMotor.write(90);
for(int i=90;i>=0;i--){
servoMotor.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.println("LED ROJO PRENDIDO");
delay(100);
}
}
else{
//Si el sensor no detecta movimiento
Serial.println("No se detecto movimiento por el sensor");
servoMotor.write(90);
for(int i=90;i<=180;i++){
servoMotor.write(i);
digitalWrite(8,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print(" LED VERDE PRENDIDO PORQUE ");
Serial.println("No se detecto movimiento por el sensor");
delay(100);
}

20
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

7.3 VIDEO TUTORIAL


https://www.youtube.com/watch?v=9L7EQg3pvg8&feature=youtu.be

8. SENSOR DE SONIDO CON SERVOMOTOR


8.1 DIAGRAMA DEL CIRCUITO

8.2 CODIGO FUENTE


#include <Servo.h>
Servo servoMotor;
Servo servoInstance;
int ang;

void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
analogRead(10);
servoMotor.attach(3);
Serial.begin(9600); //Se inicia la comunicación serial
}
void loop()
{
/* Inicializando leds*/
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE

delay(2000);
int Sonido = analogRead(10);
ang = 45;
servoInstance.write(ang);

21
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES

Serial.print(" Valor del Sonido = ");


Serial.println(Sonido);
delay(2000);

/*
* Cuando la intesidad calculada por el sensor de luz es menor o
igual a 450,
* el led rojo se enciende y el servo motor hace una trayectoria
de 90 en sentido antirorario
*/
if(Sonido<=400){
servoMotor.write(90);
for(int i=90;i>=0;i--){
servoMotor.write(i);
digitalWrite(6,HIGH);//ROJO
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Intensidad de Sonido = ");
Serial.print(Sonido);
Serial.println(" LED ROJO PRENDIDO");
delay(100);

}
}

if((Sonido>400)&&(Sonido<=450)){
servoMotor.write(60);
digitalWrite(7,HIGH);//Amarillo
delay(1000);
Serial.print("Angulo ");
Serial.print("Intensidad de Sonido = ");
Serial.print(Sonido);
Serial.println(" LED AMARILLO PRENDIDO");
delay(5000);
}

if(Sonido>450){
servoMotor.write(120);
for(int i=120;i<=180;i++)
{
servoMotor.write(i);
digitalWrite(8,HIGH);//VERDE
Serial.print("Angulo ");
Serial.println(i);
Serial.print("Intensidad de Sonido = ");
Serial.print(Sonido);
Serial.println(" LED VERDE PRENDIDO");
delay(100);

}
}

}
8.3 VIDEO TUTORIAL
https://www.youtube.com/watch?v=lm8Pm_FVjjM

22

Vous aimerez peut-être aussi