Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino 需要帮助吗_Arduino - Fatal编程技术网

Arduino 需要帮助吗

Arduino 需要帮助吗,arduino,Arduino,因此,我非常确定在这里要做什么,但由于我需要在10分钟内完成测试,我必须设置一个Arduino UNO来播放3个LED序列,其中每个LED都会亮一秒钟,然后是左边的下一个,然后是第三个,不断重复,直到你按下按钮(硬件,在电路板上),然后序列转过来,第三个LED现在是第三个,第一个是最后一个,以此类推。 这就是我到目前为止所做的: void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin1, H

因此,我非常确定在这里要做什么,但由于我需要在10分钟内完成测试,我必须设置一个Arduino UNO来播放3个LED序列,其中每个LED都会亮一秒钟,然后是左边的下一个,然后是第三个,不断重复,直到你按下按钮(硬件,在电路板上),然后序列转过来,第三个LED现在是第三个,第一个是最后一个,以此类推。 这就是我到目前为止所做的:

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