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 เพื่อควบคุมหุ่นยนต์
นำบอร์ดLotus Devkit V.1.0 มาต่อกับสายMicro USB พร้อมทั้งประกอบเป็นหุ่นยนต์ให้เรียบร้อย ดังรูปข้างล่าง
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. หลังจากอัพโหลดเป็นที่เรียบร้อยสามารถทดสอบหุ่นยนต์ได้ดังวีดีโอข้างล่าง