> 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 ได้เลย

![](/files/-M_p28UZG8DwwFEq3Haq)

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

![](/files/-M_p2F9pEo7R0S1K1hMA)

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

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

![](/files/-M_p2orIwslRK-YRx2Vz)

จากรูปตัวอย่างการต่อ 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 %}

![](/files/-M_pyNLosItnkpXKQ4KF)

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

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

![](/files/-M_pziLno2v9I3SN5fJl)

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

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

![](/files/-M_q0hiRmPQFkrfyRfGE)

![](/files/-M_q-58t6KdOoApbxeIP)

เมื่อเปิดเมนู **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 %}

![](/files/-M_q1ZXByCP9GOztVJ1G)

{% hint style="danger" %}

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

{% endhint %}

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

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

![](/files/-M_q4nv_daGq6kAtkx2y)

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

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

{% hint style="danger" %}

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

{% endhint %}

![](/files/-M_q5jSeVpHJOd8MLuOA)

{% 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 (มิลลิโวลต์)

![](/files/-M_q8i2eQBjEka16SzOo)

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

![](/files/-M_q8lDhXblyxlNjgM76)

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

![](/files/-M_q9a4oDdDcH3d4pYZp)

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

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

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

![](/files/-M_qAPEzpiLcN-ZJy4qN)

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

![](/files/-M_qBSmmArlwg72LHy3o)

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

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

![](/files/-M_qCHf8L4lQWwlInpfL)

###

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

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

![](/files/-M_qCqhZBvwShBmYT66F)

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

![](/files/-M_qEcKsx3QnL1yUk3at)

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

![](/files/-M_qEsklKzqKnzI_hwOC)

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

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

<figure><img src="/files/jpN4Ewuw8RW4zqWFj5G1" 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="/files/I5qjmbsBiads8JwjM3pJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ZsxBSGQlhQ2wQZM2XkoH" alt=""><figcaption></figcaption></figure>

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

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