ЖК-дисплей отображает неверный символ при подсчете оборотов

Я практиковал счетчик оборотов и оборотов в Arduino, используя инфракрасную оптопару. Я пытаюсь реализовать число оборотов для сверлильного станка, но всякий раз, когда сверло начинает вращаться, ЖК-дисплей печатает неправильные символы вместо отображения вращения.
Вот мой код:

#include<LiquidCrystal.h>


 LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
             int SensorPin=      13;


             int Counter = 0;
void setup() {
  lcd.begin(16,2);
  pinMode(SensorPin,INPUT);
    lcd.setCursor(0,0);

}

void loop() {

           lcd .setCursor(0,0);

          if(digitalRead(SensorPin))
  {
    Counter = Counter+1;
    while(digitalRead(SensorPin));

  }
  lcd.setCursor(0,1);
     lcd.print(Counter);
  // поместите сюда ваш основной код для многократного запуска:


}

Вот мой ЖК на начальном этапе:

ЖК при запуске

Когда я начинаю упражнение, ЖК-дисплей меняется на это:

ЖК-дисплей с плохими символами

, 👍0


1 ответ


Лучший ответ:

0

Я подозреваю, что вы получаете электрические помехи на проводах от оптопары. Несколько тестов, которые помогут найти причину: 1) Счетчик работает, если крутить вручную? 2) Будет ли смешной ЖК-дисплей, если у вас просто оптопара примерно в том же положении, но ничего не считаете.

,

Msquare, спасибо за повтор, я обнаружил проблему в том, что, как вы видели, я кладу экран на оцинкованный металл, когда начинается сверление, экран издает шум, я не знаю, почему нет соприкасающихся частей ЖК и оцинкованного материала. Спасибо, @Khalid