2020年3月24日 星期二

Arduino流水燈



#include <Arduino.h>


void setup() {
  //pinMode(0, OUTPUT);
  //pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  pinMode(16, OUTPUT);
  pinMode(17, OUTPUT);
  pinMode(18, OUTPUT);
  pinMode(19, OUTPUT);
  pinMode(20, OUTPUT);
  pinMode(21, OUTPUT);
  pinMode(22, OUTPUT);
  pinMode(23, OUTPUT);
  pinMode(24, OUTPUT);
  pinMode(25, OUTPUT);
  pinMode(26, OUTPUT);
  pinMode(27, OUTPUT);
  pinMode(28, OUTPUT);
  Serial.begin(9600);
}


char s[100];
void loop() {
int i;
for (i = 0; i < 5; i++)LED_Type01();LED_Type_Interrupt();
for (i = 0; i < 5; i++)LED_Type02();LED_Type_Interrupt();
for (i = 0; i < 5; i++)LED_Type03();LED_Type_Interrupt();
}


void LED_Type_Interrupt(){
  int i, j, k;
  j=150;
  for(k=0;k<3;k++){
    for (i = 2; i < 18; i++) digitalWrite(i, HIGH);
    delay(j);
    for (i = 2; i < 18; i++) digitalWrite(i, LOW);
    delay(j);
  }
}
  

void LED_Type03(){
  int i, j, k;
  j=8;
  for (i = 2,k=17; i < 9; i++,k--) {
    LED(i, j);    
    LED(k, j); 
    Serial.println(i);
  }
}


  
void LED_Type02(){
  int i, j, k;
  j=8;
  for (i = 2; i < 9; i++) {
    LED(i, j);    
    LED(i+8, j); 
    Serial.println(i);
  }
}



void LED_Type01(){
  int i, j, k;
  j=4;
  for (i = 2; i < 18; i++) {
    LED(i, j);    
    Serial.println(i);
  }
  for (i = 17; i >= 0; i--) {
    LED(i, j);
    Serial.println(i);
  }
}

void LED(int PinN, float dms) {
  digitalWrite(PinN, HIGH);   // set the LED on
  delay(dms);              // wait for a second
  digitalWrite(PinN, LOW);    // set the LED off
  delay(dms);
}

沒有留言: