> For the complete documentation index, see [llms.txt](https://kb32ft.makerasia.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb32ft.makerasia.com/drone-kit/drone-developer/remote-xy/kbide-block-programing.md).

# RemoteXY - KBIDE

## เริ่มต้นต้องติดตั้ง โปรแกรม KBIDE ก่อนตามลิงค์ด้านล่างเลย

{% content-ref url="/pages/-MPnCdVLKnjmsIpcgN4a" %}
[KBIDE Install](/getstart/kbide.md)
{% endcontent-ref %}

## จากนั้นติดตั้งบอร์ด KB32-FT และพร้อมพัฒนาโปรแกรมโดรน

{% content-ref url="/pages/-MPnUdL8sP8\_\_RAASyZC" %}
[KB32-FT Board Install](/getstart/kbide/kbide.md)
{% endcontent-ref %}

### เปิดตัวอย่างในหน้า Example ของบอร์ด KB32-FT ได้เลย

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_jYrDccezs9lpZrGR5%2F-M_p28UZG8DwwFEq3Haq%2Fimage.png?alt=media\&token=ca956e24-2eef-4129-8274-2fdea6dbe980)

#### เปิดตัวอย่างในหน้า Example ของบอร์ด KB32-FT ในหมวดที่ 11-Drone

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_jYrDccezs9lpZrGR5%2F-M_p2F9pEo7R0S1K1hMA%2Fimage.png?alt=media\&token=a17998b6-b5e2-4e0f-a7e7-642c9c8b4373)

### ขั้นตอนที่ 1 ตัวอย่างโปรแกรม 01-RemoteXY ทดสอบการเชื่อมต่อ APP ควบคุม

ในตัวอย่างนี้เป็นตัวอย่างการ เชื่อมต่อของโปรแกรมบนบอร์ด KB32-FT กับ App RemoteXY\
ซึ่งหลักการคือ บอร์ด KB32-FT จะปล่อยการเชื่อมต่อ Wifi ในโหมด AP เพื่อให้อุปกรณ์ที่สามารถเชื่อมต่อ Wifi มาเชื่อมต่อกับบอร์ด KB32-FT ระยะการเชื่อมต่อสามารถคุยกันได้ระยะประมาณ 100 เมตรในที่โล่งแจ้ง

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_jYrDccezs9lpZrGR5%2F-M_p2orIwslRK-YRx2Vz%2Fimage.png?alt=media\&token=0227ae9e-cee1-4684-b188-3dbe1d63af44)

จากรูปตัวอย่างการต่อ Block จะเริ่มจากการ เซทโหมดจอเป็นโหมด LCD Dispaly จากนั้นแสดงข้อความ "Drone" และ "RemoteXY OK!" ตามลำดับ ในตัวอย่างสามารถทดลองแก้ไขชื่อ Wifi&#x20;

{% hint style="success" %}
USERNAME : .......... (ตั้งชื่อ Wifi เป็นภาษาอังกฤษหรือตัวเลข)

PASSWORD : .......... (ตั้งระหัสผ่าน เป็นภาษาอังกฤษหรือตัวเลข)

PORT : 6377 (ไม่แนะนำให้เปลี่ยน)
{% endhint %}

และลากบล๊อก RemoteXY : Running มาต่อที่ช่อง Loop เพื่อเปิดใช้งาน จากนั้น Upload Code (Compile & Run)

{% hint style="warning" %}

> อย่าลืม Setup Board : เลือก COMPORT และ Baudrate ก่อนกด Upload (Compile & Run)
> {% endhint %}

{% hint style="success" %}
หาก Upload เสร็จแล้วสามารถทดลองใช้ App RemoteXY เชื่อมต่อได้เลย
{% endhint %}

### ขั้นตอนที่ 2 ตัวอย่างโปรแกรม 02-DroneCal ก่อน Upload Code 03-DroneRUN

ในขั้นตอนที่ 2 ตัวอย่างโปรแกรม DroneCal เป็นการเรียกอ่านค่าเริ่มต้นของเซนเซอร์ Accelerometer และ Gyroscope ของชิพ MPU-6050 ซึ่งใช้เป็นค่า offset ของโดรน&#x20;

