ROSALES_RUIZ

CONTROL DE POSICION DE MOTOR CD CON ENCODER

Oct 7th, 2015
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.62 KB | None | 0 0
  1. /*INSTITUTO POLITECNICO NACIONAL
  2. ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
  3. UNIDAD ZACATENCO
  4.  
  5. ING. EN CONTROL Y AUTOMATIZACION
  6. ASIGNATURA: INTERFASES Y MICROCONTROLADORES
  7. M.C LUIS ARTURO BENITEZ VELAZQUEZ
  8. GRUPO 7AM1
  9.  
  10. AUTORES:
  11. ROSALES HERNANDEZ JOSE EDUARDO
  12. RUIZ ESTUDILLO MARIA FERNANDA
  13. ***********************************************************************************
  14. ***********************************************************************************
  15. PRACTICA NO. 3
  16. PROGRAMA: CONTROL DE POSICION DE MOTOR CD CON ENCODER
  17. */
  18.  
  19. //PINES DE ENTRADAS Y SALIDAS
  20. int pushbotton=2;
  21. int led_on=13;
  22. int encoder=3;
  23. int motor=4;
  24. int boton_on;
  25. int i=0; //entrada de la ranura
  26. int j=0; //salida de la ranura
  27. //entre las dos variables, funcionan como un detector de cruce por cero.
  28. int encoder_in;
  29. int contador=0;
  30.  
  31. void setup ()
  32. {
  33.   Serial.begin(9600);
  34.  
  35. //DECLARACION DE VARIABLES
  36. pinMode(pushbotton,INPUT);
  37. pinMode(led_on,OUTPUT);
  38. pinMode(encoder,INPUT);
  39. pinMode (motor,OUTPUT);
  40. digitalWrite(led_on,LOW);
  41. }
  42.  
  43.  
  44. void loop ()
  45. {
  46.     boton_on=digitalRead(pushbotton); //lee posicion del boton
  47.     if(boton_on==HIGH)
  48.       {digitalWrite(led_on,HIGH);
  49.        digitalWrite(motor,HIGH);
  50.        }
  51.        encoder_p();
  52.    
  53.     if(contador>=100)
  54.  {
  55.    digitalWrite(led_on,LOW);
  56.    digitalWrite(motor,LOW);
  57.    delay (2000);
  58.    contador=0;
  59.  }  
  60.    
  61. }
  62.  
  63. void encoder_p()
  64. {
  65. encoder_in=digitalRead(encoder);
  66.    
  67.     if(encoder_in==1)
  68.     {i=1;}
  69.     else{i=0;}
  70.    
  71.     if(i==1&&j==0)
  72.     {
  73.       contador++;
  74.       Serial.println(contador);
  75.     }
  76.  
  77.     if(encoder_in==1)
  78.     {j=1;}
  79.     else{j=0;}
  80. }
Advertisement
Add Comment
Please, Sign In to add comment