【问题标题】:random moving character on lcd液晶显示器上的随机移动字符
【发布时间】:2021-10-14 00:16:03
【问题描述】:

我买了一个新的 LCD 16*2,最后一个用这个代码运行得很好:

#include <LiquidCrystal.h>  
 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   

 void setup()
 { 
    analogWrite(6, 20);
     lcd.begin(16, 2);
  }  
     void loop()
 {  
     lcd.setCursor(0, 0);
     lcd.print("Hello Friends");
}

但是现在一个新的 LCD 不能很好地使用这个代码并显示随机字符,这些字符在 LCD 上快速移动,如下所示:

当我添加delayMiroseconds() 时,它运行良好,并且延迟了多少秒都没关系。 您能帮忙消除代码末尾的延迟吗?我应该怎么做才能使这段代码像以前一样正常运行?

【问题讨论】:

  • 确实有必要将文本多次写入显示器吗?如果将循环代码移动到 setup() 会发生什么?
  • 您还应该在使用analogWrite() 之前将引脚6 设置为输出引脚。见这里:arduino.cc/reference/en/language/functions/digital-io/pinmode
  • @GRitchie “在调用analogWrite() 之前,您无需调用pinMode() 将引脚设置为输出。”来自arduino.cc/reference/en/language/functions/analog-io/…
  • 阅读数据表。如果他们的行为不同,你不知道为什么吗?为什么你认为这部分应该像你上次试验的一样工作?
  • 您的问题与analogWrite(6, ...有关吗?

标签: arduino circuit


【解决方案1】:

根据 Arduino 论坛上的this post,PWM 不适合在没有过滤器的情况下控制这些 LCD 屏幕的对比度。

尝试加一个10K的电位器来控制对比度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多