30
Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA © Álvaro Salas Alumno:

Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

  • Upload
    others

  • View
    13

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Dpto. Tecnología - Colegio Colón

AULA DE TECNOLOGÍA

© Álvaro Salas

Alumno:

Page 2: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 1

ÍNDICE DE PRÁCTICAS PRIMERA PARTE

Practica 01. Led intermitente.

Practica 01. Variante: Encender un LED cambiando su intensidad usando PWM.

Practica 02. Led con pulsador.

Practica 03. Secuencia básica de tres LEDS (Semáforo).

Practica 03. Variante: Coche fantástico

Practica 04. LED con Potenciómetro.

Practica 05. Cambiar la posición de un servo motor mediante el paquete Servo.h

Practica 05. Variante: Motor Servo con barrido de 0º a 180º

Practica 06. Buzzer o zumbadores.

Practica 06. Variante: Con tonos de frecuencia.

ÍNDICE DE PRÁCTICAS SEGUNDA PARTE - DOMÓTICA

Casa domótica utilizando los siguientes sensores:

Practica 07. Control LDR Fotorresistencias. Luces exteriores. Luces interiores

Practica 08. Sensor de temperatura y humedad DHT11. Sensor Termistor.

Practica 09. Motor corriente continua DC.

Practica 09B. Control del aire acondicionado por el sensor de temperatura.

Practica 10. Sensor de ultrasonidos. Uso de la barrera del garaje

Page 3: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 2

Practica 01. Led intermitente

Se trata de realizar un ejercicio básico que consiste en encender y apagar un led que conectamos en el PIN 13 de Arduino que lo configuramos como salida. El tiempo de encendido y apagado es de 1 segundo.

Obsérvese que se ha colocado el diodo led en el PIN 13 con una resistencia entre 220 y 500 ohmios dependiendo del consumo de corriente del diodo. Utilizaremos la resistencia de 220 Ω o 330 Ω

Page 4: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 3

Código de programación

int led = 13; // define la variable led y le asigna el valor 13

void setup() // configuración

pinMode(led, OUTPUT); // declaramos la patilla 13 como SALIDA

void loop() // bucle de funcionamiento

digitalWrite(led, HIGH); // activa el LED

delay(1000); // espera 1000 ms. = 1 sg. (tiempo encendido)

digitalWrite(led, LOW); // desactiva el LED

delay(1000); // espera 1000 ms. = 1 sg. (tiempo apagado)

Variante: Encender un LED y cambiarle su intensidad usando PWM

Encender un LED y variar su intensidad mediante señales de modulación de ancho de pulsos (Pulse-Width Modulation PWM).

Un dato importante es ¿Por qué vamos a elegir como entrada el pin 9 y no el pin 13?, se eligió el pin 9 ya que en la tarjeta Arduino al lado del pin hay un símbolo (~), los puertos o pines así indicados permiten enviar señal modulada, es decir, los pines que no tienen ese emblema solo mandan señales de 0 y 1; como la práctica se pretende que cambie la intensidad del LED y es necesario emular una señal analógica a partir de una señal digital (PWM), por ello se utiliza el pin 9.

const int led=9; // define la variable led y le asigna el valor 9

int i; // define la variable i como un entero

void setup()

pinMode(led,OUTPUT); // declaramos la patilla 9 como SALIDA

void loop()

for (i=0;i<=255; i++) // ciclo for ( de 0 a 255 e incremento de 1)

analogWrite(led, i); // enciende el led con intensidad i

delay(5);

for (i=255;i>=0; i--) // ciclo for ( de 255 a 0 y disminución de 1)

analogWrite(led, i); // enciende el led con intensidad i

delay(5);

Page 5: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 4

Practica 02. Led con Pulsador

Se trata de realizar un ejercicio básico que consiste en encender y apagar un led que conectamos en el PIN 13 de Arduino que lo configuramos como salida a través de un Pulsador. Utilizaremos una resistencia de 330 Ω para el Led y otra de 10K para el pulsador.

Page 6: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 5

Código de programación

int led = 13; // pin para el led

int boton = 7; // pin para el botón (pulsador)

int valor; // variable para leer el pulsador

void setup()

pinMode(led, OUTPUT); // declara led como SALIDA

pinMode(boton, INPUT); // declara botón como ENTRADA

void loop()

