Arduino - Sensor de lluvia - Servomotor

Aprenderemos:

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×Sensor de Lluvia
1×Servomotor
1×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

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)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del servomotor y del sensor de lluvia

Si no conoces un servomotor y un sensor de lluvia (diagrama de pines, cómo funciona, cómo programarlo...), aprende sobre ellos en los siguientes tutoriales:

Diagrama de Cableado

Diagrama de cableado de Arduino para sensor de lluvia y servomotor.

This image is created using Fritzing. Click to enlarge image

Código de Arduino - Sensor de lluvia controla el servomotor

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-rain-sensor-servo-motor */ #include <Servo.h> #define RAIN_SENSOR_PIN A0 // Arduino pin connected to rain sensor's pin #define SERVO_PIN 9 // Arduino pin connected to servo motor's pin Servo servo; // create servo object to control a servo // variables will change: int angle = 0; // the current angle of servo motor int prev_rain_state; // the previous state of rain sensor int rain_state; // the current state of rain sensor void setup() { Serial.begin(9600); // initialize serial pinMode(RAIN_SENSOR_PIN, INPUT); // set arduino pin to input mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); rain_state = digitalRead(RAIN_SENSOR_PIN); } void loop() { prev_rain_state = rain_state; // save the last state rain_state = digitalRead(RAIN_SENSOR_PIN); // read new state if (rain_state == LOW && prev_rain_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Rain detected!"); servo.write(90); } else if (rain_state == HIGH && prev_rain_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Rain stopped!"); servo.write(0); } }

Pasos R\u00e1pidos

  • Conecta Arduino a la PC mediante un cable USB
  • Abre Arduino IDE, selecciona la placa y el puerto correctos
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para subir el código a Arduino
  • Mueve tu mano frente al sensor
  • Observa el cambio en el motor servo

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!