ใบงานที่1 arduino หาเอง
ใบรายงานผลการปฏิบัติงาน
1. Code Program ที่เขียนขึ้น ด้วยโปรแกรม Arduino พร้อมอธิบายโปรแกรม
int ledPin[] ={2,3,4,5,6,7,8,9};
int inputPinL = 0;
int inputPinR = 1;
int valL = 0;
int valR = 0;
void setup() {
for(int i=0;i<8;i++){
pinMode(ledPin[i], OUTPUT);
}
pinMode(inputPinL, INPUT);
pinMode(inputPinR,INPUT);
}
void loop(){
valL = digitalRead(inputPinL);
valR = digitalRead(inputPinR);
stop();
if (valL == HIGH && valR == LOW) {
} else if (valL == LOW && valR == HIGH){
RtoL();
}else {
stop();
}
}
void stop(){
for(int i=0;i<8;i++){
digitalWrite(ledPin[i],LOW);
}
}
void LtoR(){
int delayTime=100;
for(int i=0;i<8;i++){
digitalWrite(ledPin[i],HIGH);
delay(delayTime);
}
}
void RtoL(){
int delayTime=100;
for(int i=7;i>=0;i--){
digitalWrite(ledPin[i],HIGH);
delay(delayTime);
}
}
int inputPinL = 0;
int inputPinR = 1;
int valL = 0;
int valR = 0;
void setup() {
for(int i=0;i<8;i++){
pinMode(ledPin[i], OUTPUT);
}
pinMode(inputPinL, INPUT);
pinMode(inputPinR,INPUT);
}
void loop(){
valL = digitalRead(inputPinL);
valR = digitalRead(inputPinR);
stop();
if (valL == HIGH && valR == LOW) {
} else if (valL == LOW && valR == HIGH){
RtoL();
}else {
stop();
}
}
void stop(){
for(int i=0;i<8;i++){
digitalWrite(ledPin[i],LOW);
}
}
void LtoR(){
int delayTime=100;
for(int i=0;i<8;i++){
digitalWrite(ledPin[i],HIGH);
delay(delayTime);
}
}
void RtoL(){
int delayTime=100;
for(int i=7;i>=0;i--){
digitalWrite(ledPin[i],HIGH);
delay(delayTime);
}
}
3. อธิบายการทำงานของโปรแกรม
เมื่อ กดสวิตซ์ตัวแรก วิ่งจากซ้ายไปขวา
เมื่อ กดสวิตซ์ตัวที่2 จจะวิ่งจากขวาไปซ้าย
เมื่อ กดสวิตซ์ตัวที่2 จจะวิ่งจากขวาไปซ้าย
ความคิดเห็น
แสดงความคิดเห็น