valor = digitalRead(boton); // lee valor de entrada del pulsador

if (valor == HIGH) // detecta si el valor leído es “HIGH” (botón presionado)

digitalWrite(led, HIGH); // pone el LED en ON

else // en caso contrario

digitalWrite(led, LOW); // pone el LED en OFF

Page 7: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 6

Practica 03. Secuencia básica de tres LEDS (Semáforo)

Se trata de realizar un ejercicio básico que consiste en encender y apagar cada uno de los leds conectados configurados como salida. Encendiendo y apagando 3 LEDs colocados en las salidas digitales 2, 4 y 6 (PIN2, PIN4 yPIN6) con una cadencia de 2000 ms encendido y 200 ms de apagado. Las variables asignadas a cada led son verde, amarillo, rojo. Utilizaremos tres resistencias de 220 Ω o 330 Ω.

Fíjate que ahora solamente utilizamos una conexión con la placa a GND o tierra.

Page 8: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 7

Código de programación

int verde=2; // define la variable verde y le asigna el valor 2

int amarillo=4; // define la variable verde y le asigna el valor 4

int rojo=6; // define la variable verde y le asigna el valor 6

void setup()

pinMode (verde,OUTPUT); // declara los pines 2,4,6 como salidas

pinMode (amarillo,OUTPUT);

pinMode (rojo,OUTPUT);

void loop()

digitalWrite(verde,HIGH); // enciende el led verde

delay(2000); // espera 2 segundos

digitalWrite(verde,LOW); // apaga el led verde

delay(200); // espera 0,2 segundos

digitalWrite(amarillo,HIGH);

delay(2000);

digitalWrite(amarillo,LOW);

delay(200);

digitalWrite(rojo,HIGH);

delay(2000);

digitalWrite(rojo,LOW);

delay(200);

Page 9: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 8

Variante: Coche fantástico

Programa que enciende secuencialmente una barra de 6 leds imitando las luces que lucía el coche fantástico en su parrilla.

Los 6 leds deberán encenderse uno a uno de izquierda a derecha, y luego de derecha a izquierda, sucesivamente.

Page 10: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 9

Código de programación

// Coche fantástico

int pin2 = 2;

int pin3 = 3;

int pin4 = 4;

int pin5 = 5;

int pin6 = 6;

int pin7 = 7;

int espera = 70; // El tiempo de espera

void setup()

pinMode(pin2, OUTPUT); // Configuración de los PIN como salida

pinMode(pin3, OUTPUT);

pinMode(pin4, OUTPUT);

pinMode(pin5, OUTPUT);

pinMode(pin6, OUTPUT);

pinMode(pin7, OUTPUT);

void loop()

digitalWrite(pin2, HIGH); // Enciende y apaga secuencialmente los LEDs

delay(espera);

digitalWrite(pin2, LOW);

delay(espera);

digitalWrite(pin3, HIGH);

delay(espera);

digitalWrite(pin3, LOW);

delay(espera);

……… // hasta el pin 7

………

digitalWrite(pin7, HIGH);

delay(espera);

digitalWrite(pin7, LOW);

delay(espera);

digitalWrite(pin6, HIGH);

delay(espera);

digitalWrite(pin6, LOW);

delay(espera);

……… // hasta el pin 2

………

Page 11: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 10

Código de programación (Variante con ciclo for)

// Variante coche fantástico

int tiempo=70;

int n;

void setup()

// Ciclo for para declarar los

for(n=2; n<=7; n++) // pines 2,3,4,5,6,7 como salidas

pinMode (n,OUTPUT);

void loop()

for(n=2; n<=7; n++) // Ciclo for para realizar la secuencia ascendente

// desde n=2 hasta n=7. El valor de n aumenta

digitalWrite(n,HIGH);

delay(tiempo);

digitalWrite(n,LOW);

delay(tiempo);

for(n=7; n>=2; n--) // Ciclo for para realizar la secuencia descendente

// desde n=7 hasta n=2. El valor de n disminuye

digitalWrite(n,HIGH);

delay(tiempo);

digitalWrite(n,LOW);

delay(tiempo);

Page 12: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 11

Practica 04. LED con Potenciómetro

El potenciómetro es un dispositivo electromecánico que consta de una resistencia de valor fijo sobre la que se desplaza un contacto deslizante, el cursor, que la divide eléctricamente. Mostrar el valor de la tensión medida por el puerto serie (monitor).

