วันจันทร์ที่ 26 ตุลาคม พ.ศ. 2558

Assignment 2 (microcontroller interface)

1. แนวคิด และ วิธีการเขียน code


  • สามารถ ส่งค่า 0 - 99 จาก smartphone ไปแสดงบนบอร์ด NX-100 ในรูปแบบของ 7-segment ได้
  • อ่านค่า VR adjust ที่อยู่บนบอร์ด NX-100 แล้วส่งกลับไปให้ Smartphone ได้ในรูปแบบ Voltage 
  • มีการใช้ switch case ในการลำดับเงื่อนไขว่าควรจะเข้า menu ไหนก่อน และ หลัง 
  • สร้าง busout 2 ชุด busout 1 ชุดควบคุม 7-segment 1 ตัว
  • รับค่า analog จาก VR adjust แล้วนำไป calculation ให้ได้ 0 - 3.3 V เพื่อตอบค่ากลับไปที่ smartphone  

ปัญหาที่พบ


  • เริ่มแรกผมใช้function  pc.getc() กับ pc,readable() เป็นส่วนสำคัญแต่ความยากอยู่ตรงค่าที่ได้รับจาก smartphone เป็น ascii ผมจึงต้องสร้าง function ที่แปลง ascii เป็น int แต่ด้วยความที่มันใช้งานได้ลำบาก และเสียเวลา จึงเปลี่ยนเป็นรับค่าโดย function scanf() แทน เพราะสามารถรับค่าเป็น int ได้เลย ไม่ต้องแปลงค่าอีก
  • การที่ใช้ scanf() มีข้อเสียคือต้องส่ง "\n" มาหลังค่า data ที่เราส่งเพื่อให้ scanf() รู้ว่านั่นคือจบdataแล้ว แต่ทั้งนี้ app อย่าง roboremo สามารถ setting ค่าได้ว่าตอนจบ จะให้ส่ง "\n" ปิด    ท้ายเสมอ

2. VDO แสดงการทำงานของ Program

#เราได้ทำการ test โดยใช้ application "Terminal Bluetooth" ของ Android

Step 1 : เลือกว่าจะกด 1 : ส่งเลข 00-99 ไปแสดงที่ 7-segment 
                              กด 2 : ถามหาค่า Voltage ของ VR adjust ณ ปัจจุบัน

Step 2 : เมื่อเลือกปุ่ม 1 ให้ใส่ค่า 00 - 99 ลงไปโดยมี "\n" ปิดท้าย

Step 3 : ค่าdata ที่รับเข้ามาจะถูก show บน 7-segment ทั้ง 2 อันเป็นตัวเลขตามที่ส่งจาก smartphone

Step 4 : เมื่อเลือกปุ่ม 2 ระบบจะส่งค่า Voltage กลับมาให้กับผู้ใช้ทันทีในรูปของ text ตัวอย่างเช่น

"Voltage from VR adjust : 0.47 V " เป็นต้น



3.code ที่กลุ่มของเราเขียนขึ้นครับ

http://www.mediafire.com/download/21tnmfoql1zc51i/Assignment2_digitalFRA221.rar

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

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