2021年7月8日 星期四

p6-17 從Arduino板接收電腦訊息控制LED移動方向

 int i;

int key;

int temp;

int led[]={2,3,4,5,6,7,8,9};

int status[]={1,0,0,0,0,0,0,0};

void setup()

{

  Serial.begin(9600); 

  Serial.println("press R : LED shift right");

  Serial.println("press L : LED shift left");

  for(i=0;i<8;i++)

      pinMode(led[i],OUTPUT); 

}

void loop() 

{

  if (Serial.available()>0) 

     key = Serial.read(); 

  if(key=='R' || key=='r')

  {

    temp=status[7];

    for(i=7;i>=0;i--)

      status[i+1]=status[i];

    status[0]=temp;  

    display();

  }

  else if(key=='L' || key=='l')

  {

    temp=status[0];

    for(i=0;i<8;i++)

      status[i]=status[i+1];

    status[7]=temp;  

    display();

  }  

}

void display()

{

  for(int i=0;i<8;i++)

  {

    if(status[i]==1)

      digitalWrite(led[i],HIGH);

    else

      digitalWrite(led[i],LOW);       

  }

  delay(200);

沒有留言:

張貼留言

algorithm

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