Se conectan tres cables a la tarjeta Arduino. El primero va a tierra desde el terminal 1 del potenciómetro. El terminal 3 va a la salida de 5 voltios. El terminal 2 va desde la entrada analógica #0 hasta el terminal interno del potenciómetro. Utilizaremos una resistencia de 330 Ω

Girando el dial o ajustando el potenciómetro, cambiamos el valor de la resistencia variable. Esto produce oscilaciones dentro del rango de 5 y 0 voltios, que son capturados por la entrada analógica.

Page 13: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 12

A → Voltaje A → Voltaje

B → Salida B → Salida

C → Tierra C → Tierra

Código de programación

const int led =10; // led conectado al pin 3

const int pot =A0; // el pot (potenciómetro) está conectado al

pin analógico A0

int brillo; // variable para el brillo

void setup ()

pinMode (led, OUTPUT); // declaramos el led como salida

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

// escribimos por el monitor serie mensaje de inicio

Serial.println("Valores de potenciómetro");

void loop ()

brillo = analogRead (pot) / 4; // leemos el valor del potenciómetro divididos entre 4 ya que sólo se pueden usar valores entre 0 y 255 en analogWrite

analogWrite(led, brillo); // analogWrite recibe dos valores, el pin a usar y la intensidad del voltaje los valores de voltaje van de 0 a 255

Serial.println(brillo); // escribimos por el monitor serie mensaje de inicio

Page 14: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 13

Practica 05. Cambiar la posición de un servo motor mediante el paquete Servo.h

Controlar la posición o velocidad de Servo Motor que gire en un sentido se detenga y luego gire al otro sentido mediante el paquete <Servo.h>

La aplicación principal que tiene esta práctica es controlar la velocidad o posición en el giro de algún objeto que esté acoplado al servomotor, como, por ejemplo, la dirección de las ruedas, el giro de un brazo robótico. Normalmente los servos están construidos para girar en un ángulo de 0 a 180 grados y en ambos sentidos. También hay los que tienen giro continuo, en los que se puede controlar la posición, pero si la velocidad.

Page 15: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 14

Código de programación

#include <Servo.h> // Incluimos la librería para poder controlar el servo

Servo servoMotor; // Declaramos la variable para controlar el servo

// y la llamamos servoMotor

void setup()

Serial.begin(9600); // Iniciamos el monitor serie para mostrar el resultado

servoMotor.attach(5); // Iniciamos el servo en el pin 5

void loop()

servoMotor.write(0); // Desplazamos a la posición 0º

delay(1000); // Esperamos 1 segundo

servoMotor.write(90); // Desplazamos a la posición 90º

delay(1000); // Esperamos 1 segundo

servoMotor.write(180); // Desplazamos a la posición 180º

delay(1000); // Esperamos 1 segundo

servoMotor.write(90); // Desplazamos a la posición 90º

delay(1000); // Esperamos 1 segundo

Variante: Motor Servo con barrido de 0º a 180º

#include <Servo.h> // Incluimos la librería para poder controlar el servo

Servo servoMotor; // Declaramos la variable para controlar el servo

void setup()

Serial.begin(9600); // Iniciamos el monitor serie para mostrar el resultado

servoMotor.attach(5); // Iniciamos el servo en el pin 5

void loop()

servoMotor.write(0); // Desplazamos a la posición 0º

for (int i=0; i<=179; i++) // for de 0 a 179 con incremento de 1

servoMotor.write(i); // desplazamos a la posición nº

delay(20);

for (int i=179; i>=0; i--) // for de 179 a 0 con disminución de 1

servoMotor.write(i); // Desplazamos a la posición nº

delay(20);

delay(1000); // Esperamos 1 segundo

Page 16: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 15

Practica 06. Buzzer o zumbadores

Un buzzer o un altavoz son dispositivos que permiten convertir una señal eléctrica en una onda de sonido. Estos dispositivos no disponen de electrónica interna, por lo que tenemos que proporcionar una señal eléctrica para conseguir el sonido deseado.

Realiza varias prácticas con este tipo de dispositivos.

Page 17: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 16

Código de programación

int buzzer = 9; // declaramos buzzer con el valor 9

void setup()

pinMode(buzzer, OUTPUT); // declaramos buzzer como SALIDA

