我需要为工作制作米计数器,所以我决定只为Arduino.我找到了一个旧的编码器,发现/编写了一个简单的代码并将它们全部一起攻击并遇到了意想不到的问题.
出于某种原因,我的计数器不会超过8米或31991编码器脉冲.一旦达到这个8米的限制,该数字变为负数并开始向后计数,如-7.9> -7.8(即继续朝向0计数).
然后它达到零并再次计入8 ......
这对我来说很奇怪,而我有限的编码知识也无法修复它.
有谁知道如何解决这个或我能做些什么来使它工作?
#include <LiquidCrystal.h>
#define inputA_in 6
#define inputB_in 7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int inputA_V = 0;
int inputB_V = 0;
int inputA = 0;
int inputB = 0;
int counter = 0;
// smeni vrednost tuka pred run
int console_frequency_milliseconds = 200; /// edna sekunda
int aLastState = 0;
int bLastState = 0;
float meters = 0.0;
unsigned long lasttime = 0;
int move_positive = 0;
int move_negative = 0; …Run Code Online (Sandbox Code Playgroud)