Lab 12 การเขียนAppivationใช้งานเองบนSmartphone (App inventer for Embedded) 

จุดประสงค์การเรียนรู้

          สามารถเขียนCodeในKB-IDEควบคุมการทำงานของหุ่นยนต์ผ่านสัญญาณบลูทูธได้

สาระการเรียนรู้ 

 บลูทูธ (Bluetooth) เป็นข้อกำหนดสำหรับอุตสาหกรรมเครือข่ายส่วนบุคคล (Personal Area Networks - PAN) แบบไร้สาย บลูทูธช่วยให้อุปกรณ์อิเล็กทรอนิกส์สามารถเชื่อมต่อกันได้ เช่น โทรศัพท์มือถือ พีดีเอ คอมพิวเตอร์ส่วนบุคคล โดยผ่านทางคลื่นวิทยุ

ที่มาของชื่อบลูทูธนั้นนำมาจากพระนามพระเจ้าฮารัลด์บลูทูทของประเทศเดนมาร์ก เพื่อเป็นการรำลึกถึงกษัตริย์บลูทูธผู้ปกครองประเทศกลุ่มสแกนดิเนเวีย ซึ่งในปัจจุบันเป็นกลุ่มผู้นำในด้านการผลิตโทรศัพท์มือถือป้อนสู่ตลาดโลก และระบบบลูทูธนี้ ก็ถูกสร้างขึ้นมาเพื่อใช้กับโทรศัพท์มือถือ และเริ่มต้นจากประเทศในแถบนี้ด้วยเช่นกัน

คุณสมบัติของบูลทูธ

บลูทูธจะใช้สัญญาณวิทยุความถี่สูง 2.4 GHz. (จิกะเฮิร์ซ) แต่จะแยกย่อยออกไป ตามแต่ละประเทศ อย่างในแถบยุโรปและอเมริกา จะใช้ช่วง 2.400 ถึง 2.4835 GHz. แบ่งออกเป็น 79 ช่องสัญญาณ และจะใช้ช่องสัญญาณที่แบ่งนี้ เพื่อส่งข้อมูลสลับช่องไปมา 1,600 ครั้งต่อ 1 วินาที ส่วนที่ญี่ปุ่นจะใช้ความถี่ 2.402 ถึง 2.480 GHz. แบ่งออกเป็น 23 ช่อง ระยะทำการของบลูทูธจะอยู่ที่ 5-100 เมตร โดยมีระบบป้องกันโดยใช้การป้อนรหัสก่อนการเชื่อมต่อ และ ป้องกันการดักสัญญาณระหว่างสื่อสาร โดยระบบจะสลับช่องสัญญาณไปมา จะมีความสามารถในการเลือกเปลี่ยนความถี่ที่ใช้ในการติดต่อเองอัตโนมัติ โดยที่ไม่จำเป็นต้องเรียงตามหมายเลขช่อง ทำให้การดักฟังหรือลักลอบขโมยข้อมูลทำได้ยากขึ้น โดยหลัก ของบลูทูธจะถูกออกแบบมาเพื่อใช้กับอุปกรณ์ที่มีขนาดเล็ก เนื่องจากใช้การขนส่งข้อมูลในจำนวนที่ไม่มาก อย่างเช่น ไฟล์ภาพ, เสียง, แอปพลิเคชันต่างๆ และสามารถเคลื่อนย้ายได้ง่าย ขอให้อยู่ในระยะที่กำหนดไว้เท่านั้น (ประมาณ 5-100 เมตร) นอกจากนี้ยังใช้พลังงานต่ำ กินไฟน้อย และสามารถใช้งานได้นาน โดยไม่ต้องนำไปชาร์จไฟบ่อยๆ ด้วย 


ระยะในการรับส่งข้อมูลของบลูทูธนั้นขึ้นกับแต่ละ class ที่ใช้ ซึ่งมี 4 class ดังนี้

Class 1 กำลังส่ง 100 มิลลิวัตต์ ระยะประมาณ 100 เมตร