void loop()

analogWrite(buzzer, 20); // suena

delay(500); // pausa

analogWrite(buzzer, 0); // suena

delay(500); // pausa

Variante con tonos de frecuencia

int buzzer = 9; // declaramos buzzer con el valor 9

void setup()

pinMode(buzzer, OUTPUT); // declaramos buzzer como SALIDA

void loop()

tone(buzzer, 440); // tono de 440 hz

delay(500); // pausa

noTone(buzzer); // no suena

delay(500); // pausa

Práctica Opcional

Busca en internet alguna canción famosa o de alguna película que se encuentre implementado en Arduino y haz la práctica en tu circuito Arduino.

Page 18: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 17

Dpto. Tecnología

Colegio Colón

Page 19: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 18

Practica 07. Control LDR Fotorresistencias

Una fotorresistencia o LDR (Light Depending Resistor, o resistencia dependiente de la luz) es un componente foto electrónico cuya resistencia varía en función de la luz que incide en él. Esta resistencia es muy baja, de unos pocos Ωs con una luz intensa incide en él y va creciendo fuertemente a medida que esa luz decrece.

Se les suele utilizar como sensores de luz, para arrancar luces automáticamente cuando la oscuridad sobrepasa un cierto umbral, o como detectores de movimiento próximo (Cuando algo se interpone).

Page 20: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 19

Código de programación

// Sensor LDR. encendido de 2 luces //

int pinLed1 = 2; // Declaramos los pines

int pinLed2 = 3; // 2 Leds

int pinLDR = 0; // Pin LDR

int valorLDR = 0; // Valor que toma el LDR

void setup()

pinMode(pinLed1, OUTPUT); // Configuramos los led como salidas

pinMode(pinLed2, OUTPUT);

Serial.begin(9600); // Configurar el puerto serial

void loop()

digitalWrite(pinLed1, LOW); // Apagar todos los leds

digitalWrite(pinLed2, LOW);

valorLDR= analogRead(pinLDR); // Guardamos el valor leído del LDR

Serial.println(valorLDR); // Devolver el valor leído al monitor serial

if(valorLDR > 200) // si el valor del LDR es mayor de 200

digitalWrite(pinLed1, HIGH); // se enciende los 2 Leds

digitalWrite(pinLed2, HIGH);

delay(200);

Page 21: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 20

Practica 08. Sensor de Temperatura y humedad DHT11

En este tutorial vamos a aprender cómo usar un Sensor de humedad y temperatura DHT11. Es lo suficientemente exacta para la mayoría de los proyectos que necesitan hacer un seguimiento de las lecturas de humedad y temperatura. Otra vez vamos a usar una biblioteca diseñada específicamente para estos sensores que harán que nuestro código corto y fácil de escribir.

Para Sistemas SMRAZA

Para sistemas ELEGOO

OUT

VCC

GND

Page 22: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 21

Código de programación

#include <dht11.h>

int pin = 7; // Pin donde se realiza la lectura

dht11 sensor; // Variable sensor que recoge el valor de la temperatura y humedad

void setup()

Serial.begin(9600); // Comunicación a través del puerto serie

void loop()

sensor.read(pin); // Lectura de los valores del sensor en el pin 7

Serial.print("TEMP: ");

Serial.print(sensor.temperature); // Imprime la variable temperatura

Serial.print(" C");

Serial.print('\t'); // Realiza un salto de tabulación

Serial.print("HUM: ");

Serial.println(sensor.humidity); // Imprime la variable humedad

delay(1000);

Page 23: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 22

Practica 08. Sensor de Temperatura (Termistor) MF52-103

Un termistor es un sensor de temperatura por resistencia. Su funcionamiento se basa en la variación de la resistividad que presenta un semiconductor con la temperatura.

Código de programación

int sensor;

void setup()

Serial.begin (9600); // Comunicación a través del puerto serie

void loop()

int sensor = analogRead(A1);

Serial.println(sensor);

delay(500);

R=10KΩ

Page 24: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 23

Temperatura en Grados Centígrados

#include <math.h>

int termistor= A1;

void setup()

Serial.begin(9600);

void loop()

int lectura = analogRead(termistor);

double tempK = log (10000.0 * ((1024.0/lectura - 1)));

tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK)) * tempK);

float tempC = tempK - 273.15;

