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
00001 00002 #include "mbed.h" 00003 00004 AnalogIn potenciometro(A5); //declara a entrada do potenciômetro 00005 PwmOut dc(D10); //declara a saída do PWM 00006 InterruptIn encoder(D7); //declara entrada do encoder 00007 00008 Ticker tempo_alto; //declara um ticker 00009 int contador=0; //icício do contador zerado 00010 int periodo=1; 00011 int periodo_min=60/periodo; //faz a conta do período 00012 float rpm=0; //icício do rpm zerado 00013 float duty_cycle=0; //icício do duty cycle zerado 00014 00015 void alto(){ //declara a função alto 00016 contador++; //soma 1 no contador 00017 } 00018 00019 void calcula_rpm(){ //declara a função começa 00020 rpm=contador*periodo_min/(30); //faz a conta do rpm 00021 contador=0; //zera o contador depois de calculo de rpm 00022 } 00023 00024 int main(){ 00025 dc.period(0.010); // define o periodo do PWM 00026 encoder.rise(&alto); //quando o encoder retorna 1 a função &alto é chamada 00027 tempo_alto.attach(&calcula_rpm, periodo); //a funcao "calcula_rpm" é acionada quando passar o tempo de "periodo" 00028 00029 while(1){ 00030 duty_cycle=potenciometro.read(); //o duty cycle é definido pelo potenciometro 00031 dc.write(duty_cycle); //o valor de duty cycle é colocado no PWM 00032 printf("duty cycle: %f rpm: %f \r\n " ,duty_cycle*100, rpm); //o valor de rpm e do duty cycle é printado 00033 00034 } 00035 } 00036
Generated on Sun Oct 9 2022 20:09:25 by
