> 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/arduino-code-programing.md).

# RemoteXY - Arduino

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

{% content-ref url="/pages/-MPmw70lW75EmC0-twPJ" %}
[Arduino IDE Install](/getstart/arduino-ide-1.md)
{% endcontent-ref %}

### Library ที่จำเป็นต้อง ติดตั้งเพิ่มเติม "Remote XY"

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZGR1kApvfhYdAF2ZH%2F-MaZI0TnDjOHmVjfsdON%2Fimage.png?alt=media\&token=7669ac61-b6b4-4fc9-9831-005b25230e41)

### **ดาวน์โหลดตัวอย่าง Code Arduino**

ในตัวอย่างโปรแกรม Drone ในฝั่งของ Arduino IDE จะคล้ายกับ KBIDE เนื่องจากใช้ SDK ตัวเดียวกันจึงทำให้สามารถรันข้าม  Platform กันได้เริ่มต้น Download Code จากลิงค์ด้านล่างกันก่อนเลย

{% hint style="success" %}
[คลี๊กดาวน์โหลดตัวอย่างโปรแกรมโดรนบน Arduino IDE](https://github.com/MakerAsia/kb32-ft)
{% endhint %}

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MdVsUrRqpn6sx0MpOQg%2F-MdVyKl5KHbSZSg6kQEc%2Fimage.png?alt=media\&token=c0dd508c-ada6-4706-a6b8-63ef1536a746)

สามารถกดปุ่มสีเขียว **Download "Code"** หลังจากนั้นแตกไฟล์ให้เรียบร้อยก็จะได้ SDK Drone Kit ที่พร้อมพัฒนากันแล้ว

![ รูปไฟล์ SDK ที่อยู่บนเครื่องคอมพิวเตอร์](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZ7V5i22RgIv2hbV1D%2F-MaZ883jSqC_eh3qKBMZ%2Fimage.png?alt=media\&token=a1db397d-e89b-4c24-8354-23f20024c570)

ไฟล์ SDK Drone Kit จะมี Library ที่จำเป็นและถูกดัดแปลงมาให้สามารถใช้งานกับชุดคิทได้ จึงต้องใช้ Library ที่เราพัฒนาขึ้นมาเพื่อให้เจ้า Drone Kit มีความสามารถการบินที่ดีที่สุดบนบอร์ด KB32-FT

{% hint style="success" %}
**เปิดไฟล์ kb32ftdrone.ino**
{% endhint %}

![ภาพแสดงการสร้าง Folder](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZ8CfD6lH7zjR0HGXi%2F-MaZ95-CMPWNT0wkH-8g%2Fimage.png?alt=media\&token=24830523-5530-4d70-86da-83111e14337a)

เมื่อดับเบิ้ลคลิ๊กเปิดไฟล์เสร็จจะมี Popup เด้งให้สร้าง folder ขึ้นมาใหม่ ให้กด **"Cancel"** หรือ กด **"OK"** เพื่อสร้าง folder ใหม่แต่ต้องย้ายไฟล์ Library ตามเข้าไปใน folder ด้วย

{% hint style="info" %}
กด Cancel เพื่อไม่ต้องสร้าง folder ขึ้นมาให้ใช้ folder ให้ Libbrary อยู่ใน folder เดียวกัน
{% endhint %}

{% hint style="info" %}
กด OK เพิ่มสร้าง folder ขึ้นมาแต่จำเป็นต้องย้าย Libbrary ไปอยู่ใน folder เดียวกัน
{% endhint %}

![หน้าต่างตัวอย่าง โปรแกรมบน Arduino IDE](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZ8CfD6lH7zjR0HGXi%2F-MaZABVAr-g6szAk294V%2Fimage.png?alt=media\&token=6ad4f844-2661-4e07-ad94-487ffa57ab1f)

{% hint style="warning" %}
เลือกบอร์ด ESP32 Dev Module และทดลองกด Compile ดูว่าโปรแกรมรันผ่านหรือไม่
{% endhint %}

{% hint style="success" %}
ใน ESP32 Version ถัดไปจะสามารถเลือกบอร์ด KB32-FT บน โปรแกรม Arduino IDE ได้แล้ว
{% endhint %}

### ตัวอย่างการคาริเบท DroneCal

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

#### ขั้นตอนแรกคาริเบท&#x20;

สังเกตุในบรรทัดที่ 291 - 300 จะเป็นการเปิดและปิดโหมดคาริเบทพร้อมใส่ค่าตัวแปรที่คาริเบทได้

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZAQuVGMx64birNZ1V%2F-MaZDvu4bdp_cUqNnFp6%2Fimage.png?alt=media\&token=5ee59e59-0c37-49f5-8ae5-342cedaedf18)

ตัวอย่าง Code เริ่มต้นจะเป็นตัวอย่าง Calibration อยู่แล้วสามารถ Uplode โปรแกรมได้เลย เมื่อUpload เสร็จแล้วทดลองเปิด Serial port

{% 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-MaZAQuVGMx64birNZ1V%2F-MaZEqGOldj2kfTicBcx%2Fimage.png?alt=media\&token=bc2c8064-c8a7-4caf-9050-b6e5327bef22)

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

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

| **X Accel** | **Y Accel** | **Z Accel** | **X Gyro** | **Y Gyro** | **Z Gyro** |
| ----------- | ----------- | ----------- | ---------- | ---------- | ---------- |
| -4770       | -1243       | 1068        | -32        | -123       | -2         |

{% hint style="warning" %}

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

{% endhint %}

### ตัวอย่างการ Upload Code พร้อมบิน

ปิดหรือคอมเมนต์บรรทัดที่ 298-300 ออกเพื่อไม่ให้โปรแกรมทำงานในโหมดคาริเบท แก้ไขค่าตัวแปรที่ได้จากการคาริเบทจำนวน 6 ตัวแปร จากนั้นกด Upload โปรแกรม

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZAQuVGMx64birNZ1V%2F-MaZFIi6VJWTKTmSYWoF%2Fimage.png?alt=media\&token=f96a3141-16fa-4b3a-8fac-c1ef540e495d)

**ตัวอย่างการแก้ไขค่าคาริเบท**

![](https://726149319-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MPmkxU0qYAyAsRZi9Rt%2F-MaZAQuVGMx64birNZ1V%2F-MaZFuaYDLpbmxW0zDiu%2Fimage.png?alt=media\&token=374aaaa6-0155-4d0b-92f3-69ee6df38d86)

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

#### สำหรับการปรับปรุงแก้ไขตัวแปรต่าง ๆ ในระดับ Advance จะมีคอสสอนออนไลน์เร็ว ๆ นี้สามารถรอติดตามและเรียนกับทีมงานคุณภาพได้เลยรับรองว่าได้ความรู้พร้อมเทคนิคอีกมากมาย
