ardunio code ในการสอบของวิทยาลัยแห่งหนึ่ง ตัวย่อ อด

กระทู้สนทนา
codeLEDวิ่งจากซ้ายไปขวาสามารถปรับความเร็วในการวิ่งของหลอดไฟด้วย VR1 ได้
int sensorPin = A1;
int sensorValue = 0;
void setup() {
 for (int i=8;i<=13;i++){
    pinMode( i , OUTPUT);
   } 
      Serial.begin(9600); 
}

void loop() {
  for (int i=8;i<=13;i++){
  sensorValue = analogRead(sensorPin);
  digitalWrite( i ,HIGH);
  delay(sensorValue);
  digitalWrite( i , LOW);
  delay(sensorValue);

  }
  
}

code ไฟหรี่สลับ
int sensorPin = A1;
int Voltage ;
int Volto255 ;
void setup() {

    pinMode( 9 , OUTPUT);
    pinMode( 11 , OUTPUT);
    pinMode( sensorPin , INPUT);
   
      Serial.begin(9600); 
}

void loop() {
    Voltage = analogRead(sensorPin);
    Voltage =  map(Voltage, 0, 1023, 0, 255);
        analogWrite(9,Voltage);
        analogWrite(11,255-Voltage);
    Serial.print(Voltage);
    delay(10);

  
}

code รับค่าจาก switch SW1 หลอดไฟLED วิ่งจากซ้ายไปขวา และ วิ่งจากขวาไปซ้าย
int T = 50;
int sw1 = 3;
int sw2 = 2;
int swMode;

void setup() {

  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(sw1, INPUT);
  pinMode(sw2, INPUT);

  Serial.begin(9600);
}

void loop() {
  if (swMode = digitalRead(sw1) == 0) {
    digitalWrite(8, 1);
    delay(T);
    digitalWrite(8, 0);
    delay(T);
    
    digitalWrite(9, 1);
    delay(T);
    digitalWrite(9, 0);
    delay(T);
    
    digitalWrite(10, 1);
    delay(T);
    digitalWrite(10, 0);
    delay(T);

    digitalWrite(11, 1);
    delay(T);
    digitalWrite(11, 0);
    delay(T);

    digitalWrite(12, 1);
    delay(T);
    digitalWrite(12, 0);
    delay(T);

    digitalWrite(13, 1);
    delay(T);
    digitalWrite(13, 0);
    delay(T);
  }
    if (swMode = digitalRead(sw2) == 1) {
    digitalWrite(13, 1);
    delay(T);
    digitalWrite(13, 0);
    delay(T);
    
    digitalWrite(12, 1);
    delay(T);
    digitalWrite(12, 0);
    delay(T);
    
    digitalWrite(11, 1);
    delay(T);
    digitalWrite(11, 0);
    delay(T);

    digitalWrite(10, 1);
    delay(T);
    digitalWrite(10, 0);
    delay(T);

    digitalWrite(9, 1);
    delay(T);
    digitalWrite(9, 0);
    delay(T);

    digitalWrite(8, 1);
    delay(T);
    digitalWrite(8, 0);
    delay(T);
  }

}

code เขียนโปรแกรมให้รับค่าจากคีย์บอร์ดคอมพิวเตอร์ โดย

#define ledPin2 9
#define ledPin3 10
#define ledPin4 11
#define ledPin5 12
#define ledPin6 13

int keyboardInput = 0;  // for incoming serial data

void setup() {
  Serial.begin(9600);  // opens serial port, sets data rate to 9600 bps
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  pinMode(ledPin5, OUTPUT);
  pinMode(ledPin6, OUTPUT);
}

void loop() {
  // reply only when you receive data:
  if (Serial.available() > 0) {
    // read the incoming byte:
    keyboardInput = Serial.read();
    Serial.print("Input");
    Serial.println(keyboardInput);
    if (keyboardInput == 97) {

      digitalWrite(ledPin1, HIGH);
      digitalWrite(ledPin3, HIGH);
      digitalWrite(ledPin5, HIGH);

      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin4, LOW);
      digitalWrite(ledPin6, LOW);
    }
    if (keyboardInput == 98) {
      digitalWrite(ledPin2, HIGH);
      digitalWrite(ledPin4, HIGH);
      digitalWrite(ledPin6, HIGH);

      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin3, LOW);
      digitalWrite(ledPin5, LOW);
    }
    if (keyboardInput == 99) {
      digitalWrite(ledPin2, HIGH);
      digitalWrite(ledPin4, HIGH);
      digitalWrite(ledPin6, HIGH);

      digitalWrite(ledPin1, HIGH);
      digitalWrite(ledPin3, HIGH);
      digitalWrite(ledPin5, HIGH);
    }
    if (keyboardInput == 100) {
      digitalWrite(ledPin2, HIGH);
      digitalWrite(ledPin4, HIGH);
      digitalWrite(ledPin6, HIGH);

      digitalWrite(ledPin1, HIGH);
      digitalWrite(ledPin3, HIGH);
      digitalWrite(ledPin5, HIGH);
    }
    if (keyboardInput == 100) {
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin4, LOW);
      digitalWrite(ledPin6, LOW);

      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin3, LOW);
      digitalWrite(ledPin5, LOW);
  }
 }
}
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่