Advertisement
ESTEXAV96

VVMCD

Mar 25th, 2021
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // PINES DE CONEXION CON EL PUENTE H
  2. #define pwmA  3
  3. #define motorinA  4
  4. #define motorinB  5
  5. #define stby  6
  6. //
  7.  
  8. // Botón en configuración Pull down
  9. #define button  7  
  10. // variable para comprobar el estado del pulsador
  11. boolean estBut = 0;
  12. // variable para setear la velocidad del motor
  13. int vel = 0;
  14. // variable para contar
  15. int contvel = 0;
  16.  
  17. void setup() {
  18.  
  19.   Serial.begin(9600);
  20.   pinMode(pwmA, OUTPUT);
  21.   pinMode(motorinA, OUTPUT);
  22.   pinMode(motorinB, OUTPUT);
  23.   pinMode(stby, OUTPUT);
  24.   pinMode(button, INPUT);
  25. }
  26.  
  27. void loop() {
  28.   digitalWrite(stby, 1); // activamos el stby
  29. // almacenamos en estBut el estado lógico del pulsador
  30.   estBut = digitalRead(button);
  31. // comprobando, si se presiono el pulsador entonces
  32.   if (estBut == HIGH) {
  33. // la variable vel se suma , así aumentamos la velocidad del motor
  34.     vel++;  
  35. // usamos la siguiente condición para que el valor del pwm no sobrepase los 255
  36.     if (vel >= 255) {
  37.       vel = 255;
  38.     }
  39.     //----------------------*-------------------------------//
  40.  
  41. // caso contrario, si dejamos de pulsar el botón, entonces
  42.   } else {
  43. // la variable vel se resta , así disminuimos la velocidad del motor
  44.     vel--;
  45. // usamos la siguiente condición para que el valor del pwm no sea menor a 0
  46.     if (vel <= 0) {
  47.       vel = 0;
  48.     }
  49.   }
  50.   //----------------------*-------------------------------//
  51.   Serial.println(vel); // imprimimos el valor del pwm en el monitor serial
  52.   setspeed();  // vamos a la función setspeed
  53. }
  54.  
  55. void setspeed() {
  56.   analogWrite(pwmA, vel); // seteamos la velocidad del giro del motor
  57.   // giro del motor
  58.   digitalWrite(motorinA, 1);
  59.   digitalWrite(motorinB, 0);
  60.   //-------------*----------//
  61. // esta pausa es para que no aumente abruptamente la velocidad del motor
  62.   delay(20);
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement