Всем привет. Решил собрать счетчик оборотов на оптопаре для стенда взамен механического. На просторах интернета нашел схему и скетч. Проблема в следующем, при считывании оборотов оптопарой на дисплее последовательно меняются цифры с 1 до 9, далее вместо цифры 10 появляется цифра 1, мигает десять раз (проходит 10 оборотов) и загорается цифра 2, хотя должно быть 20, далее мигает 10 раз и загорается цифра 3, должно 30 и так далее. В чем причина не могу разобраться.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int x = 0;
int input = A0;
int state = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" Turn counter ");
lcd.setCursor(0, 1);
lcd.print(x);
lcd.print(" =turn ");
}
void loop()
{
int counter = digitalRead(A0);
if (state == 0)
{
switch (counter) {
case 1 : state = 1; lcd.setCursor (0, 1); x = x + 1; lcd.print(x); break;
case 0 : state = 0; break;
}
}
if (counter == LOW) {
state = 0;
}
}
Зачеркнутые элементы и волнистые линии означают что в моей схеме они отсутствуют. Схему собирал из видео ролика, а это картинка из интернета для наглядности.
конечно, подключить к цифровому пину… но это позже, когда будет видно что ему реально нужна помощь)))
сделать внутреннюю подтяжку, и сделать антибребезг!
вот видите как много я сам подсказал… но это не точно)))
У МК все пины изначально цифровые настроенные на ввод. (Про А6 А7 гусары молчать!) Некоторые пины имеют альтернативные функции и что бы AF заработали надо их настроить. Всё это описано в документации и МК. Почитай что ли на досуге.