PROCESAMIENTO_DIGITAL
/
motor_control_1
ewregt
Revision 0:758ecb36bde4, committed 2017-11-27
- Comitter:
- Sumobot
- Date:
- Mon Nov 27 01:29:03 2017 +0000
- Commit message:
- dewfrt
Changed in this revision
diff -r 000000000000 -r 758ecb36bde4 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Nov 27 01:29:03 2017 +0000 @@ -0,0 +1,37 @@ +#include "mbed.h" +#include "rtos.h" + +InterruptIn inter(p5); //Se declara la variable de la interrupción +DigitalOut senal(p7); //Se declara el pin el cual insertará la señal al pin de la interrupción +DigitalIn pulsos(p6); //Pin en el cual se insertarán los pulsos del encoder. +AnalogIn pot(p19); +//Timer t; //Función que medirá el tiempo de operación +Thread thread; //Función que se ejecutará en paralelo al programa principal +float velo; //Variable flotante en la cual se guardará la velocidad en rpm +int iteraciones=0; //iteraciones=Variable que contará el número de pulsos + +void contador() { //Función ejecutada por la interrupción inter, la cual es un contador para la variable iteración + iteraciones=iteraciones+1; +} + +void vel() { //Funcion Se convierte de iteraciones a rpmn vel, ejecutada por el hilo secundario + while (1) { //Se ejecuta siempre + //t.reset(); //Se inicializa el timer + Thread::wait(1000); //Se espera 1 segundo + //printf("n vale: %d\n\r", iteraciones); //Se imprime el número de iteraciones para monitorear + velo= iteraciones*30; //Se convierte de iteraciones a rpm + printf("La velocidad en rpm es: %f\n\r", velo); //Se imprimen las rpm + //printf("El Pot es: %f\n\r", pot.read()); + //printf("el tiempo es: %f\n\r", t.read()); //Se imprime el tiempo de ejecución para monitorear + iteraciones=0; //Se comienza la cuenta de iteraciones de 0, para el siguiente ciclo + } + } + +int main() { //Hilo principal + //t.start(); //Se inicializa el timer + thread.start(vel); //Se inicializa el hilo secundario + while(1) { + inter.rise(&contador); //Se declara la interrupción + senal=pulsos.read(); //se filtra la señal del encoder, para limpar el ruido. + } +}
diff -r 000000000000 -r 758ecb36bde4 mbed-rtos.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Mon Nov 27 01:29:03 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed-rtos/#5713cbbdb706
diff -r 000000000000 -r 758ecb36bde4 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Nov 27 01:29:03 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e7ca05fa8600 \ No newline at end of file