Class 2 กำลังส่ง 2.5 มิลลิวัตต์ ระยะประมาณ 10 เมตร

Class 3 กำลังส่ง 1 มิลลิวัตต์ ระยะประมาณ 1 เมตร

Class 4 กำลังส่ง 0.5 มิลลิวัตต์ ระยะประมาณ 0.5 เมตร


อ้างอิงจาก :  https://th.wikipedia.org/wiki/%E0%B8%9A%E0%B8%B9%E0%B8%A5%E0%B8%97%E0%B8%B9%E0%B8%98

รหัสแอสกี

รหัสแอสกี (ASCII)   เป็นเป็นรหัสที่กำหนดขึ้นโดยหน่วยงานกำหนดมาตรฐานของสหรัฐอเมริกา ย่อมาจาก American Standard Code for Information Interchange  เป็นรหัส 8 บิต ใช้แทนสัญลักษณ์ต่าง ๆ ได้ 256 ตัว นิยม ใช้กันแพร่หลายกับระบบคอมพิวเตอร์ทั่วไปและระบบสื่อสารข้อมูล 

วัสดุอุปกรณ์

1. บอร์ดLotus Devkit V.1.0 จำนวน 1 ตัว

2. สายMicro USB   จำนวน 1 เส้น

3.  Servo Motor  จำนวน 1 ตัว

4.  DC Motor  จำนวน 2 ตัว

5. Battery Lipo 7.4Vdc จำนวน 1 ก้อน

วิธีทดลอง

เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมให้หุ่นยนต์เชื่อมต่อกับโทรศัพท์ที่ใช้ระบบปฏิบัติการAndroid ผ่านสัญญาณบลูทูธ

การส่งสัญญาณจากโทรศัพท์มือถือระบบปฏิบัติการAndroid เพื่อควบคุมหุ่นยนต์

2. ทำการติดตั้งApplication Joy บลูทูธในการควบคุมหุ่นยนต์ ที่ลิงค์นี้ https://drive.google.com/file/d/1Y_4fVsdOCzZU9nlfiziq7M_5vStbu09F/view โดยเป็นไฟล์ .apk นำไปติดตั้งในSmartphone ระบบปฏิบัติการAndroid

3. เมื่อทำการติดตั้งเสร็จจะได้ตัวApplication JoyPK1ดังรูปข้างล่าง

4. ทำการเขียนโปรแกรมเพื่ออ่านค่าJoy Bluetooth โดยแสดงค่ารหัสแอสกี ที่จอOLEDของหุ่นยนต์Lotus Devkit ดังรูปข้างล่าง

    โปรแกรมสามารถดาวน์โหลดได้ที่นี่ : https://drive.google.com/file/d/1HEfc12E4KJxztRownYyq6zkc_BbaIIuh/view?usp=sharing

5. ทำการเปิดApp JoyPK1 และเชื่อมกับชื่อBluetoothที่เราได้ตั้งไว้ที่บอร์ดให้เรียบร้อย ในที่นี้ตั้งชื่อไว้ Lotus01 ตามวีดีโอข้างล่างให้ทำการทดสอบการอ่านค่าสัญญาณBluetoothของปุ่มกดแต่ละปุ่มที่เข้ารหัสแอสกีไว้ จะได้ผลดังตารางในรูปข้างล่าง

6. หลังจากที่ได้ค่ารหัสแอสกี เลขฐาน 10 เป็นที่เรียบร้อยให้ทำการเขียนโค้ด เพื่อควบคุมมอเตอร์ตามรหัสแอสกีเพื่อควบคุมหุ่นยนต์

   ดาวน์โหลดโปรแกรมตัวอย่างได้ที่นี่ : https://drive.google.com/file/d/1Z1peA1PPkYEsLIV3chv7-CIyOPY-7Ua8/view?usp=sharing

7. หลังจากอัพโหลดเป็นที่เรียบร้อยสามารถทดสอบหุ่นยนต์ได้ดังวีดีโอข้างล่าง