Académique Documents
Professionnel Documents
Culture Documents
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”
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.
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
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
5
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
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.
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:
8
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
Servo servoInstance;
int ang;
void setup() {
pinMode(6,OUTPUT);//Rojo
pinMode(7,OUTPUT);//Amarillo
pinMode(8,OUTPUT);//Verde
servoInstance.attach(3);
Serial.begin(9600);
}
void loop() {
digitalWrite(6,LOW);//ROJO
digitalWrite(7,LOW);//AMARILLO
digitalWrite(8,LOW);//VERDE
ang = 180;
servoInstance.write(ang);
/*
9
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
}
/*
* 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
/*
* 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
}
}
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);
}
}
}
12
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
/*
* 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
}
}
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);
}
}
14
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
int ang;
void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
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);
}
}
int ang;
void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
17
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
pinMode(8,OUTPUT);
}
}
/*
* 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);
}
}
19
INFORME DE LABORATORIO N° 01 – CONTROL DE SENSORES Y MOTORES
void setup() {
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
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
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
/*
* 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