{% hint style="danger" %}
จำเป็นต้องมีการคาริเบทก่อน Upload Code (Compile & Run) ใหม่เข้าไปเสมอ
{% endhint %}

{% hint style="success" %}
Trip : ค่าที่คาริเบทเป็นค่าเริ่มต้นของเซนเซอร์ ผู้พัฒนาสามารถบันทึกไว้และเรียกอ่านได้ใน EPPROM
{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_pyNLosItnkpXKQ4KF%2Fimage.png?alt=media\&token=12be90c9-8bac-4b67-9191-df74e3d69750)

จากรูปตัวอย่างมีเพียงการเพิ่ม ฺBlock Drone : Calibration เข้าไป ตัวโปรแกรมจะเรียกอ่านและ แสดงค่าผ่านทาง Serial Port เมื่อเพิ่ม Block เสร็จแล้วจากนั้นกด Upload (Compile & Run)

เมื่อ Upload เสร็จแล้วเปิดเมนู **Serial Monitor**

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_pziLno2v9I3SN5fJl%2Fimage.png?alt=media\&token=15d4073b-c9c9-445b-b1b2-f7d0ec560962)

{% hint style="warning" %}
**Serial Monitor** เลือก **COMPORT .....** ตาม Port KB32-FT **Serial Uplaod Baudrate : 115200**

กด >>>> **Connect** >>>>  หากไม่มีข้อความแสดงให้ **กดปุ่ม Reset บนบอร์ด KB32-FT**
{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q0hiRmPQFkrfyRfGE%2Fimage.png?alt=media\&token=47d996ec-981e-48b9-be4a-49637c4c5b4c)

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q-58t6KdOoApbxeIP%2Fimage.png?alt=media\&token=6ca33ea7-6490-4f1f-ad12-26b99d5506dd)

เมื่อเปิดเมนู **Serial Monitor** แล้วตัวโปรแกรมจะแสดงค่า Accl , Gyro ของทั้ง 3 แกน จะมีทั้งหมด 6 ตัวแปร

**ตัวอย่างค่าที่แสดงผล (เครื่องหมายลบ - ต้องพิมพ์ด้วย) ซึ่งโดรนแต่ละลำจะมีค่าที่อ่านได้ไม่เหมือนกัน**

| **X Accel** | **Y Accel** | **Z Accel** | **X Gyro** | **Y Gyro** | **Z Gyro** |
| ----------- | ----------- | ----------- | ---------- | ---------- | ---------- |
| -124        | 3627        | 1480        | -71        | -85        | -12        |

{% hint style="warning" %}

### `ให้ทำการจดบันทีกค่าที่แสดงใน Serial Port ไว้ใช้ในตัวอย่างถัดไป`

{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q1ZXByCP9GOztVJ1G%2F185737698_914886146037356_4680357905914826750_n.jpg?alt=media\&token=b2490824-3fbf-4f8c-aaa4-dc4e169636f9)

{% hint style="danger" %}

### `ในการคาริเบททุกครั้งจำเป็นต้องวางตัวโดรนให้ระนาบกับพื้นเรียบที่สุด`

{% endhint %}

### ขั้นตอนที่ 3 ตัวอย่างโปรแกรม 03-DroneRUN

ในขั้นตอนที่ 3 นี้เป็นการนำค่าที่อ่านได้จากตัวอย่างที่2 ค่าเริ่มต้นของเซนเซอร์ Accelerometer และ Gyroscope บนชิพ MPU-6050 ซึ่งใช้เป็นค่า offset ของโดรน&#x20;

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q4nv_daGq6kAtkx2y%2Fimage.png?alt=media\&token=82bb8a7b-9eee-43e7-b55b-75f234bf8330)

จากรูปตัวอย่าง Block โปรแกรมจะเห็นว่า Block Drone : Calibration ถูกลบออกไปโดยเพิ่ม Block Drone : Setup และ Drone : Running **สีม่วง** ลงมาแทน

โดย Block สีม่วงที่เพิ่มเข้ามาจะมีช่องให้ใส่ค่าคาริเบทของเซนเซอร์ อยู่ 6 ตัวแปร

