ซึงผมก็ทำตังแต่ 9.00น - 12.00น เลยครับก็ได้ศึกษาก่อนคือผมเข้าไปหาข้อมูลใน www.google.com จึงได้เขียนโปรแกรมเป็นแบบนี้เลยครับ int S1 = 2; int S2 = 3;
int S3 = 14;int S4 = 15;
int VR = A3;
int VR2= 0;
void setup(){
pinMode(S1,INPUT);
pinMode(S2,INPUT);
pinMode(S3,INPUT);
pinMode(S4,INPUT);
for (int i=6; i <= 13; i++){
pinMode(i,OUTPUT);
}
for (int j=13; j >= 6; j--){
pinMode(j,OUTPUT);
}
}
void loop(){
if(digitalRead(S1)==HIGH){
for(int i=6; i <= 13; i++){
digitalWrite(i,HIGH);
delay(500);
digitalWrite(i,LOW);
delay(500);
}
}
if(digitalRead(S2)==HIGH){
for(int j=13; j >= 6; j--){
digitalWrite(j,HIGH);
delay(500);
digitalWrite(j,LOW);
delay(500);
}
}
if(digitalRead(S3)==HIGH){
for(int i=6; i <= 13; i++){
digitalWrite(i,HIGH);
delay(700);
digitalWrite(i,LOW);
delay(700);
}
for(int j=13; j >= 6; j--){
digitalWrite(j,HIGH);
delay(700);
digitalWrite(j,LOW);
delay(700);
}
}
if(digitalRead(S4)==HIGH){
for(int i=6; i <= 13; i++){
digitalWrite(i,HIGH);
delay(200);
digitalWrite(i,LOW);
delay(200);
}
for(int j=13; j >= 6; j--){
digitalWrite(j,HIGH);
delay(200);
digitalWrite(j,LOW);
delay(200);
}
}
if(digitalRead(VR)==HIGH){
for(int i=6; i <= 13; i++){
digitalWrite(i,HIGH);
delay(VR);
digitalWrite(i,LOW);
delay(VR);
}
for(int j=13; j >= 6; j--){
digitalWrite(j,HIGH);
delay(VR);
digitalWrite(j,LOW);
delay(VR);
}
}
}
จะได้ไฟวิ่งตามรูปนี้เลยครับ
2.ตอนบ่ายพี่ไนท์ให้ทำวงจรกด สวิทช์ S1 แล้ว 7-segment ติดเป็นเลข 1 กดครั่งที่ 2 เป็นเลข กดสวิทช์ S2 นับขึ้นครั่งละ 10 จึงได้ทำจะได้โปรแกรมประมาณนี้ครับ
const byte SEVEN_SEG[7] = {6, 7, 8, 9, 10, 11, 12}; const byte ZeroToNine[10][8] = { {1,1,1,1,1,1,0}, {0,1,1,0,0,0,0}, {1,1,0,1,1,0,1}, {1,1,1,1,0,0,1}, {0,1,1,0,0,1,1}, {1,0,1,1,0,1,1}, {1,0,1,1,1,1,1}, {1,1,1,0,0,0,0}, {1,1,1,1,1,1,1}, {1,1,1,1,0,1,1}}; ; void setup() { pinMode(A2,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); for (int i = 0; i < 7; i++) { pinMode(SEVEN_SEG[i], OUTPUT); digitalWrite(SEVEN_SEG[i], HIGH ); } digitalWrite(A2,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } void loop() { int i = 0; for (int k = 0; k< 7; k++) { digitalWrite(A2,LOW); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(SEVEN_SEG[k], ZeroToNine[i][k] ); } delay(6); for (int k = 0; k< 7; k++) { digitalWrite(A2,HIGH); digitalWrite(4,LOW); digitalWrite(5,HIGH); digitalWrite(SEVEN_SEG[k], ZeroToNine[i+1][k] ); } delay(6); for (int k = 0; k< 7; k++) { digitalWrite(A2,HIGH); digitalWrite(4,HIGH); digitalWrite(5,LOW); digitalWrite(SEVEN_SEG[k], ZeroToNine[i+2][k] ); } delay(6); }
แต่ปัญหาคือผมยังทำ INPUT รับค่าจากสวิทช์ไม่ได้ซึงผมต้องกลับมาอ่านหนังสือใหม่ครับ
ซึงปัญหาไม่ได้เกิดจากสิ่งได๋ซึ่งมันเกิดจากตัวผมเองที่ความรู้ยังไม่มีพอที่จะทำได้ ผมต้องขยันเป็น 2 หรือ 3 เท่าครับ
จะได้ไฟวิ่งตามรูปนี้เลยครับ
2.ตอนบ่ายพี่ไนท์ให้ทำวงจรกด สวิทช์ S1 แล้ว 7-segment ติดเป็นเลข 1 กดครั่งที่ 2 เป็นเลข กดสวิทช์ S2 นับขึ้นครั่งละ 10 จึงได้ทำจะได้โปรแกรมประมาณนี้ครับ
const byte SEVEN_SEG[7] = {6, 7, 8, 9, 10, 11, 12}; const byte ZeroToNine[10][8] = { {1,1,1,1,1,1,0}, {0,1,1,0,0,0,0}, {1,1,0,1,1,0,1}, {1,1,1,1,0,0,1}, {0,1,1,0,0,1,1}, {1,0,1,1,0,1,1}, {1,0,1,1,1,1,1}, {1,1,1,0,0,0,0}, {1,1,1,1,1,1,1}, {1,1,1,1,0,1,1}}; ; void setup() { pinMode(A2,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); for (int i = 0; i < 7; i++) { pinMode(SEVEN_SEG[i], OUTPUT); digitalWrite(SEVEN_SEG[i], HIGH ); } digitalWrite(A2,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } void loop() { int i = 0; for (int k = 0; k< 7; k++) { digitalWrite(A2,LOW); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(SEVEN_SEG[k], ZeroToNine[i][k] ); } delay(6); for (int k = 0; k< 7; k++) { digitalWrite(A2,HIGH); digitalWrite(4,LOW); digitalWrite(5,HIGH); digitalWrite(SEVEN_SEG[k], ZeroToNine[i+1][k] ); } delay(6); for (int k = 0; k< 7; k++) { digitalWrite(A2,HIGH); digitalWrite(4,HIGH); digitalWrite(5,LOW); digitalWrite(SEVEN_SEG[k], ZeroToNine[i+2][k] ); } delay(6); }
แต่ปัญหาคือผมยังทำ INPUT รับค่าจากสวิทช์ไม่ได้ซึงผมต้องกลับมาอ่านหนังสือใหม่ครับ
ซึงปัญหาไม่ได้เกิดจากสิ่งได๋ซึ่งมันเกิดจากตัวผมเองที่ความรู้ยังไม่มีพอที่จะทำได้ ผมต้องขยันเป็น 2 หรือ 3 เท่าครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น