Arduino - sensor de temperatura - servomotor
Este tutorial muestra cómo usar un Arduino y un sensor de temperatura DS18B20 para controlar un servomotor. Específicamente, el Arduino está programado para medir continuamente la temperatura utilizando el sensor DS18B20. El servomotor se ajusta luego de acuerdo con las siguientes reglas:
- Si la temperatura supera un umbral predeterminado, el Arduino girará el servomotor a 90 grados.
- Si la temperatura cae por debajo del umbral, el Arduino girará el servomotor de vuelta a 0 grados.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.
Acerca del servomotor y del sensor de temperatura
Si no sabes sobre el servomotor y el sensor de temperatura (disposición de pines, cómo funcionan, cómo programarlos ...), aprende sobre ellos en los siguientes tutoriales:
Diagrama de Cableado
- Diagrama de cableado con protoboard

This image is created using Fritzing. Click to enlarge image
- Diagrama de cableado con adaptador (recomendado)

This image is created using Fritzing. Click to enlarge image
Sugerimos comprar un sensor DS18B20 que viene con un adaptador de cableado para una conexión fácil. El adaptador tiene una resistencia integrada, lo que elimina la necesidad de una resistencia separada en el cableado.
Código de Arduino - Sensor de temperatura acciona el servomotor
Pasos R\u00e1pidos
- Realiza el cableado entre Arduino, el sensor de temperatura y el servomotor como en el diagrama anterior.
- Conecta Arduino al PC mediante un cable USB.
- Abre Arduino IDE, selecciona la placa y el puerto correctos.
- Navega hasta el icono Bibliotecas en la barra izquierda del Arduino IDE.
- Busca “DallasTemperature”, luego encuentra la biblioteca DallasTemperature de Miles Burton.
- Haz clic en el botón Instalar para instalar la biblioteca DallasTemperature.

- Se le pedirá que instale la dependencia de la biblioteca
- Haga clic en el botón Instalar todo para instalar la biblioteca OneWire.

- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
- Cambia la temperatura alrededor del sensor de temperatura
- Observa el cambio en el servomotor
- Observa el resultado en el Monitor Serial. Se ve a continuación:
Código de Arduino - Sensor de temperatura dispara un servomotor con tolerancia
Durante la operación, la temperatura puede fluctuar por encima o por debajo del umbral, lo que provoca ajustes rápidos y constantes al servomotor. Esto puede resultar en vibración en lugar de una rotación suave hacia el ángulo deseado. Para mitigar este problema, se puede incorporar una tolerancia al umbral. El siguiente código ilustra cómo implementar esta solución:
El código presentado arriba especifica un umbral de 20 °C y una tolerancia de 0,5 °C. Se aplican las siguientes condiciones:
- Si la temperatura es inferior a 19,5°C, el ángulo del servomotor se ajusta a 0°.
- Si la temperatura es superior a 20,5°C, el ángulo del servomotor se ajusta a 90°.
- Si la temperatura está entre 19,5°C y 20,5°C, no se realiza ningún ajuste al ángulo del servomotor.