Cómo controlar los servomotores basados ​​en la entrada de un sensor IR usando Arduino

Rytsas!

Querido Sadhgun ,
Podría usar un poco más de información sobre cómo exactamente quiere controlar un servomotor usando un sensor IR en su proyecto.

Permítame considerar que está haciendo un proyecto utilizando un sensor IR que se parece más o menos a esto:

Como la información que proporcionó no fue suficiente, por simplicidad, permítame considerar (según tengo entendido) que está haciendo un proyecto en el que, cada vez que el sensor de IR detecta un cuerpo en movimiento (automóvil, por ejemplo), el servomotor (que representa una puerta) debe girar 90 grados para abrir la puerta.

Consideremos también que cuando el automóvil pasa completamente la puerta, hay otro sensor IR que se usaría para cerrar la puerta, es decir, para girar el servomotor a 0 grados.

Utilice el siguiente programa en su placa Arduino:

/ *
Por: Vemuri Suresh Kumar
Como respuesta a: Sadhgun Sobti
* /

#include // Biblioteca para servomotor
Servo servo;

const int IR_open = 2; // Salida del primer sensor IR conectado al pin digital n. ° 2 de Arduino
const int IR_close = 3; // Salida del segundo sensor IR conectado al pin digital n. ° 3 de Arduino

configuración nula () {
servo.attach (9); // Servomotor conectado al pin digital n. ° 9 de Arduino
servo.write (0); // Inicialmente el servo está a 0 grados (condición de puerta cerrada)

pinMode (IR_open, INPUT);
pinMode (IR_close, INPUT);

}

bucle vacío () {
if (digitalRead (IR_open) == HIGH) // Si el primer sensor IR detecta
{
servo.write (90); // La puerta se ABRIRÁ
}
if (digitalRead (IR_close) == HIGH) // Si el segundo sensor IR detecta
{
servo.write (0); // Gate CERRARÁ
}

Así es como, amigo mío, podrías controlar un servomotor usando un sensor IR y un Arduino.

Espero eso ayude. 🙂

Gonndegon ao arlī,
SV

Usando el concepto de time_delay puede controlar la velocidad del motor. Me gusta esto-

motor encendido

retardo de tiempo 30ms

motor apagado

retardo de tiempo 20ms

y así. Pero otro enfoque efectivo sería utilizar PWM (modulación de ancho de pulso), que utiliza el concepto de ondas cuadradas.

En el servomotor, la velocidad varía entre 1 y máximo (rpm nominales). El receptor IR dispuso la resistencia de arranque a la resistencia variable para controlar el motor.