gpt4 book ai didi

c++ - Arduino (C/C++) 代码在 LCD 上显示数组内容

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:55 24 4
gpt4 key购买 nike

在发布这篇文章之前,我已经尝试做尽可能多的研究,但我是编程的新手,所以在这一点上我普遍的无知使我无法真正知道如何提出正确的问题。

当前目标:

  1. 构建一个存储 50 多个英语单词/短语的数组;
  2. 访问我的 Arduino 上的阵列,并在我的 LCD 上显示单个单词/短语;和
  3. 通过点击 Arduino 上的按钮切换单词/短语。

硬件规范:SainSmart UnoR3,基于HD44780的LCD

问题:编写代码,在我按下按钮时显示一个新单词。

“Hello, world!”的代码液晶屏

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

数组中随机字符串的代码

#include <stdio.h>
#include <stdlib.h>

int main() {
const char *messages[] = {
"Hello!",
"How are you?",
"Good stuff!"
};
const size_t messages_count = sizeof(messages) / sizeof(messages[0]);
char input[64];
while (1) {
scanf("%63s", input);
printf("%s\n", messages[rand() % messages_count]);
}
return 0;
}

最佳答案

我还有一个 Arduino Uno 和一个 LCD 显示器。您的任务将是调试硬件和软件。所以,让我问一些问题。

在您的代码 list 中,当您运行草图时,您会得到一个“hello world!”吗?显示在液晶屏上?

您提供的 main() 与此问题有什么关系。具体来说,main() 在哪里运行?我希望它不是你素描的一部分!!

在您的loop() 中,您没有有延迟。对于新手程序员...通常在显示某些内容时您想要暂停几秒钟,否则您将以每秒数千次的变化来驱动 LCD。

因此添加一个 delay(3000); 语句以在 LCD 更新之间延迟 3 秒(3,000 毫秒)。

接下来,在“loop()”中,您需要测试按钮按下,但现在只需让 LCD 显示即可。

请执行此操作并相应地更新您的问题,我会跟进更多建议/问题。

关于c++ - Arduino (C/C++) 代码在 LCD 上显示数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18405684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com