Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*INSTITUTO POLITECNICO NACIONAL
- ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
- UNIDAD ZACATENCO
- ING. EN CONTROL Y AUTOMATIZACION
- ASIGNATURA: INTERFASES Y MICROCONTROLADORES
- M.C LUIS ARTURO BENITEZ VELAZQUEZ
- GRUPO 7AM1
- AUTORES:
- ROSALES HERNANDEZ JOSE EDUARDO
- RUIZ ESTUDILLO MARIA FERNANDA
- ***********************************************************************************
- ***********************************************************************************
- PRACTICA NO. 3
- PROGRAMA: CONTROL DE POSICION DE MOTOR CD CON ENCODER
- */
- //PINES DE ENTRADAS Y SALIDAS
- int pushbotton=2;
- int led_on=13;
- int encoder=3;
- int motor=4;
- int boton_on;
- int i=0; //entrada de la ranura
- int j=0; //salida de la ranura
- //entre las dos variables, funcionan como un detector de cruce por cero.
- int encoder_in;
- int contador=0;
- void setup ()
- {
- Serial.begin(9600);
- //DECLARACION DE VARIABLES
- pinMode(pushbotton,INPUT);
- pinMode(led_on,OUTPUT);
- pinMode(encoder,INPUT);
- pinMode (motor,OUTPUT);
- digitalWrite(led_on,LOW);
- }
- void loop ()
- {
- boton_on=digitalRead(pushbotton); //lee posicion del boton
- if(boton_on==HIGH)
- {digitalWrite(led_on,HIGH);
- digitalWrite(motor,HIGH);
- }
- encoder_p();
- if(contador>=100)
- {
- digitalWrite(led_on,LOW);
- digitalWrite(motor,LOW);
- delay (2000);
- contador=0;
- }
- }
- void encoder_p()
- {
- encoder_in=digitalRead(encoder);
- if(encoder_in==1)
- {i=1;}
- else{i=0;}
- if(i==1&&j==0)
- {
- contador++;
- Serial.println(contador);
- }
- if(encoder_in==1)
- {j=1;}
- else{j=0;}
- }
Advertisement
Add Comment
Please, Sign In to add comment