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.
Dependencies: QEI
main.cpp
- Committer:
- okadaya
- Date:
- 2021-06-23
- Revision:
- 0:ca2a77886231
- Child:
- 1:f0e6a1eb94a8
File content as of revision 0:ca2a77886231:
/* mbed Microcontroller Library
* Copyright (c) 2019 ARM Limited
* SPDX-License-Identifier: Apache-2.0
*/
#include "mbed.h"
#include "platform/mbed_thread.h"
#include "QEI.h"
Serial pc(USBTX, USBRX, 115200);
Serial md(PC_10, PC_11, 38400);
PwmOut motor1(PF_8);
PwmOut motor2(PF_7);
// Blinking rate in milliseconds
#define BLINKING_RATE_MS 500
#define ROTATE_PER_REVOLUTIONS 64 //For QEI's pulse data
int r;
bool kai=0;
DigitalIn btn(USER_BUTTON);
DigitalOut led(LED2);
void moter(int x){
r = x+128;
md.putc(r);
pc.printf("%d\n",r);
}
int main()
{
md.format(8,Serial::None,1);
moter(0);
while(!btn){
led=!led;
wait(0.05);
}
led=1;
while(btn){}
// Initialise the digital pin LED1 as an output
DigitalOut led(LED1);
QEI wheel(PC_8, PC_9, NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING);
while(1){
pc.printf("c");
pc.printf("%d",kai);
pc.printf("Pulses: %07d", wheel.getPulses());
pc.printf("Rotate: %d\n", (int)wheel.getPulses()/(ROTATE_PER_REVOLUTIONS*4));
if((int)wheel.getPulses()/(ROTATE_PER_REVOLUTIONS*4)<100&&kai==0){
moter(64);
pc.printf("a");
if((int)wheel.getPulses()/(ROTATE_PER_REVOLUTIONS*4)==99){
kai=1;
}
}
if((int)wheel.getPulses()/(ROTATE_PER_REVOLUTIONS*4)>0&&kai==1){
moter(-64);
pc.printf("b");
if((int)wheel.getPulses()/(ROTATE_PER_REVOLUTIONS*4)==1){
kai=0;
}
}
// moter(0);
}
}