{% hint style="danger" %}

### จำเป็นต้องใส่ค่าคาริเบทให้ตรงกับค่าที่อ่านได้ หากไม่ตรง Drone จะบินไม่ขึ้น

{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q5jSeVpHJOd8MLuOA%2F185243215_810893743180133_2311008337279547648_n.jpg?alt=media\&token=293761f3-13eb-4a65-95fa-34e0f5fdf837)

{% hint style="success" %}
เมื่อ Upload (Compile & Run) เสร็จหน้าจอจะแสดง Drone  RemoteXY OK! Drone OK!

หากไม่แสดงหน้าต่าเหมือนในภาพผู้ใช้งานสามารถกดปุ่ม Reset 1 ครั้งให้บอร์ด KB32-FT เริ่มทำงานใหม่
{% endhint %}

{% hint style="success" %}

### ขั้นตอนนี้สามารถนำโดรนขึ้นบินได้เลย แต่ต้องเช็คความพร้อมก่อนขึ้นบิน

{% endhint %}

### ขั้นตอนที่ 4 ตัวอย่างโปรแกรม 04-DroneRun-Vbat

เป็นตัวอย่างการแสดงค่าตัวแปรของระดับแรงดันแบตเตอรี่ มีหน่วยเป็น mV (มิลลิโวลต์)

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q8i2eQBjEka16SzOo%2Fimage.png?alt=media\&token=494562fc-49fa-4b46-805c-2162a0066ff7)

**รูปตัวอย่างโปรแกรมอ่านค่าแบตเตอรี่**&#x20;

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_p4vf0JZJtFhxeB2Py%2F-M_q8lDhXblyxlNjgM76%2Fimage.png?alt=media\&token=387b4414-5542-41ff-9bda-c88b140601f0)

{% hint style="info" %}
หากไม่ได้ต่อสายแบตเตอรี่หรือเปิด SW - ON ค่าที่อ่านได้จะเป็น **0 mV**
{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_q9W_wxWPosvS96bN-%2F-M_q9a4oDdDcH3d4pYZp%2Fimage.png?alt=media\&token=d24094dd-bea5-4288-a6bc-f10438391269)

{% hint style="success" %}
หากเชื่อมต่อแบตเตอรี่และเปิด SW - ON เรียบร้อยจอจะแสดงค่าแบตเตอรี่ที่อ่านได้
{% endhint %}

### ขั้นตอนที่ 5 ตัวอย่างโปรแกรม 05-DroneRun-ToF

เป็นตัวอย่างการแสดงค่าตัวแปรของเซนเซอร์วัดระดับความสูง  **Time of Flight** (**ToF**)  มีหน่วยเป็น cm (เซนติเมตร)

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_q9W_wxWPosvS96bN-%2F-M_qAPEzpiLcN-ZJy4qN%2Fimage.png?alt=media\&token=9b2e8eab-f65f-476e-9b38-8531e1a19c4d)

**รูปตัวอย่างโปรแกรมอ่านค่าระดับความสูง**

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_qASSytCCohOEKnBXQ%2F-M_qBSmmArlwg72LHy3o%2Fimage.png?alt=media\&token=f0e435c9-1c8d-47dc-be50-994b5fdf12df)

{% hint style="success" %}
หากลองขยับโดรนขึ้นลงค่าที่อ่านได้จะมีการเปลี่ยนแปลงตามความสูงจากโดรนถึงพื้น
{% endhint %}

