Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diogotadeu

Scroll mouse

Recommended Posts

Ola galera, preciso de uma função que joguem em um edit as rotacoes do scroll do mouse, (RPM)

 

afim de montar um dinamometro para um projeto de faculdade

 

 

abrax a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diogo boa tarde,

 

Eu vejo uma solução mas não sei se ela é a melhor. Você poderia marcar o horário a cada vez que o evento onMouseWheel fosse ativado e armazenar essas informações em um txt ou em um banco.A partir dessas informações você poderia calcular velocidade de rotação média, fazer um gráfico com os valores e tudo mais.

 

Eu acho que essa não é a melhor solução porque o mouse gera eventos de rolagem várias vezes por volta o que iria dificultar os cálculos além de gerar muitos registros desnecessários se você deixar isso rodando por alguns minutos a quantidade de registros já vai superar muito a que você precisa, se eu fosse você utilizaria um rolete do tipo "bolacha" com um sensor indutivo para contar as voltas, ficaria tão barato quanto e muito mais preciso.

 

Caso queira fazer com o mouse mesmo, sugiro que use um contador como atributo da classe que você criou e conte o número de eventos que são executados até o mouse dar uma volta completa. assim você pode deixar o código do evento onMouseWheel adicionar 1 ao contador e quando este contador marcar que uma volta completa foi dada aí sim o registro é gravado e o contador é zerado para uma nova volta.

 

Se for fazer em arquivo txt tente implementar uma rotina que não permita que o arquivo passe de um limite de tamanho para garantir o funcionamento estável do programa.

 

Espero ter ajudado,

 

_______________________

Fozzi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Fozzi, obrigado por responder, se nao for pedir de mais você teria o esquematico do circuito (se eu fosse você utilizaria um rolete do tipo "bolacha" com um sensor indutivo para contar as voltas) para me passar e como programar isso, tipow nao faco ideia de como fazer,

obrigado

 

Diogo boa tarde,

 

Eu vejo uma solução mas não sei se ela é a melhor. Você poderia marcar o horário a cada vez que o evento onMouseWheel fosse ativado e armazenar essas informações em um txt ou em um banco.A partir dessas informações você poderia calcular velocidade de rotação média, fazer um gráfico com os valores e tudo mais.

 

Eu acho que essa não é a melhor solução porque o mouse gera eventos de rolagem várias vezes por volta o que iria dificultar os cálculos além de gerar muitos registros desnecessários se você deixar isso rodando por alguns minutos a quantidade de registros já vai superar muito a que você precisa, se eu fosse você utilizaria um rolete do tipo "bolacha" com um sensor indutivo para contar as voltas, ficaria tão barato quanto e muito mais preciso.

 

Caso queira fazer com o mouse mesmo, sugiro que use um contador como atributo da classe que você criou e conte o número de eventos que são executados até o mouse dar uma volta completa. assim você pode deixar o código do evento onMouseWheel adicionar 1 ao contador e quando este contador marcar que uma volta completa foi dada aí sim o registro é gravado e o contador é zerado para uma nova volta.

 

Se for fazer em arquivo txt tente implementar uma rotina que não permita que o arquivo passe de um limite de tamanho para garantir o funcionamento estável do programa.

 

Espero ter ajudado,

 

_______________________

Fozzi

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom o rolete nada mais é do que um disco de Nylon, ou qualquer outro material não metálico, que vai preso ao seu eixo que está rodando. Neste disco você coloca um pequeno bloco metálico, pode ser até um prego ou parafuso largo. Depois você posiciona o sensor indutivo ao lado do rolete e esse conjunto vai gerar um sinal a cada volta pois o sensor vai ser acionado cada vez que o prego passar por ele.

 

Quanto a captação deste sinal você teria que arrumar uma maneira de conectar este sensor na porta serial do seu computador e fazer a leitura dos dados. Nunca fiz a captação de sinais por porta serial então não posso te explicar como este processo é feito.

Mas eu encontrei uma página que explica por alto como trabalhar com portas seriais no Delhpi e tem até alguns exemplos, segue o link

http://mc-computing.com/languages/delphi/delphi_serialio.htm

 

Para gravar os registros num txt é bem fácil. Cada vez que você for gerar um novo arquivo, pode ser criado no cornstrutor do formulário, use o seguinte código

 

AssignFile(Arquivo, nomerelatorio);
if FileExists(nomerelatorio) then
ReWrite(arquivo);

