- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已将 LCD 显示器连接到我正在从事的项目中。我有很多输入/输出,我想根据输入的状态显示不同的消息。现在,在我开始复杂化/添加更多硬件之前。我需要一些帮助。当没有输入处于事件状态时,我希望 LCD 显示消息“等待输入”,然后一旦收到输入一,我想显示“输入一处于事件状态”。我目前正在使用 while true 循环,但是一旦我清除 LCD 显示屏,就会出现问题,因为每次循环都会在屏幕上脉冲文本。有没有更好的方法在 while true 循环之外执行此操作?
这是我当前的代码
import I2C_LCD_driver
import time
import pigpio
mylcd = I2C_LCD_driver.lcd()
Debounce = 0.5
Input23 = 23
Input24 = 24
Input17 = 17
Output18 = 18
Output4 = 4
pi_GPIO = pigpio.pi()
pi_GPIO.set_mode(Input23, pigpio.INPUT)
pi_GPIO.set_pull_up_down(Input23 , pigpio.PUD_UP)
pi_GPIO.set_mode(Input24, pigpio.INPUT)
pi_GPIO.set_pull_up_down(Input24 , pigpio.PUD_UP)
pi_GPIO.set_mode(Input17, pigpio.INPUT)
pi_GPIO.set_pull_up_down(Input17 , pigpio.PUD_UP)
pi_GPIO.set_mode(Output18, pigpio.OUTPUT)
pi_GPIO.set_mode(Output4, pigpio.OUTPUT)
while True:
if pi_GPIO.read(Input23):
pi_GPIO.write(18, 0)
mylcd.lcd_clear()
mylcd.lcd_display_string("Input 1 Active", 1)
time.sleep(Debounce)
else:
pi_GPIO.read(Input23)
pi_GPIO.write(18, 1)
mylcd.lcd_clear()
mylcd.lcd_display_string("Awaiting Input", 1)
mylcd.lcd_display_string("Detection", 2)
time.sleep(Debounce)
最佳答案
当我用 Arduino 做类似的事情时,我使用了一个标志。在这种情况下,我确实需要有一个While True:
等效项,因为这是开发板的主要进程,并且必须在通电时以无限循环运行。
您现在遇到的问题(我猜)是每次循环遇到以下代码时,您都会创建脉冲:
mylcd.lcd_clear()
mylcd.lcd_display_string(...)
对此的任何简单(尽管不优雅)的修复都是类似的(这是Python 3,works a bit differently对于字典迭代比2.7)这样。我还没有机会测试这个(所以我可能错过了一些事情/犯了一些错别字),但希望你能明白:
inputs = {"Input17": False,
"Input23": False,
"Input24": False}
while True:
change_in_input = False
# check for change in inputs
for input in inputs:
if bool(pi_GPIO.read(input)) != bool(inputs[input]):
change_in_input = True
# update inputs based on change(s)
inputs[input] = pi_GPIO.read(input)
if change_in_input:
if not any(inputs.values()):
pi_GPIO.write(18, 1)
mylcd.lcd_clear()
mylcd.lcd_display_string("Awaiting Input", 1)
mylcd.lcd_display_string("Detection", 2)
elif inputs["Input23"]:
pi_GPIO.write(18, 0)
mylcd.lcd_clear()
mylcd.lcd_display_string("Input 1 Active", 1)
time.sleep(Debounce)
关于python - LCD 脉冲消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363399/
我有一个基于 ARM 的板( http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M1 )并在其上使用 Ubuntu-server 16.04。我有一个
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我对我的第一个 LCD 示例感到疯狂。 我使用Arduino Uno,我想用最简单的例子尝试液晶屏:Hello World液晶示例。 我以与上面示例相同的方式连接引脚,但 LCD 首先在第一行显示 1
我已经非常接近在 LCD 上按预期输出了。问题是,当我从整数中提取数字以将数字作为整数并将余数作为我的分数时,我似乎无法获得正确的输出。 在小数点之前,输出看起来很好,但在小数点之后,则不然。 voi
我已经对 Atmega-16 微 Controller 进行了编程,以连接 LM016L LCD 显示器。程序如下: #include #include #define MrLCDsCrib PO
我正在编写一个在微处理器和 LCD 屏幕上从 3 开始倒数的函数。 void countdown() { _delay_ms(1000); draw_string("3",40,20); _delay
我被要求为 a display like the one in this ad 设计一个 LCD 墙应用程序. 要求是墙可以显示全屏视频或将墙分成不同的部分以显示多个视频或图像和视频。 我想了解可以使
我在这里有一个小问题。我有一个与arduino接口(interface)的16x2 lcd。在下面的闪烁中我可以使光标闪烁,但我想闪烁数字而不是光标。如何在这里使用 arduino。 Keypad s
我为带有 HD44780 Controller 的 LCD 创建了一个库,从数据表中我读到代码 0x18 会将整个显示向左移动一个位置,但是当我这样做时,显示消失了。我还读到 0x1C 将整个显示向右
我正在尝试为 20x2 LCD 制作一些自定义字符。我正在使用 Atmega µController 来控制具有 4 位接口(interface)的 LCD。我对 LCD 的所有命令似乎都能正常工作(
这是我尝试显示湿度传感器数据的代码到我的液晶显示器... 当我运行这个程序时, Traceback(most recent call last): File "lcd.py", line 7 in l
我正在尝试通过 USB 串行端口将整数从 MATLAB 发送到 Ardunio Uno,然后将它们显示在 LCD 上。我的问题是 128 到 159 的数字在 Arduino 显示器上显示为 63。
我用Tiva c驱动LCD,但有些字符和数字显示错误,例如N显示为L,2和3显示为0,但其他字符和字母显示正确。 下面是显示字符的函数: void LCD_voidWriteCharacter(cha
我已将 LCD 显示器连接到我正在从事的项目中。我有很多输入/输出,我想根据输入的状态显示不同的消息。现在,在我开始复杂化/添加更多硬件之前。我需要一些帮助。当没有输入处于事件状态时,我希望 LCD
我有一个带有 I2C 背负式适配器的 2 x 16 LCD 显示器。作为一个简单的开始,我只是显示编码器值。但是,当我转动编码器时,我会在不同区域的液晶显示屏上看到奇怪的文字。有时显示会恢复并仅显示“
我正在用 做一个小项目arduino 以太网 板。我是arduino的新手,想知道是否关注液晶显示器是否与我的 arduino 兼容。如果兼容,我是否需要更多硬件,例如电缆等... 我的 Arduin
我正在尝试使用 Jfxtras 中的 LCD 仪表。这是我必须创建仪表的代码: final Gauge lcd = GaugeBuilder.create() .gau
我有一个数组,其输入是由用户使用键盘给出的。所有输入都存储在名为 storeKeys 的数组中。数组的索引由变量storeKeysIndex保存,初始化为0,当按下一个键时,按下的键的值存储在stor
目前我正在制作一个用于将自定义文本打印到 LCD 的类。 我将 lcd 对象作为构造函数中的参数传递给类。 Display.h #ifndef Display_h #define Display_h
我只想以 LCD 格式显示系统时钟时间。我还希望使用 hh:mm:ss 格式显示时间。我的代码如下。但是当我运行它时,它并不像我预期的那样。谁能解释一下为什么? import sys from PyS
我是一名优秀的程序员,十分优秀!