2015年11月23日 星期一

02160473賴緯漢_2015互動技術概論 week11

今日作業
ARDUINO訊號輸出
由LED1亮到LED5
再由LED5亮到LED1
先把電路接好
















































程式碼:
void setup() {
  // put your setup code here, to run once:
pinMode(9,OUTPUT);//訊號9輸出
pinMode(10,OUTPUT);//訊號10輸出
pinMode(11,OUTPUT);//訊號11輸出
pinMode(12,OUTPUT);//訊號12輸出
pinMode(13,OUTPUT);//訊號13輸出
}

void loop() {
  // put your main code here, to run repeatedly:
for(int i=9;i<=13;i++)//由訊號9~訊號13輸出
{
digitalWrite(i,HIGH);//亮
delay(500);//停留0.5秒
digitalWrite(i,LOW);//不亮
delay(500);//停留0.5秒
}

for(int i=13;i>=9;i--)//由訊號13~訊號9輸出
{
digitalWrite(i,HIGH);//亮
delay(500);//停留0.5秒
digitalWrite(i,LOW);//不亮
delay(500);//停留0.5秒
}

}
現在再加上
pinMode(INPUT_PULLUP);
可以輸入訊號使原本程式碼做的事情改變

















































程式碼:
void setup() {
  // put your setup code here, to run once:
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
pinMode(2,INPUT_PULLUP);//訊號2輸入
}

void loop() {
  // put your main code here, to run repeatedly:
for(int i=9;i<=13;i++)
{
digitalWrite(i,HIGH);
delay(500);
digitalWrite(i,LOW);
delay(500);
}

if(digitalRead(2)==HIGH)//如果訊號2是接地的則做此動作
{
  for(int i=13;i>=9;i--)
  {
  digitalWrite(i,HIGH);
  delay(500);
  digitalWrite(i,LOW);
  delay(500);
  }
}

}

沒有留言:

張貼留言