Para gravar um novo registro a cada sinal recebido o comando é:

 

WriteLn(arquivo,FormatDateTime('hhnnsszzz', now)

Você pode formatar o arquivo de saída como bem entender, neste caso hh = hora nn = minuto ss = segundo zzz = milisegundo

 

Não se esqueça de executar o comando CloseFile(arquivo) quando terminar de usar.

 

_______________________

Fozzi

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK entendi mais ou menos kkk

vamos do inicio, o sencor eu preciso desenvolver um ou tem algum que posso comprar, você sabe o nome? você saberia de algum componente ou esquematico?

 

e o do mouse onde coloco esses eventos, nunca fiz isso como ja lhe disse nunca mechi com funcoes para mouse se puder detalhar um pouco mais fikarei super grato

 

 

mas uma vez obrigado pela atencao

 

 

Bom o rolete nada mais é do que um disco de Nylon, ou qualquer outro material não metálico, que vai preso ao seu eixo que está rodando. Neste disco você coloca um pequeno bloco metálico, pode ser até um prego ou parafuso largo. Depois você posiciona o sensor indutivo ao lado do rolete e esse conjunto vai gerar um sinal a cada volta pois o sensor vai ser acionado cada vez que o prego passar por ele.

 

Quanto a captação deste sinal você teria que arrumar uma maneira de conectar este sensor na porta serial do seu computador e fazer a leitura dos dados. Nunca fiz a captação de sinais por porta serial então não posso te explicar como este processo é feito.

Mas eu encontrei uma página que explica por alto como trabalhar com portas seriais no Delhpi e tem até alguns exemplos, segue o link

http://mc-computing.com/languages/delphi/delphi_serialio.htm

 

Para gravar os registros num txt é bem fácil. Cada vez que você for gerar um novo arquivo, pode ser criado no cornstrutor do formulário, use o seguinte código

 

AssignFile(Arquivo, nomerelatorio);
if FileExists(nomerelatorio) then
ReWrite(arquivo);

Para gravar um novo registro a cada sinal recebido o comando é:

 

WriteLn(arquivo,FormatDateTime('hhnnsszzz', now)

Você pode formatar o arquivo de saída como bem entender, neste caso hh = hora nn = minuto ss = segundo zzz = milisegundo

 

Não se esqueça de executar o comando CloseFile(arquivo) quando terminar de usar.

 

_______________________

Fozzi

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom isso que eu passei do rolete é uma alternativa para o uso do mouse, para deixar o resultado um pouco mais profissional.

 

Se somente o mouse te atender você só precisa criar um formulário e colocar aquele código que eu passei anteriormente para criar um arquivo de texto com as informações armazenadas dos eventos de rotação.

 

Agora nesse formulário você declara a variável cont com escopo global e coloca o seguinte código no evento onMouseWheelDown(ou onMouseWheelUp)

cont := cont+1;
if cont >= 5 then //supondo que sejam necessários 5 eventos no seu mouse para um volta completa
begin
  WriteLn(arquivo,FormatDateTime('hhnnsszzz', now);
  cont := 0;
end;

Caso queira exibir em tempo real a velocidade de rotação você pode armazenar numa variável o valor da ultima medição e comparar com a atual para descobrir a velocidade.

 

_____________________

Fozzi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar, caso tenha mais alguma coisa pode me add no msn diogotad@hotmail.com ou mandar e-mail para diogotca@globo.com

 

e o que significa /supondo que sejam necessários 5 eventos no seu mouse para um volta completa

 

 

 

obrigado mais uma vez

 

ja posto o resultado

 

quando rolo o scroll ta dando I/O erro 105.

 

 

segue o codigo

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cont : integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  log: textfile;
begin
  try
  AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
  if not FileExists('C:\Program Files\Dinamometro\log.log') then
  Rewrite(log,'C:\Program Files\Dinamometro\log.log');
  finally
  CloseFile(log);
  end;
 end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
cont := cont+1;
if cont >= 5 then //supondo que sejam necessários 5 eventos no seu mouse para um volta completa
begin
  WriteLn('C:\Program Files\Dinamometro\log.log',FormatDateTime('hhnnsszzz', now));
  cont := 0;
end;
end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu disse que não necessários 5 eventos para completar uma volta foi um exemplo, acabo de medir e no mouse que eu estou usando são gerados 24 eventos de rolagem antes que o mouse complete uma volta. O erro no seu código está na linha do comando if not FileExists você deve remover este not.

 

Vou tentar, caso tenha mais alguma coisa pode me add no msn diogotad@hotmail.com ou mandar e-mail para diogotca@globo.com

 

e o que significa /supondo que sejam necessários 5 eventos no seu mouse para um volta completa

 

 

 

obrigado mais uma vez

 

ja posto o resultado

 

quando rolo o scroll ta dando I/O erro 105.

 

 

segue o codigo

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cont : integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  log: textfile;
begin
  try
  AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
  if not FileExists('C:\Program Files\Dinamometro\log.log') then
  Rewrite(log,'C:\Program Files\Dinamometro\log.log');
  finally
  CloseFile(log);
  end;
 end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
cont := cont+1;
if cont >= 5 then //supondo que sejam necessários 5 eventos no seu mouse para um volta completa
begin
  WriteLn('C:\Program Files\Dinamometro\log.log',FormatDateTime('hhnnsszzz', now));
  cont := 0;
end;
end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

intao cara agora se eu clico em gerar relatorio ele da o I/O erro 103 e quando rodo o scroll ele ainda da o 105

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cont : integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  log: textfile;
begin
  try
  AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
  if FileExists('C:\Program Files\Dinamometro\log.log') then
  Rewrite(log,'C:\Program Files\Dinamometro\log.log');
  finally
  CloseFile(log);
  end;
 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    if GetSystemMetrics(SM_MOUSEWHEELPRESENT) <> 0 then

        ShowMessage('Um mouse com rodinha está presente.')

        else

        ShowMessage('Um mouse com rodinha não foi detectado.');
end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
cont := cont+1;
if cont >= 24 then //supondo que sejam necessários 5 eventos no seu mouse para um volta completa
begin
  WriteLn('C:\Program Files\Dinamometro\log.log',FormatDateTime('hhnnsszzz', now));
  cont := 0;
end;
end;

end.

modifiquei o codigo, esta gerando certinho mas quando rodo o scroll da erro 103

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cont : integer;
  log : textfile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  log: textfile;
begin
  try
  AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
  if FileExists('C:\Program Files\Dinamometro\log.log') then
  Rewrite(log,'C:\Program Files\Dinamometro\log.log');
  finally
  CloseFile(log);
  end;
 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    if GetSystemMetrics(SM_MOUSEWHEELPRESENT) <> 0 then

        ShowMessage('Um mouse com rodinha está presente.')

        else

        ShowMessage('Um mouse com rodinha não foi detectado.');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
If not(fileexists('C:\Program Files\Dinamometro\log.log'))Then
Try
AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
If Not FileExists('C:\Program Files\Dinamometro\log.log')
Then
begin
Rewrite(Log,'C:\Program Files\Dinamometro\log.log');
Append(log);
end;
Finally
Closefile(log);
End;

end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
cont := cont+1;
if cont >= 24 then //supondo que sejam necessários 5 eventos no seu mouse para um volta completa
begin
  WriteLn(log,FormatDateTime('hhnnsszzz', now));
  cont := 0;
end;
end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem de declarar o arquivo log com um escopo acessivel a toda a classe. Ele está sendo declarado uma vez para classe toda e uma vez como variável local no evento click do btn1

Compartilhar este post


Link para o post
Compartilhar em outros sites

o botao 1 nao estou utilizando era so um teste

 

o botao 2 ve se o mouse possui scroll o 3 gera o relatorio e o 4 coloquei so pra ve se o cont tava funfando

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cont : integer;
  log : textfile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  log: textfile;
begin
  try
  AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
  if FileExists('C:\Program Files\Dinamometro\log.log') then
  Rewrite(log,'C:\Program Files\Dinamometro\log.log');
  finally
  CloseFile(log);
  end;
 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    if GetSystemMetrics(SM_MOUSEWHEELPRESENT) <> 0 then

        ShowMessage('Um mouse com rodinha está presente.')

        else

        ShowMessage('Um mouse com rodinha não foi detectado.');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
If not(fileexists('C:\Program Files\Dinamometro\log.log'))Then
Try
AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
If Not FileExists('C:\Program Files\Dinamometro\log.log')
Then
begin
Rewrite(Log,'C:\Program Files\Dinamometro\log.log');
Append(log);
end;
Finally
Closefile(log);
End;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
edit1.Text:=inttostr(cont);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
cont := cont+1;
if cont = 48 then
begin
try
AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
Reset(log,'C:\Program Files\Dinamometro\log.log');
WriteLn(log,FormatDateTime('hhnnsszzz', now));
finally
CloseFile(log);
  cont := 0;
end;
end;
end;

end.

consegui grava aeeeeeeeeeee

so nao sei agora como grava so a hora sem data, e so os segundos ne pq e dele que eu preciso

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cont : integer;
  log : textfile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  log: textfile;
begin
  try
  AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
  if FileExists('C:\Program Files\Dinamometro\log.log') then
  Rewrite(log,'C:\Program Files\Dinamometro\log.log');
  finally
  CloseFile(log);
  end;
 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    if GetSystemMetrics(SM_MOUSEWHEELPRESENT) <> 0 then

        ShowMessage('Um mouse com rodinha está presente.')

        else

        ShowMessage('Um mouse com rodinha não foi detectado.');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
If not(fileexists('C:\Program Files\Dinamometro\log.log'))Then
Try
AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
If Not FileExists('C:\Program Files\Dinamometro\log.log')
Then
begin
Rewrite(Log,'C:\Program Files\Dinamometro\log.log');
Append(log);
end;
Finally
Closefile(log);
End;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
edit1.Text:=inttostr(cont);
end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
var log: TextFile;  //<----- FALTOU ESTA LINHA
begin
   cont := cont+1;
   if cont = 48 then
   begin
      try
         AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
         Append(log);
         WriteLn(log,FormatDateTime('hhnnsszzz', now));
      finally
         CloseFile(log);
         cont := 0;
      end;
   end;
end;
end.

nao to conseguindo sabe agora o tempo de cada volta

seria melhor eu colocar um contador para cada volta ele incrementa e e no final de 60 min e ve quantas voltas ele deu ?

 

isso aqui nao funfa?

begin
   cont := cont+1;
      if not timer1.enabled then
      tempo:=time;
      timer1.enabled:=not timer1.enabled;
   if cont = 48 then
   begin
   volt := volt +1;
   end;
   tmp := strtoint('00:01:00');
   if tempo = tmp then
   begin
      try
         AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
         Append(log);
         WriteLn(log,FormatDateTime('HH:MM:SS:ZZZ',Time - tempo));
      finally
         CloseFile(log);
         cont := 0;
      end;
   end;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa, crie uma variável auxiliar que armazene o valor da ultima volta, depois é só subtrair o tempo da data atual do tempo da ultima volta. Crie a variável do tipo TdateTime.

 

Com isso você também vai poder calcular a velocidade de rotação com uma regra de 3 simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi, como faco o calculo com horas?

outra cosia acho que fikaria melhor fazer pra ele toda vez que der 1 mim ele mostra quantas voltas ele deu

 

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
   cont := cont+1;
   tempo1:=StrToTime('00:00:10');
   if cont = 48 then
   begin
   voltas:=voltas + 1;
   if  tempo = tempo1 then
      try
         AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
         Append(log);
         WriteLn(log,voltas);
      finally
         CloseFile(log);
         cont := 0;
      end;
   end;
end;

Não precisa, crie uma variável auxiliar que armazene o valor da ultima volta, depois é só subtrair o tempo da data atual do tempo da ultima volta. Crie a variável do tipo TdateTime.

 

Com isso você também vai poder calcular a velocidade de rotação com uma regra de 3 simples.

 

tipow assim

begin
   cont := cont+1;
   if cont = 48 then
   begin
   voltas:=voltas + 1;
   if  tempo = StrToTime('00:00:10') then
      try
         AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
         Append(log);
         WriteLn(log,voltas);
      finally
         CloseFile(log);
         cont := 0;
      end;
   end;
end;

consegui assim

 

begin
   cont := cont+1;
   if cont = 48 then
   begin
   voltas:=voltas + 1;
   if  label1.Caption = ('00:01:00') then
      try
         AssignFile(log, 'C:\Program Files\Dinamometro\log.log');
         Append(log);
         WriteLn(log,voltas);
      finally
         CloseFile(log);
         cont := 0;
      end;
   label2.Caption:=inttostr (voltas);
   cont := 0;
   end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode colocar um timer para contar o tempo e programar ele para rodas a cada 1 minuto, mas acho que o ideal é você calcular a velocidade de rotação a cara volta comparando o valor da ultima volta com o valor da volta atual.

 

Como está o status do projeto atual? O que falta fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.