Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- javierjsp
- Date:
- 2017-04-27
- Revision:
- 3:129c10cc04e2
- Parent:
- 2:481289ca3336
- Child:
- 4:33df694ea769
File content as of revision 3:129c10cc04e2:
#include "mbed.h"
#include "Motor.h"
#include "QEI.h"
QEI encoder1(PE_11, PE_9, NC, 6, QEI::X4_ENCODING); // (A, B, indice, PulsosPorRev, TipoDeEncoder)
Motor motor1(PE_13, PF_15, PG_14); // (pwm, derecho, inverso)
Serial bt(PE_8, PE_7); // tx, rx (serial 5)
DigitalOut led1(LED1); // definimos la salida del LED
int main()
{
motor1.period(0.00005); // establece el periodo del PWM, equivalente a una frecuencia de 20KHz.
bt.baud(9600); // velocidad de transmision del bluetooth a 9600 baudios
int pulsos = 0; // numero de pulsos recorridos
int recorrido = 240; // pulsos que queremos que recorra (modificaremos este valor hasta saber cuantos pulsos corresponden a una vuelta)
bt.printf("%d", pulsos); // envia el valor de "pulsos" por bluetooth
led1 = 1; // encendemos un led de la placa durante 1s para asegurarnos de que el programa se esta ejecutando correctamente
wait(1);
led1 = 0;
while(pulsos<recorrido) // gira el motor al derecho hasta que los pulsos sean los del recorrido asignado
{
motor1.speed(0.4);
pulsos= encoder1.getPulses();
bt.printf("%d", pulsos); // envia el valor de "pulsos" por bluetooth
}
motor1.brake(); // frena el motor y enciende un led 1s para saber que hemos llegado al punto deseado
led1 = 1;
wait(1);
led1 = 0;
wait(1);
while(pulsos>0) // gira el motor al inverso hasta que los pulsos sean 0
{
motor1.speed(-0.4);
pulsos= encoder1.getPulses();
}
motor1.brake(); // frena el motor y deja encendido un led para saber que hemos llegado al punto deseado
led1 = 1;
}
