2021年12月4日 星期六

指撥開關 一開機向左移1秒 再切換向右移0.3秒

 int cnt=2;

byte val=0;

void setup()

{

  pinMode(10,INPUT);

  for (int i = 2; i < 10; i++)//想法是腳位2~9共8支腳

  {

    pinMode(i, OUTPUT);//全設為輸出

    digitalWrite(i, LOW);//全設為低電位

  }

}

void loop()

{

  if (digitalRead(10)==0)//一開機讀的值為0由右向左跑一秒

  {

    digitalWrite(cnt, HIGH); delay(1000);//不可以用loop寫,因為不可以隨時切換

    digitalWrite(cnt, LOW); delay(10);

    cnt++;

    if(cnt>9)//超過9,cnt設為0

    {

      cnt=0;

    }

  }

  else

  {

    digitalWrite(cnt, HIGH); delay(300);//讀的值為1由左向右跑0.3秒

    digitalWrite(cnt, LOW); delay(10);

    cnt--;

    if(cnt<0)//因為小於0,所以有負數,cnt不可以宣告byte , 要宣告因為有正負數

    {

      cnt=9;//小於0,設為9

    }

  }

}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...