MATERIALES:
Los materiales que utilice para este proyecto son los siguientes:
- 1 Arduino uno.
- 1 Puente h-tb6612.
- 1 Pulsador.
- 1 Motor de cd
- 1 Resistencia de 1k.
DIAGRAMA DE CONEXIONES:
FUNCIONAMIENTO:
Al presionar el pulsador, el motor va a aumentar su velocidad de manera progresiva y al dejarlo de presionar la velocidad va a disminuir, esto se logra variando el PWM (modulación por ancho de pulsos).
CÓDIGO:
// PINES DE CONEXION CON EL PUENTE H
#define pwmA 3
#define motorinA 4
#define motorinB 5
#define stby 6
//
// Botón en configuración Pull down
#define button 7
// variable para comprobar el estado del pulsador
boolean estBut = 0;
// variable para setear la velocidad del motor
int vel = 0;
// variable para contar
int contvel = 0;
void setup() {
Serial.begin(9600);
pinMode(pwmA, OUTPUT);
pinMode(motorinA, OUTPUT);
pinMode(motorinB, OUTPUT);
pinMode(stby, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
digitalWrite(stby, 1); // activamos el stby
// almacenamos en estBut el estado lógico del pulsador
estBut = digitalRead(button);
// comprobando, si se presiono el pulsador entonces
if (estBut == HIGH) {
// la variable vel se suma , así aumentamos la velocidad del motor
vel++;
// usamos la siguiente condición para que el valor del pwm no sobrepase los 255
if (vel >= 255) {
vel = 255;
}
//----------------------*-------------------------------//
// caso contrario, si dejamos de pulsar el botón, entonces
} else {
// la variable vel se resta , así disminuimos la velocidad del motor
vel--;
// usamos la siguiente condición para que el valor del pwm no sea menor a 0
if (vel <= 0) {
vel = 0;
}
}
//----------------------*-------------------------------//
Serial.println(vel); // imprimimos el valor del pwm en el monitor serial
setspeed(); // vamos a la función setspeed
}
void setspeed() {
analogWrite(pwmA, vel); // seteamos la velocidad del giro del motor
// giro del motor
digitalWrite(motorinA, 1);
digitalWrite(motorinB, 0);
//-------------*----------//
// esta pausa es para que no aumente abruptamente la velocidad del motor
delay(20);
}
Publicar un comentario
¡Hola! Nos alegra mucho que hayas llegado hasta aquí y que estés leyendo este artículo en Edeptec.
Este formulario es un espacio abierto para ti: puedes dejar un comentario con tus dudas, sugerencias, experiencias o simplemente tu opinión sobre el tema tratado.
» ¿Te resultó útil la información?
» ¿Tienes alguna experiencia personal que quieras compartir?
» ¿Se te ocurre algún tema que te gustaría ver en próximos artículos?
Recuerda que este espacio es para aprender y compartir, por eso te animamos a participar de manera respetuosa y constructiva. Tus comentarios pueden ayudar a otros lectores que están en el mismo camino, ya sea en electrónica, programación, deportes o tecnología.
¡Gracias por ser parte de esta comunidad de aprendizaje! Tu participación es lo que hace crecer este proyecto.