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 #include "mbed.h" 00002 // Definição das entradas utilizadas 00003 DigitalOut IN1A (D5); 00004 DigitalOut IN2A (D4); 00005 PwmOut ENA (D2); 00006 Serial pc(USBTX, USBRX); 00007 AnalogIn potenciometro(A5); 00008 InterruptIn sinal_encoder(D7); 00009 00010 //Definição das variáveis referentes ao cronômetro, contador e RPM 00011 Timer cronometro; 00012 int repeticoes; 00013 int rpm; 00014 00015 // Criação de uma função para incrementar o valor do contador 00016 void registro_encoder(void){ 00017 repeticoes++; 00018 } 00019 00020 00021 int main(){ 00022 cronometro.start();// começa cronometragem 00023 sinal_encoder.fall(®istro_encoder);// soma 1 à contagem se detectada uma borda de descida do sinal do encoder 00024 float valor_pot; // valor recebido do potenciômetro 00025 pc.baud(9600);// taxa de transferência de informações da serial 00026 while(1){ 00027 // Envia para o motor tensão proporcional ao valor do potenciômetro 00028 valor_pot=potenciometro.read(); 00029 ENA.write(valor_pot); 00030 IN1A=0; 00031 IN2A=1; 00032 if(repeticoes>=120){ // Calcula o rpm quando as repetições igualarem 120 (4 revs) 00033 rpm= (4/(cronometro/60)); 00034 pc.printf("omega(rpm):%d\n\r",rpm);// Printa o valor de duty cycle e rpm 00035 pc.printf("\rdtc=%1.2f",valor_pot); 00036 repeticoes=0; // reseta a contagem do encoder e do cronômetro 00037 cronometro.reset(); 00038 } 00039 } 00040 } 00041 00042
Generated on Tue Jul 26 2022 17:52:52 by
1.7.2