Arduino 需要帮助吗
因此,我非常确定在这里要做什么,但由于我需要在10分钟内完成测试,我必须设置一个Arduino UNO来播放3个LED序列,其中每个LED都会亮一秒钟,然后是左边的下一个,然后是第三个,不断重复,直到你按下按钮(硬件,在电路板上),然后序列转过来,第三个LED现在是第三个,第一个是最后一个,以此类推。 这就是我到目前为止所做的:Arduino 需要帮助吗,arduino,Arduino,因此,我非常确定在这里要做什么,但由于我需要在10分钟内完成测试,我必须设置一个Arduino UNO来播放3个LED序列,其中每个LED都会亮一秒钟,然后是左边的下一个,然后是第三个,不断重复,直到你按下按钮(硬件,在电路板上),然后序列转过来,第三个LED现在是第三个,第一个是最后一个,以此类推。 这就是我到目前为止所做的: void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin1, H
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin1, HIGH);
delay(1000);
digitalWrite(ledPin2, LOW);
delay(1000);
digitalWrite(ledPin3, LOW);
delay(1000);
}
if (<Button Pressed condition>)
{
digitalWrite(ledPin3, HIGH);
delay(1000);
digitalWrite(ledPin2, LOW);
delay(1000);
digitalWrite(ledPin1, LOW);
delay(1000);
}
else
{
digitalWrite(ledPin1, HIGH);
delay(1000);
digitalWrite(ledPin2, LOW);
delay(1000);
digitalWrite(ledPin3, LOW);
delay(1000);
}
void setup()
{
引脚模式(LED引脚,输出);
}
void循环()
{
数字写入(ledPin1,高);
延迟(1000);
数字写入(ledPin2,低电平);
延迟(1000);
数字写入(ledPin3,低电平);
延迟(1000);
}
如果()
{
数字写入(ledPin3,高);
延迟(1000);
数字写入(ledPin2,低电平);
延迟(1000);
数字写入(ledPin1,低电平);
延迟(1000);
}
其他的
{
数字写入(ledPin1,高);
延迟(1000);
数字写入(ledPin2,低电平);
延迟(1000);
数字写入(ledPin3,低电平);
延迟(1000);
}
我遗漏了什么吗?还有,如果我有上拉或下拉阻力,我必须改变什么?首先,你需要做你自己的工作,特别是如果你要参加考试 然而,从开发自己答案的角度来看,逐步解决这个问题 首先,让一个版本的代码在一个Led上工作,Led先亮后灭,按下一个按钮会使其立即熄灭(如果打开)或立即点亮(如果关闭)。即使是这个版本也不容易,因为您需要编写一个中断服务例程(ISR) 一旦有一个Led可以工作,创建一个代码副本并将其命名为版本2。让版本2在两个LED上工作。要做到这一点,您需要使用在编写第一个版本时获得的所有知识。如果你对版本2有问题,你可以回到V1,用你知道有效的代码做一个小改动来测试问题 最后,按照相同的路线执行V3,仅适用于所有三个LED 给你答案的人不会帮助你在考试中取得好成绩。祝你好运,请带着具体问题返回StackOverflow