新手入门

2021-09-211万
AI 快速预览详细 收起
本文讨论了在使用Arduino控制Gravity数字16A继电器模块时遇到的串口监视问题。用户按照教程成功控制了继电器,但串口监视中出现的数字却是8,且只打印了高电平。通过分析代码,发现问题是由于`Serial.println(relayPin);`语句导致的。正确的做法是使用`Serial.println(digitalRead(relayPin));`来显示继电器的实际状态。这样可以正确显示高电平和低电平,从而解决串口监视问题。
我在学习Arduino过程中按照https://wiki.dfrobot.com.cn/Gravity%E6%95%B0%E5%AD%9716A%E7%BB%A7%E7%94%B5%E5%99%A8%E6%A8%A1%E5%9D%97_SKU_DFR0251的案例代码成功的控制了继电器,突发奇想去监视串口,按照之前看的教程,arduino中1代表高电平,0代表低电平。可是串口监视中出现的数字却是8。而且只打印了高电平,没有打印低电平。甚是不解,还请各位指教一二。一下是我的代码和监视截图:
  1. int relayPin = 8;
  2. void setup() {
  3.   // put your setup code here, to run once:
  4.     pinMode(relayPin, OUTPUT);
  5.     Serial.begin(9600);
  6. }
  7. void loop() {
  8.   // put your main code here, to run repeatedly:
  9.     digitalWrite(relayPin, HIGH);
  10.     delay(1000);
  11.     digitalWrite(relayPin, LOW);
  12.     delay(1000);
  13.     Serial.println(relayPin);
  14. }
复制代码
新手入门图1

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
三春牛-创客
三春牛-创客
sorry,我没有IDE。请问你这Arduino IDE在哪里下载的?我打开了那个网站,为什么下载要钱?(谷歌翻译说捐款什么的)
诩
回复
说实话,我也遇到过内什么……
真的太逊了
诩
回复三春牛-创客
不捐款不就是了……
Grey
Grey
relayPin = 8 是你自己定义的呀?打印出来当然也是8啊!
并不是只有高电平才打印,是打印完,立马变成了高电平,一个loop只会执行一次
参考Examples>01.Basics>DigitalReadSerial,自己写吧,很有意思的
LK
LK
作者
回复Grey
嗯嗯,谢谢,我发布之后就明白怎么回事了,谢谢解答
- 没有更多了 -