work plan
ภาพรวมระบบ
ภาพรวมการทำงานโปรแกรม
void loop(){
get_input() // get input from PS/2 keyboard
show_input() // show input to 16x2 LCD
cutSpace()
if (check_error){
getEachMsg()
ToPosfix()
calResult
}
}
1. Simple Calculator รับอินพุตจาก Serial มาคำนวนสมการจนได้คำตอบ
ปัญหาที่เกิด
1. check_error()
1. รับเลขตัวเลขที่เป็นลบยังไม่ได้ เช่น -1+2=, -3*4, (-2*3)=
2. รับเครื่องหมายติดกันไม่ได้ เช่น 1+-*2=, 5-*1=, 1*/-3=
3. กรณีวงลบติดลบ -(2+1)=
4. เลขลบแบบมีวงเล็บ เช่น 1+(-2)=, (-5)*4=, ((-1)-1)=
5. การขึ้นต้นสมการด้วย *, /, %, ^, ), =
6. การมีเครื่องหมายก่อน = เช่น 1+1+=, 2*4-=
7. การมีเครื่องหมายก่อน ) เช่น (1*2-)+1=, 2^(2-3+)=
2. void loop() มีส่วนที่น่าจะรวมในฟังก์ชัน check_error() ได้แก่
1. การเช็คความยาวของข้อความที่่รับเข้ามาไม่ให้เกินค่าสูงสุดที่กำหนด
2. การทำงานซับซ้อน
3. code ไม่มี comment
สิ่งที่จะดำเนินการต่อ
1. วาดรูป Wiring Diagram เพื่อแสดงการเชื่อมต่อของอุปกรณ์ โดยใช้โปรแกรม Fritzing ระบุขาสัญญาณที่ใช้ให้ชัดเจน
2. รับอินพุตจาก Serial แสดงผลลัพธ์ผ่านจอ LCD (16x2 หรือ 20x4)
3. รับอินพุตจาก PS/2 keyboard มาแสดงบน Serial monitor ได้
4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )
5. มีเอกสารแสดงการอธิบายการทำงานของโค้ดที่เขียน
1. อธิบายหลักการทำงานของฮาร์ดแวร์ที่ใช้งาน เช่น โมดูล LCD และ PS/2 Keyboard
2 ระบุรายการอุปกรณ์ที่ใช้ในการทดลอง
3. มีรูปสัญญาณจาก PS/2 keyboard ที่วัดด้วย Digital Oscilloscope พร้อมชื่อสัญญาณ และระบุว่า เป็นข้อมูลไบต์อะไรในขณะนั้น
4. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
5. มีรูปภาพฮาร์ดแวร์ที่ใช้ทดลองการทำงานของโค้ดจริง
6. แก้ไข check_error
7. แก้ไข void loop
แบ่งงานรายบุคคล
นาย หฤษฎ์ จันทร์พัฒนพงศ์ 5501012620103
6. แก้ไข check_error พร้อมเขียนเอกสารอธิบายโค้ด
5.1 อธิบายหลักการทำงานของฮาร์ดแวร์ที่ใช้งาน เช่น โมดูล LCD และ PS/2 Keyboard
3. รับอินพุตจาก PS/2 keyboard มาแสดงบน Serial monitor ได้
4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )
นาย ณภัทร รอดแตง 5501012620049
1. วาดรูป Wiring Diagram เพื่อแสดงการเชื่อมต่อของอุปกรณ์ โดยใช้โปรแกรม Fritzing ระบุขาสัญญาณที่ใช้ให้ชัดเจน
4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )
5.5. มีรูปภาพฮาร์ดแวร์ที่ใช้ทดลองการทำงานของโค้ดจริง
5.2 ระบุรายการอุปกรณ์ที่ใช้ในการทดลอง
นาย พงศ์ญานนท์ ยางเอน 5501012630184
รวมโค้ด
7. แก้ไข void loop
2. รับอินพุตจาก Serial แสดงผลลัพธ์ผ่านจอ LCD (16x2 หรือ 20x4)
5.3. มีรูปสัญญาณจาก PS/2 keyboard ที่วัดด้วย Digital Oscilloscope พร้อมชื่อสัญญาณ และระบุว่า เป็นข้อมูลไบต์อะไรในขณะนั้น
5.4. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
1. อธิบายหลักการทำงานของฮาร์ดแวร์ที่ใช้งาน เช่น โมดูล LCD และ PS/2 Keyboard
2 ระบุรายการอุปกรณ์ที่ใช้ในการทดลอง
3. มีรูปสัญญาณจาก PS/2 keyboard ที่วัดด้วย Digital Oscilloscope พร้อมชื่อสัญญาณ และระบุว่า เป็นข้อมูลไบต์อะไรในขณะนั้น
4. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
5. มีรูปภาพฮาร์ดแวร์ที่ใช้ทดลองการทำงานของโค้ดจริง
6. แก้ไข check_error
7. แก้ไข void loop
แบ่งงานรายบุคคล
นาย หฤษฎ์ จันทร์พัฒนพงศ์ 5501012620103
6. แก้ไข check_error พร้อมเขียนเอกสารอธิบายโค้ด
5.1 อธิบายหลักการทำงานของฮาร์ดแวร์ที่ใช้งาน เช่น โมดูล LCD และ PS/2 Keyboard
3. รับอินพุตจาก PS/2 keyboard มาแสดงบน Serial monitor ได้
4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )
นาย ณภัทร รอดแตง 5501012620049
1. วาดรูป Wiring Diagram เพื่อแสดงการเชื่อมต่อของอุปกรณ์ โดยใช้โปรแกรม Fritzing ระบุขาสัญญาณที่ใช้ให้ชัดเจน
4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )
5.5. มีรูปภาพฮาร์ดแวร์ที่ใช้ทดลองการทำงานของโค้ดจริง
5.2 ระบุรายการอุปกรณ์ที่ใช้ในการทดลอง
นาย พงศ์ญานนท์ ยางเอน 5501012630184
รวมโค้ด
7. แก้ไข void loop
2. รับอินพุตจาก Serial แสดงผลลัพธ์ผ่านจอ LCD (16x2 หรือ 20x4)
5.3. มีรูปสัญญาณจาก PS/2 keyboard ที่วัดด้วย Digital Oscilloscope พร้อมชื่อสัญญาณ และระบุว่า เป็นข้อมูลไบต์อะไรในขณะนั้น
5.4. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
สมัครสมาชิก:
ส่งความคิดเห็น
(
Atom
)
ไม่มีความคิดเห็น :
แสดงความคิดเห็น