# USB Uploader (CH340C or CH343G)

ใช้ module CH340C USB bridge Window 10, Linux และ macOS all drive-free โดย Specific interface แสดงดังภาพดังนี้

![](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2Fm8zGoVaLx21IBVD4mMLv%2FUSB_Adapter.png?alt=media\&token=56789243-8f97-42e7-95f8-2b393143bb96)

**NyBoard download interface**: ในการเชื่อต่อกับ NyBoard ต้อง dowload program firmware หุ่นยนต์ เพื่อใช้ในการ communication กับ computer ผ่าน Serial port

**Communication module debugging interface**: ใช้เชื่อมต่อโมดูล Bluetooth หรือ WiFi และอัพเดทโปรแกรมโมดูล และ debug พารามิเตอร์ต่างๆ โดยเพื่อหลีกเลี่ยงการใช้สาย Dupont ที่อาจจะซับซ้อน การเรียงลำดับขาจะต่างกับขาดาวน์โหลดของ NyBoard โดยขา TX/RX จะถูกสลับกันและขา GND จะกลายเป็นขา RTS สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ Debugging Interface ของโมดูลการสื่อสาร โปรดดูต่อไปในบทที่เกี่ยวข้อง

{% hint style="danger" %}
ไม่ควรเสียบ NyBoard และโมดูลอื่นๆ (WiFi หรือ Bluetooth) พร้อมกัน! นั่นจะทำให้พอร์ตซีเรียลถูกบล็อค.
{% endhint %}

<figure><img src="https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FR34WdcGLGNMoDdCg0nkq%2Fimage.png?alt=media&#x26;token=c716e2ea-e5f4-4db3-ad7d-b9d9d302bb6d" alt=""><figcaption></figcaption></figure>

## Connect NyBoard

![Nybble](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2F9pCN2Z4zX93jDkV6AEQt%2FusbAdapter2.jpg?alt=media\&token=dc29c87f-dd5a-400c-9ccb-454fef5f08db) ![Bittle](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FzW8ChpflFelNKPyUGoSw%2FPlug_in_usb_uploader.jpeg?alt=media\&token=afff345c-dd04-4e9d-bd68-330b961b1fd4)

เสียบขา 6 ขา (H1) ของ USB uploader เข้ากับช่อง Uploader ของ NyBoard แล้วใช้สาย USB data ที่มากับอุปกรณ์ นำหนึ่งข้างเสียบเข้ากับพอร์ต MicroUSB ของโมดูล USB upload และอีกข้างเสียบเข้ากับพอร์ต USB ของคอมพิวเตอร์

คลิกขวาที่ "**This PC**" บนหน้าจอ desktop ของ Windows แล้วคลิก "**Manage**" ด้วยปุ่มเม้าส์ซ้าย (แนะนำให้ใช้วิธีนี้ แต่คุณสามารถดำเนินการใน browser ได้เช่นกัน) ดังรูปด้านล่าง จากนั้นเลือก "**Device Manager**" ในหน้า "**Computer Management**" เพื่อตรวจสอบพอร์ตซีเรียลที่เชื่อมต่อ:

![](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FUXqMgwTlVlpH0T740BBf%2F%E6%89%93%E5%BC%80%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A801_En.jpg?alt=media\&token=322396e0-78d3-49fb-9157-a147f45116af) ![](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FQTfzOyB1gGvwsZeVEFHA%2F%E6%89%93%E5%BC%80%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A802_en.jpg?alt=media\&token=c12acf3d-d676-4948-9990-08f4eaebb4d1)

![Device Manager](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FXNDFLUTBgGguLdS5vEPU%2F%E6%89%93%E5%BC%80%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A803_En.jpg?alt=media\&token=8410c9a1-0e52-499f-bc78-55b1fdad7568)

เปิดโปรแกรม Arduino IDE หรือ Desktop App Firmware Uploader แล้วเลือกพอร์ต COM ที่เชื่อมต่อกับ NyBoard เพื่อทำการอัพโหลด Firmware และใช้ Serial monitor เพื่อสื่อสารกับบอร์ดได้เช่นกัน

ตัวอัพโหลดมี LED 3 ดวง: ไฟเลี้ยง, Tx, และ Rx หลังจากการเชื่อมต่อแล้ว หลอดไฟ Tx และ Rx ควรจะกระพริบเป็นเวลา 1 วินาทีเพื่อแสดงการสื่อสารเริ่มต้น แล้วจะดับลง เหลือเพียงหลอดไฟแสดงสถานะไฟเลี้ยงเท่านั้น คุณสามารถหาพอร์ตใหม่ใต้ **Tool->Port** ได้

* &#x20;“/dev/cu.usbserial-xxxxxxxx” (Mac)&#x20;
* “COM#” (Windows)
* “ttyUSB#**”**  (Linux)

{% hint style="warning" %}
สำหรับ Linux เมื่อเชื่อมต่ออัปโหลดเพื่อนับความสำเร็จ คุณจะเห็น "ttyUSB #" ในรายการพอร์ตซีเรียล แต่คุณอาจได้รับข้อผิดพลาดพอร์ตซีเรียลในขณะที่กำลังอัปโหลด คุณต้องการให้สิทธิ์กับพอร์ตซีเรียล โปรดไปที่ลิงค์นี้และดำเนินการตามคำแนะนำ:

<https://playground.arduino.cc/Linux/All/#Permission>
{% endhint %}

![](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2Fp5oPHG5mcRYrsaLaRdXK%2FUSBserial.png?alt=media\&token=6e9297f2-da6a-42d9-8df7-4db34bea7535)

ถ้าไฟ Tx และ Rx ยังค้างอยู่ หมายความว่ามีปัญหากับการสื่อสารผ่านพอร์ต USB โดยทั่วไปเป็นเพราะการป้องกันไฟล้นกระแสจากคอมพิวเตอร์ของคุณ หากคุณไม่ได้เชื่อมต่อ NyBoard กับแหล่งจ่ายไฟภายนอกและเซอร์โวเคลื่อนที่ทั้งหมดเคลื่อนที่พร้อมกัน

### The Drivers

{% hint style="info" %}
ถ้าคุณไม่สามารถหาพอร์ตซีเรียลหลังจากเชื่อมต่อกับคอมพิวเตอร์ของคุณได้ คุณอาจจะต้องติดตั้งไดรเวอร์สำหรับชิป CH340

* [Mac](https://tn2lsjcal7.larksuite.com/drive/folder/fldusANNJtuYuZmpAfOZVlHvcKN)
* [Windows](https://tn2lsjcal7.larksuite.com/file/boxusYfwl2csrkA8G4DfBebmnkh)
  {% endhint %}

{% hint style="info" %}
For ChromeOS:

1. &#x20;Download the Arduino IDE(e.g. 1.8.19) for Linux from <https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz>
2. &#x20;Install it on the Chromebook. Please refer to the video at <https://www.youtube.com/watch?v=2cve6n4LZqI>
3. &#x20;Plug the Bittle USB adapter into the robot and the Chromebook.
4. Set the Chromebook Linux VM to recognize the USB port

&#x20;      Settings => Advanced => Developers => Linux development environment => Manage USB devices => USB Serial (turn on)

หมายเหตุ: ขั้นตอนที่ 4 จะต้องทำซ้ำทุกครั้งเมื่อมีการเชื่อมต่อ USB อีกครั้งหรือมีการเปิดเครื่องใหม่
{% endhint %}