Serial.print("Temperatura: ");

Serial.print(tempC,1);

Serial.println();

delay(1000);

Page 25: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 24

Practica 09. Control de un Motor de corriente continua DC

Accionar un Motor de Corriente Continua a través de pin digital o un pin PWM si queremos variar la velocidad del motor.

El motor de corriente continua (denominado también motor de corriente directa, motor CC o motor DC) es una máquina que convierte la energía eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la acción que se genera internamente mediante el campo magnético.

Utilizaremos para el circuito una resistencia de 330 Ω.

El transistor es un dispositivo electrónico semiconductor utilizado para entregar una señal de salida en respuesta a una señal de entrada. Cumple funciones de amplificador, oscilador, conmutador o rectificador.

1 2 3 1 2 3

Page 26: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 25

Esquema del circuito:

Int motor = 13 ;

void setup()

pinMode(motor, OUTPUT) ;

void loop()

digitalWrite (motor, HIGH);

delay(2000);

digitalWrite (motor, LOW);

delay(2000);

Page 27: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 26

Practica 09 Bis. Control del aire acondicionado por el sensor de temperatura

Esta práctica simula el funcionamiento del aire acondicionado de una vivienda. Se basa de un termistor que lee la temperatura que hace en el ambiente. Si dicha temperatura supera los 28 grados de temperatura, los motores del aire acondicionado deberían empezar a funcionar. En el momento que la temperatura disminuye el aire acondicionado deja de funcionar.

Page 28: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 27

Código de programación

#include <math.h>

int termistor= A1;

void setup()

Serial.begin(9600);

void loop()

int lectura = analogRead(termistor);

double tempK = log (10000.0 * ((1024.0/lectura - 1)));

tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK)) * tempK);

float tempC = tempK - 273.15;

Serial.print("Temperatura: ");

Serial.print(tempC,1);

Serial.println();

delay(1000);

if (tempC > 28) // Si la temperatura tempC es > 28 grados

digitalWrite (motor, HIGH);

else

digitalWrite (motor, LOW);

Page 29: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 28

Practica 10. Sensor de Ultrasonidos – Puerta de Garage

El sensor ultrasónico es ideal para todo tipo de proyectos que necesitan medidas de distancia.

El HC-SR04 es barato y fácil de usar, pudiéndose utiliza la biblioteca diseñada específicamente para estos sensores.

Esta práctica simula la aproximación de un coche a la barrera del aparcamiento de una vivienda. Una vez que nos acercamos al sensor de ultrasonidos a una distancia de 15 cm. La barrera se abrirá.

Page 30: Dpto. Tecnología - Colegio Colón AULA DE TECNOLOGÍA€¦ · Sensor Termistor. Practica 09. Motor corriente continua DC. Practica 09B. Control del aire acondicionado por el sensor

Colegio Colón Dpto. Tecnología Prácticas Arduino

Álvaro Salas Página 29

Código de programación

#include <Servo.h> // Incluimos la librería para poder controlar el servo

Servo servoMotor; // Declaramos la variable para controlar el servo

// y la llamamos servoMotor

int PinEcho = 11; // pin Echo

int PinTriger = 12; // pin Trigger

long duracion, distancia;

void setup()

Serial.begin (9600); // inicializa el puerto serial a 9600 baudios

servoMotor.attach(5); // Iniciamos el servo en el pin 5

pinMode(PinEcho, INPUT); // define el pin 11 como entrada (echo)

pinMode(PinTriger, OUTPUT); // define el pin 12 como salida (triger)

void loop()

digitalWrite(PinTriger, LOW); // Nos aseguramos de que el trigger está desactivado

delayMicroseconds(2); // Para estar seguros de que el trigger ya está LOW

digitalWrite(PinTriger, HIGH); // Activamos el pulso de salida

delayMicroseconds(10); // Esperamos 10µs. El pulso sigue active este tiempo

digitalWrite(PinTriger, LOW); // Cortamos el pulso y a esperar el echo

servoMotor.write(0); // Desplazamos a la posición 0º

duracion = pulseIn(PinEcho, HIGH);

distancia = (duracion / 2) / 29; // cálculo de distancia

if (distancia <= 15)

Serial.print(distancia); // envía el valor de la distancia por el puerto serial

Serial.println("cm");

servoMotor.write(0); // Desplazamos a la posición 90º