如何在arduino uno上编程数字管脚?
我想用arduino做一个微控制器。我从arduino提供+5伏电压,并将其发送到NC按钮(以便我可以手动决定何时输出特定的定时脉冲)。在按钮之后,它转到我设置为inPin的pin(pin8)。然后我想让程序把引脚7设为高电平(有一个延迟),然后它转到晶体管 这是我尝试编写的代码(我对编码几乎一无所知):如何在arduino uno上编程数字管脚?,arduino,microcontroller,arduino-uno,Arduino,Microcontroller,Arduino Uno,我想用arduino做一个微控制器。我从arduino提供+5伏电压,并将其发送到NC按钮(以便我可以手动决定何时输出特定的定时脉冲)。在按钮之后,它转到我设置为inPin的pin(pin8)。然后我想让程序把引脚7设为高电平(有一个延迟),然后它转到晶体管 这是我尝试编写的代码(我对编码几乎一无所知): 出于某种原因,输出一直很高。我记得把一个电阻连接到GND上,这样数字管脚在应该低的时候会保持低 提前谢谢 如果(inPin=HIGH)是一个错误,首先使用“==”而不是“=”。您还需要读取输
出于某种原因,输出一直很高。我记得把一个电阻连接到GND上,这样数字管脚在应该低的时候会保持低 提前谢谢
如果(inPin=HIGH)
是一个错误,首先使用“==”
而不是“=”
。您还需要读取输入引脚状态:int invalue=digitalRead(inPin)代码>
此外,默认情况下,所有管脚都配置为输入,因此不需要使用pinMode(inPin,INPUT)代码>
在这些更改之后,您的代码将如下所示:
int ledPin = 7;
int inPin = 8;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop()
{
if (digitalRead(inPin)==HIGH) digitalWrite(ledPin, HIGH);
delay (500);
digitalWrite(ledPin, LOW);
}
弗拉基米尔的回答是正确的。此外,我强烈建议您开始查看arduino IDE中的示例,看看它们是如何工作的。并尝试找到至少一些基本的教程。。。
int ledPin = 7;
int inPin = 8;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop()
{
if (digitalRead(inPin)==HIGH) digitalWrite(ledPin, HIGH);
delay (500);
digitalWrite(ledPin, LOW);
}