จุดประสงค์การเรียนรู้
สามารถเขียน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 ควบคุมหุ่นยนต์
วัสดุอุปกรณ์
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. หลังจากอัพโหลดเป็นที่เรียบร้อยสามารถทดสอบหุ่นยนต์ได้ดังวีดีโอข้างล่าง
ตอนที่ 2 เขียนแอพพลิเคชันควบคุมหุ่นยนต์
1.เข้ามาที่เว็บไซต์ https://appinventor.mit.edu/ แล้วเลือกที่ Create Apps แล้วทำการลงทะเบียนเข้าใช้งาน
2. หลังจากนั้นให้ทำการเลือก Projects และเลือก Start new project และทำการตั้งชื่อPrject ที่แถบProject name หลังจากนั้นให้กดที่ปุ่ม OK ดังรูปข้างล่าง
3. ที่แถบDesigner ให้ออกแบบProject ดังภาพข้างล่าง
4. ที่หน้าBlocks ให้ทำการเขียนCode เพื่อรับส่งค่าสัญญาณกับหุ่นยนต์Lotus Devkit ด้วยสัญญาณBluetooth
5. หลังจากนั้นให้ทำการโหลดApplication ที่มีชื่อว่า เพื่อทำการสแกนqr code ของโปรแกรมที่สร้างลงในเครื่องโทรศัพท์
6. ทำการเปิดApplication MIT AI2 Companion แล้วสแกน QR Codeที่ได้มาจากโปรแกรม Appinventor2
7. หลังจากนั้นจะปรากฎหน้าต่างให้ดาวน์โหลดไฟล์ .apk ลงบนเครื่องคอมพิวเตอร์ (ฝั่งซ้าย) และแบบดาวน์โหลดลงบนSmartphone(ฝั่งซ้าย) โดยผ่านApp MIT AI2 ที่ติดตั้งมาเมื่อสักครู่ ในที่นี้ขอเลือกดาวน์โหลดไฟล์ .apkผ่านมือ
8.เมื่อสแกนเสร็จจะทำการดาวน์โหลดApplication ที่เราสร้างขึ้นเป็นนามสกุล .apk หลังจากนั้นให้ทำการติดตั้งลงในSmartphoneได้เลย
กรณีที่ไม่สามารถเขียนApplicationได้สามารถดาวน์โหลดไฟล์ได้ที่นี่ครับ