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. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน

ไม่มีความคิดเห็น :

แสดงความคิดเห็น