{% hint style="danger" %}
ในคู่มือแจ้งไว้วว่า อย่าให้มีอะไรบังเซนเซอร์วัดระดับความสูง **จะทำให้โดรนไม่สามารถวัดความสูงในโหมด** [**Attitude control**](https://en.wikipedia.org/wiki/Attitude_control) **จะทำให้โดรนบินขึ้นไปจนหลุดคลื่นได้**
{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_qASSytCCohOEKnBXQ%2F-M_qCHf8L4lQWwlInpfL%2Fimage.png?alt=media\&token=91a1bd05-8d83-439c-91fb-9399e3955b43)

###

### ขั้นตอนที่ 6 ตัวอย่างโปรแกรม 06-DroneFinal

1. ตัวอย่างการแสดงค่าตัวแปรของระดับแรงดันแบตเตอรี่ มีหน่วยเป็น mV (มิลลิโวลต์)
2. ตัวอย่างการแสดงค่าตัวแปรของเซนเซอร์วัดระดับความสูง  Time of Flight (ToF)  มีหน่วยเป็น cm (เซนติเมตร)
3. ตัวอย่างการแจ้งเตือนแบตเตอรี่ต่ำกว่า 3.2V (3200mV)โดยเสียงผ่าน Buzzer

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_qASSytCCohOEKnBXQ%2F-M_qCqhZBvwShBmYT66F%2Fimage.png?alt=media\&token=f9b29c45-d5d9-4085-914f-d867f7ffc7a2)

**รูปตัวอย่างโปรแกรมอ่าน ค่าระดับความสูง ค่าแรงดันแบตเตอรี่ และแจ้งเตือนเมื่อแบตต่ำกว่า 3.2V**

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_qASSytCCohOEKnBXQ%2F-M_qEcKsx3QnL1yUk3at%2Fimage.png?alt=media\&token=f3d7dc5e-0e48-4248-9e36-942aae287c62)

**รูปตัวอย่างด้านล่างของโดรนก่อนบินควรเช็คความพร้อมให้เรียบร้อย**

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-M_qASSytCCohOEKnBXQ%2F-M_qEsklKzqKnzI_hwOC%2F184117132_1152794258531873_6565200885776381187_n.jpg?alt=media\&token=14ff63ae-3119-4db1-bf2e-a1c2338990e7)

### ขั้นตอนที่ 7 ตัวอย่างโปรแกรม Drone (Versionใหม่)

1. หากลูกค้าสั่งซื้อโดรน Version ใหม่ที่ไม่ใช้บอร์ด KB32-FT สามารถใช้ Code ด่านล่าง Upload เข้าไปแทนได้โดยใช้ค่าการ Calibration เดิมในขั้นตอนที่สองได้เลย

<figure><img src="https://726149319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPmkxU0qYAyAsRZi9Rt%2Fuploads%2FCpDwe7CTrLD7mUFbElgP%2Fimage.png?alt=media&amp;token=4e38ee13-a0b3-4984-8a1f-16fc1046b539" alt=""><figcaption></figcaption></figure>

2\. แก้ไขค่าคาริเบทในบรรทัดที่ 209-214 (อย่าลืมใส่เครื่องหมายให้ถูกต้อง)

Download Code Version 2 [คลิ๊ก](https://gist.github.com/woodif/8d2cf643026aeb5c990ec4561948b0c0)

{% embed url="<https://gist.github.com/woodif/8d2cf643026aeb5c990ec4561948b0c0>" %}

3\. วิธีการ Upload โปรแกรม เลือกบอร์ด KB32-FT ในโปรแกรม KBIDE แล้วสลับโหมดมาใช้ Text-base Programing ตามรูป

<figure><img src="https://726149319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPmkxU0qYAyAsRZi9Rt%2Fuploads%2FTr0Rpta7yDeAQV4ffZQF%2Fimage.png?alt=media&amp;token=572c22cf-e1b8-4b73-ac8b-21f08218f921" alt=""><figcaption></figcaption></figure>

<figure><img src="https://726149319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPmkxU0qYAyAsRZi9Rt%2Fuploads%2FnjihGpUmyh8yeWsXIEck%2Fimage.png?alt=media&amp;token=acdfbe09-1e63-4d8e-a68e-46b83a6eb8bc" alt=""><figcaption></figcaption></figure>

จากนั้น วาง Code ทั้งหมดลงไปในช่อง โปรแกรมแล้ว Upload ได้เลย&#x20;

\*\*\* หมายเหตุทีมงานกำลังพัฒนาโปรแกรม Drone New Version ให้รองรับการเขียนด้วย Blockly และ ใช้งาน Feature อื่น ๆ ได้อีกมากมายโปรดติดตาม การอัพเดทครั้งใหญ่ได้เร็ว ๆ นี้ทาง แฟนเพจ Chiangmai Maker ครับ
