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: mbed
main.cpp
- Committer:
- Marcelocostanzo
- Date:
- 2020-08-06
- Revision:
- 0:c665d23a7e36
File content as of revision 0:c665d23a7e36:
/*****************************************************************
* Projeto para leitura da rotação do motor Akyama ak360/25PL12S3500S
*
*
*
* Insper instituto e pesquisa
*
* Autor: Marcelo Costanzo Miranda
* Data: 06/08/2020
**************************************************************/
#include "mbed.h"
//------------------Pino para o sinal de rotação-----------------------------
InterruptIn pulse(D7);
//----------------Timers para amostragem ------------------------------------
Ticker calc_rpm;
Ticker send_serial;
//----------------Comunicação----------------------------------------
Serial pc(USBTX, USBRX); // tx, rx
//----------------Variaveis----------------------------------------
int tooth_counter = 0;
int RPM = 0;
//float RPS = 0;
//float tooth_period = 0;
//----------------Interrupçao de pulso----------------------------------------
void pulse_read()
{
tooth_counter++;
}
//----------------Calcula a rotação a 40Hz----------------------------------------
void rpm_counter()
{
RPM = tooth_counter * 40;
//tooth_period = 25000 / tooth_counter;
//RPS = RPM / 60;
tooth_counter = 0;
}
//----------------Envia a rotação a 1Hz----------------------------------------
void send_rpm()
{
pc.printf("%i\r\n",RPM);
}
int main()
{
pc.baud(38400);// ajusta o baudrate
pulse.rise(&pulse_read);//habilita a interrupção por borda de subida
calc_rpm.attach_us(&rpm_counter, 25000);//habilita a chamada a 40Hz para calculo da rotaçao
send_serial.attach(&send_rpm, 1.0f);//habilita a chamada a 1Hz para envio da rotaçao
while(1)
{
}
}