หน้าเว็บ

วันจันทร์ที่ 25 สิงหาคม พ.ศ. 2557

Bluetooth Control with AppInventor2 EP.2

สร้างโปรแกรมควบคุม IPST-SE แบบไร้สายผ่าน Android ด้วยโมดูลบลูทูธและซอฟต์แวร์ AppInventor2 ตอน 2

การต่อโมดูล BlueStick เข้ากับบอร์ด IPST-SE




โมดูล BlueStick ควรใช้ร่วมกับ ADX-BTSTICK จะได้ไม่ต้องกังวลเรื่องการต่อกลับขั้ว สำหรับการต่อสายเพื่อสื่อสารอนุกรม ขาส่ง(TxD) จะต้องต่อขารับ (RxD) ถึงจะรับส่งข้อมูลกันได้ ดังรูป

การเขียนโปรแกรมรับค่าจาก BlueStick

   สำหรับบอร์ด IPST-SE , POP-XT และ Robo-Creator จะมีฟังก์ชั่นสำหรับการสื่อสารอนุกรม ใช้ชื่อว่า UART โดยมีคำสั่งใช้งานบ่อยๆ ดังนี้
1. uart1()  สำหรับส่งข้อความออกไป
2. uart1_available() สำหรับดูผลว่ามีข้อมูลถูกส่งเข้ามาหรือไม่
3. uart1_getkey() สำหรับอ่านค่าข้อมูลที่ถูกส่งมา

ตัวอย่างโปรแกรม รับค่าและแสดงผลที่ GLCD

#include <ipst.h>
byte x;
void setup(){
  setTextSize(2);
  glcd(0,0,"You Press:");
  setTextSize(3);
}
void loop(){
  if(uart1_available()){
    x=uart1_getkey();
    if(x==1){
      glcd(1,0,"ON ");
    }
    else if(x==0){
      glcd(1,0,"OFF");
    }
  }
}

การทำงานของโปรแกรม
  ส่วน void setup() แสดงข้อความ "You Press"
  ส่วน void loop() จะวนตรวจสอบว่ามีข้อมูลถูกส่งมาหรือไม่ ถ้ามีให้เก็บค่าข้อมูลไว้ที่ตัวแปร x จากนั้นเอามาตรวจสอบว่าตัวแปร x มีค่าเท่ากับ 1 หรือไม่ ถ้าใช่แสดงข้อความ ON ที่หน้าจอ GLCD   ถ้าตรวจสอบแล้วมีค่าเท่ากับ 0 ให้แสดงข้อความ OFF ที่หน้าจอ GLCD
สำหรับการควบคุมกรณีที่เป็นหุ่นยนต์ สามารถปรับปลี่ยนชุดคำสั่งจาก GLCD เป็นการขับเคลื่อนมอเตอร์ได้


การทดสอบผลการทำงานของ App ที่เขียนขึ้น

หลังจากที่ฝั่ง IPST-SE ดาวน์โหลดโปรแกรมและพร้อมทำงานแล้ว จะเห็นโมดูล BlueStick มีไฟติดกะพริบสีแดง ซึ่งหมายถึงพร้อมรอรับการจับคู่

ถ้าเป็นการจับคู่ครั้งแรกจะต้อง ไปที่ ตั้งค่า > บลูทูธ ของแอนดรอยด์ก่อน จากนั้นกดค้นหา เพื่อหาโมดูล BlueStick ซึ่งอาจจะตั้งชื่อเป็น Linvor หรือชื่ออื่นๆ (สามารถปรับตั้งชื่อได้ด้วยบอร์ด UCON-2200)


ให้คลิกเลือก อย่างในตัวอย่างผู้เขียนตั้งชื่อว่า BlueRover0002 ให้เลือกเพื่อจับคู่จากนั้น ใส่ PIN ซึ่งในที่นี้เลือกใช้ 1234 เป็นค่ามาตรฐาน



อุปกรณ์ BlueStick จะอยู่ในรายชื่อของอุปกรณ์ที่จับคู่แล้ว


ที่หน้าจอหลักของโปรแกรม ซึ่งตอนนี้มีปุ่ม วางอยู่ 3 ปุ่ม ให้เลือกปุ่ม Connect เพื่อเปิดหน้าต่างเชื่อมต่อ จากนั้นเลือกอุปกรณ์ที่ต้องการเชื่อมต่อดังรูป


เมื่อเลือกแล้ว LED สีแดงที่ BlueStick จะติดค้าง เมื่อกดสวิตช์ ON ที่หน้าจอ ข้อความที่ GLCD จะแสดงข้อความ "ON" ส่วนเมื่อกดสวิตช์ OFF ที่หน้าจอ ข้อความที่ GLCD จะแสดงข้อความ "OFF"





การติดตั้ง App ไปที่แอนดรอยด์


เมื่อทดสอบโค้ดเป็นที่พอใจแล้ว ต้องการติดตั้ง App ไปยังแอนดรอยด์ให้ไปที่เมนู Build เลือกทำได้ 2 ทาง


วิธีที่ 1  App (provide QR code for .apk) วิธีนี้จะมีหน้าต่างแสดง QR code สำหรับลิงก์ที่จะดาวน์โหลดไฟล์ .apk สำหรับการติดตั้งซึ่งจะมีอายุให้ใช้ได้ 2 ชั่วโมงเท่านั้น 

ถ้าใช้วิธีนี้ให้เปิดโปรแกรม MIT AI2 Companion เพื่อ scan QR code นี้เพื่อติดตั้งไฟล์ลงเครื่องได้ทันที


วิธีที่ 2 เลือกบันทึกไฟล์ลงคอมพิวเตอร์ แล้วค่อยคัดลอกใส่เครื่องไปติดตั้ง ซึ่งอาจจะไปติดตั้งเครื่องอื่นๆก็ได้


ซึ่งจากทั้งสองวิธีก็ใช้วิธีการติดตั้งเหมือนกับติดตั้ง App ทั่ว ๆไป
ตอนนี้แอนดรอยด์ของเราก็มีโปรแกรมของเราเองให้ใช้งานเพื่อควบคุมได้แล้วครับ
ตอนต่อไป ลองเขียนโปรแกรมเพื่อควบคุมหุ่นยนต์จริงๆ กันดูนะครับ




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