1.ตอนเช้าผมเขียนโปรแกรมคอนโทรลสเต็ปมอเตอร์แต่ความสามารถผมยังไม่ถึงเลยจำเป็นต้องหยุดไวก่อนครับแต่ความพยายามให้มากกว่านี้ครับผมคึกษาที่
http://www.arduinothai.com/product/271/cnc-shield-v3
http://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/
2.ตอนบ่ายอาจารย์ให้ทำคำสั่ง arduino รับค่าจาก VR แล้วให้แสดงที่ 7-segment ในหัวข้องที่ว่า VR อ่านค่าได้ที่ 0-1023 แต่อาจารย์ให้แสดงผมที่ 7-segment เป็น 0-99 แล้วให้ทำ ผมจึงได้แนวคิดที่ว่าต้องทำให้มันยาบขึ้นโดยค่า VR ที่ได้มา เป็นค่า 0-1023 มี 1024 จำนวนทำยังไงถึงจะไปแสดงเป็น 0-99 โดยมี 100 จำนวน ผมจึงแบ่ง 1024 เป็น 100 ส่วน จะได้ ค่าแสดงผลที่ 7-segment มีค่าเป็น 1 โดยค่า VR จะอยู่ที่ 10.33 แล้วอาจารยืให้อธิบายให้อาจารย์เข้าใจทำเอาผมนั่งทบทวนอยู่นายเลยครับโดย
หน้าตาของโปรแกรมจะประมาณนี้ครับ
int poten = A3; //analog pin 0
int A = 6;
int B = 7;
int C = 8;
int D = 9;
int E = 10;
int F = 11;
int G = 12; //pin6 to pin12 is A-G
int CO1 = 5;
int CO2 = 4;
int CO3 = A2; //pin4 5 และ A2 คือให้ตัวแปล CO1-CO3
const int segs[7] = { A, B, C, D, E, F, G };
const byte numbers[10] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101,0b1111101, 0b0000111, 0b1111111, 0b1101111 };
int digit1 = 0;
int digit2 = 0;
int digit3 = 0;
void setup() {
Serial.begin(9600); //อ่านค่า LDR
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(CO1, OUTPUT);
pinMode(CO2, OUTPUT);
pinMode(CO3, OUTPUT); //สั่ง A-G และ CO1-CO3 เป็น OUTPUT
}
void loop() {
int VR = analogRead(poten); //อ่านค่า LDR แล้วไปเก็บในLDRReading
VR=VR/113.66; //ให้ VRหาร10.33เพื่อให้ค่ามันอยู่ที่99เพื่อจะนำไปแสดงผล
lightDigit3(numbers[digit3]); //เรียกใช้ฟังก์ชัน lightDigit3 ที่อยู่ด้านล่าง
delay(5);
lightDigit2(numbers[digit2]); //เรียกใช้ฟังก์ชัน lightDigit2 ที่อยู่ด้านล่าง
delay(5);
lightDigit1(numbers[digit1]); //เรียกใช้ฟังก์ชัน lightDigit1 ที่อยู่ด้านล่าง
delay(5);
digit3 = VR%10; //เอาค่าเศษที่ได้มาแสดง เช่น 1หาร10 =0.1 เอา1มาแสดง
digit2 = (VR%100)/10;
digit1 = (VR%1000)/100; //ได้ค่าVRนำมาคำนวนเพื่อแสดงออก segment แต่ละตัว
}
void lightDigit1(byte number) { //แสดง segment ตัวที่3
digitalWrite(CO1, HIGH);
digitalWrite(CO2, HIGH);
digitalWrite(CO3,LOW);
Segments(number);
}
void lightDigit2(byte number) { //แสดง segment ตัวที่2
digitalWrite(CO1, HIGH);
digitalWrite(CO2, LOW);
digitalWrite(CO3, HIGH);
Segments(number);
}
void lightDigit3(byte number) { //แสดง segment ตัวที่1
digitalWrite(CO1, LOW);
digitalWrite(CO2, HIGH);
digitalWrite(CO3,HIGH);
Segments(number);
}
void Segments(byte number) {
for (int i = 0; i < 7; i++) {
int bit = bitRead(number, i);
digitalWrite(segs[i], bit);
}
}
3.อาจารย์ได้พาพี่ไนท์ไปเทียบราค่าสินค่าผมจึงได้ตามไปด้วนครับซึ่งอาจารย์ได้พาเที้ยวชมสินค่ามากมายเลยครับอาจารย์ใจดีมากเลยครับพาเที้ยวแถมยังเลี้ยงข้าวอีกด้วยครับมีขนมครกอีกด้วยครับ
ผมได้รู้ว่าสิ่งของยิ่งขยันเดินยิ่งราคาถูกครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น