Petoi Doc Center
🇹🇭 Thai
🇹🇭 Thai
  • ยินดีต้อนรับสู่ Petoi Doc Center
  • Infrared Remote
    • รีโมทคอนโทรล
  • Mobile App
    • คาลิเบเตอร์และคอนโทรลเลอร์
  • Desktop APP
    • การแนะนำเบื้องต้น
    • ตัวอัปโหลดเฟิร์มแวร์
    • การคาลิเบรทข้อต่อ
    • สกิลคอมโพสเซอร์
  • Arduino IDE
    • อัปโหลด Sketch สำหรับ NyBoard
    • อัปโหลด Sketch สำหรับ BiBoard
    • การคาลิเบรทด้วย Arduino IDE
    • ซีเรียลมอนิเตอร์
  • API
    • 🖇️ซีเรียลโปรโตคอล
    • 🐍คู่มือผู้ใช้ Python SerialMaster
    • 🐛MicroPython คอนโทรลเลอร์
      • การเรียกใช้ MicroPython บน ESP8266
      • ติดตั้ง WebREPL
      • การใช้โปรโตคอล ESP-NOW
    • 🍓การสื่อสารผ่านพอร์ตซีเรียลของ Raspberry Pi
    • 🤖ROS
  • Nyboard
    • NyBoard V1_0
    • NyBoard V1_1
  • BIBOARD
    • คู่มือเริ่มต้นใช้งาน BiBoard ฉบับรวบลัด
    • Demo Applications
      • 1.GPIO port
      • 2.Serial port
      • 3.Analog-digital converter
      • 4.Digital-Analog Converter
      • 5.EEPROM (Electrically Erasable Programmable read only memory)
      • 6.Gyro IMU(MPU6050)
      • 7.Infrared remote control
      • 8.PWM(Pulse Width Modulation)
      • 9.Servo(under construction)
      • 10.Classic Bluetooth serial port SPP
      • 11.Bluetooth low energy (BLE) serial port pass-through
      • 12.File system SPIFFS
      • 13.Add hardware partition configuration option in Arduino IDE
      • 14.Play MP3
      • 15.The usage of Wi-Fi OTA(Over-The-Air)
  • Communication Modules
    • Introduction
    • USB Uploader (CH340C or CH343G)
    • Dual Mode Bluetooth
    • WiFi ESP8266
      • ESP8266 + Python Scripts Implement wireless crowd control
  • Extensible Modules
    • Introduction
    • MU Camera
    • Ultrasonic Sensor
    • Light Sensor
    • Touch Sensor
    • Gesture Sensor
    • PIR Motion Sensor
  • Applications
    • Skill Creation
    • OpenCat Imitation Tutorial
    • Programmable Puppet Character
  • History
    • Upload Sketch For NyBoard (software 1.0)
  • Technical Support
    • 🛠️Supporting Application and Software
    • 🙋‍♂️FAQ(Frequently Asked Questions)
  • Useful Links 🕸
    • 🔭Official Site of Petoi
    • 💿GitHub of OpenCat
    • 🎪PetoiCamp (Forum)
Powered by GitBook
On this page
  • Setup Process
  • เลื่อน สวิตซ์I2C (SW2) เป็น Arduino.
  • Quick Start Tutorial Video
  • Downloads and installations of Arduino IDE
  • เชื่อมต่อตัวอัปโหลด (บางครั้งเรียกว่า programmer )
  • เชื่อมต่อตัวอัปโหลด Bluetooth (optional)
  • ดาวน์โหลด OpenCat แพ็คเกจ
  • Upload

Was this helpful?

Export as PDF
  1. Arduino IDE

อัปโหลด Sketch สำหรับ NyBoard

Previousสกิลคอมโพสเซอร์Nextอัปโหลด Sketch สำหรับ BiBoard

Last updated 2 years ago

Was this helpful?

Setup Process

ซอฟต์แวร์ OpenCat ทำงานได้ทั้งบน Nybble และ Bittle ซึ่งควบคุมโดย NyBoard ที่ใช้ ATmega328P สามารถดูเอกสารรายละเอียดเพิ่มเติมได้ที่ หรือ .

หมายเหตุ: สามารถดูเวอร์ชั่นของบอร์ดได้ที่นี่

เลื่อน สวิตซ์I2C (SW2) เป็น Arduino.

สวิตช์ I2C เปลี่ยนอุปกรณ์หลัก I2C (gyro/accelerometer, servo driver, external EEPROM) ตามค่าเริ่มต้น “Arduino” NyBoard ใช้ ATmega328P แบบออนบอร์ดเป็นชิปหลัก บน “RPi” NyBoard ใช้ชิปภายนอกที่เชื่อมต่อผ่านพอร์ต I2C (SDA, SCL) เป็นชิปหลัก

หมายเหตุ:

  • บางครั้งหากคุณไม่สามารถผ่านขั้นตอนการบูทเครื่องได้ คุณอาจกดสวิตช์ไปที่ฝั่ง "RPi" โดยไม่ได้ตั้งใจ

Quick Start Tutorial Video

ขั้นตอนการตั้งค่าสำหรับ Nybble เกือบจะเหมือนกัน ยกเว้นว่าคุณต้องเปลี่ยนการกำหนดโมเดลเป็น #define NYBBLE. อย่าลืมอ่านขั้นตอนโดยละเอียดต่อไปนี้

Downloads and installations of Arduino IDE

ถ้าเป็นบอร์ด NyBoard V1_* เวอร์ชั่นใดก็ตามสามารถเลือกเป็น Arduino Uno ได้เลย

เฉพาะในกรณีที่ bootloader ของ NyBoard พัง ซึ่งไม่น่าจะเกิดขึ้น

Burn the bootloader (ไม่จำเป็นสำหรับการใช้งานปกติ)

NyBoard ทุกเครื่องต้องผ่านการตรวจสอบการทำงานก่อนจัดส่ง ดังนั้นพวกเขาจึงควรติดตั้ง bootloader ที่เข้ากันได้ไว้แล้ว อย่างไรก็ตาม ในบางกรณี bootloader อาจพัง จากนั้นคุณจะไม่สามารถอัปโหลดภาพร่างผ่าน Arduino IDE ได้

หากคุณไม่สามารถอัปโหลด sketch ของคุณได้ไม่ได้แปลว่าเป็นเพราะ bootloader เสมอไป:

  • บางครั้งบอร์ด USB ของคุณจะตรวจจับกระแสไฟขนาดใหญ่จากอุปกรณ์และปิดใช้งานบริการ USB ทั้งหมด คุณจะต้อง restart บริการ USB ของคุณใหม่ หรือแม้แต่ reboot เครื่องคอมพิวเตอร์ของคุณ

  • คุณต้องติดตั้ง driver สำหรับ FTDI USB 2.0 ไปยังตัวอัปโหลด UART

  • คุณไม่ได้เลือกพอร์ตที่ถูกต้อง

  • การเชื่อมต่อไม่ดี

  • โชคร้าย. พรุ่งนี้ลองใหม่อีกวัน!

หากคุณตัดสินใจที่จะเบิร์น bootloader ใหม่:

  • ด้วย NyBoard V1_* คุณสามารถเลือก Arduino Uno ภายใต้เมนูเครื่องมือของ Arduino IDE

  • เชื่อมต่อ programmer กับพอร์ต SPI บน NyBoard สังเกตทิศทางเมื่อเชื่อมต่อ ตรวจสอบให้แน่ใจว่าพวกเขาได้รับการติดต่อที่ดี

  • เบิร์น bootloader หากนี่เป็นครั้งแรกที่คุณทำเช่นนี้ ให้รอจนกว่าแถบเปอร์เซ็นต์จะถึง 100% และไม่มีข้อความปรากฏขึ้นอีกเป็นเวลาหนึ่งนาที

เชื่อมต่อตัวอัปโหลด (บางครั้งเรียกว่า programmer )

ขั้นตอนนี้ไม่จำเป็นต้องติดตั้ง NyBoard บนหุ่นยนต์

เชื่อมต่อตัวอัปโหลด Bluetooth (optional)

บน Mac บลูทูธอาจขาดการเชื่อมต่อหลังจากอัปโหลดหลายครั้ง ในกรณีดังกล่าว ให้ลบการเชื่อมต่อและเชื่อมต่อใหม่เพื่อให้ฟังก์ชันทำงานต่อ

หาก Bluetooth dongle ไม่เจออยู่ในชุดหุ่นยนต์โดย Seeed Studio หรือ partner ของเราโปรดส่งอีเมลถึง support@petoi.com เพื่อทราบข้อมูลเพิ่มเติม

ดาวน์โหลด OpenCat แพ็คเกจ

  • หากคุณดาวน์โหลดไฟล์ Zip ของ code คุณจะได้รับ OpenCat-main โฟลเดอร์หลังจาก unzip คุณต้องเปลี่ยนชื่อเป็น OpenCat ก่อนเปิด OpenCat.ino เพื่อให้ชื่อทั้งสองตรงกัน

ไม่ว่าคุณจะบันทึกโฟลเดอร์ไว้ที่ใด โครงสร้างไฟล์ควรเป็น:

  • มี code ที่ชื่อว่า testX.ino หลายไฟล์ในโฟลเดอร์ ModuleTests คุณสามารถอัปโหลดเพื่อทดสอบบางโมดูลแยกกันได้ เปิด testX.ino ใดๆ ที่มีคำนำหน้าว่า “test” (แนะนำให้ใช้ testBuzzer.ino เป็น sketch ทดสอบแรกของคุณ)

  • เปิด serial monitor และตั้งค่า baud rate บน NyBoard V1_* ให้เลือกบอร์ดเป็น Arduino Uno และตั้งค่า baud rate เป็น 115200 ทั้งใน code และ serial monitor

  • Compile code ไม่ควรมีข้อความแสดงข้อผิดพลาด เมืออัปโหลด sketch ไปยังบอร์ดของคุณและคุณจะเห็น LED Tx และ Rx กะพริบถี่ๆ เมื่อหยุดกะพริบ ข้อความควรปรากฏบน serial monitor

Upload

ในการกำหนดค่าบอร์ด โปรดทำตามขั้นตอนเหล่านี้

1. กำหนดค่าประเภทหุ่นยนต์และรุ่นของบอร์ด

เปิดไฟล์ OpenCat.ino และเลือกเวอร์ชันของหุ่นยนต์และบอร์ดของคุณ ตัวอย่างเช่น

#define BITTLE    //Petoi 9 DOF robot dog: 1x on head + 8x on leg
//#define NYBBLE  //Petoi 11 DOF robot cat: 2x on head + 1x on tail + 8x on leg

//#define NyBoard_V0_1
//#define NyBoard_V0_2
#define NyBoard_V1_0
//#define NyBoard_V1_1

สัญลักษณ์ // หมายถึงการปิดการใช้งานบรรทัดของ code และเปลี่ยนเป็นความคิดเห็น ตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานตัวเลือกคู่ขนานเพียงบรรทัดเดียว

2.ตั้งค่า configuration mode

คอมเมนท์ในส่วน #define MAIN_SKETCH เพื่อให้โค้ดเปลี่ยนโหมดการกำหนดค่าบอร์ด อัปโหลดและปฏิบัติตาม serial prompts เพื่อดำเนินการต่อดังตัวอย่างด้านล่าง

// #define MAIN_SKETCH

หากคุณเปิดใช้งาน#define AUTO_INITโปรแกรมจะตั้งค่าโดยอัตโนมัติโดยไม่ต้องแจ้งให้ทราบล่วงหน้า จะไม่รีเซ็ตออฟเซ็ตของข้อต่อ แต่ปรับเทียบ IMU

3. เสียบตัวอัพโหลด USB เข้ากับคอมพิวเตอร์ของคุณ

4. เสียบตัวอัปโหลด USB เข้ากับ NyBoard

5. อัปโหลด configuration mode sketch

กดปุ่มอัปโหลด

6. เปิด serial monitor

คุณสามารถหาปุ่มนี้ได้ภายใต้เครื่องมือ Tools หรือที่มุมบนขวาของ IDE

ตั้งค่า serial monitor เป็น No line ending และ baud rate 115200

7.รีเซ็ตออฟเซ็ตของข้อต่อ

The serial prompts:

Reset joint offsets? (Y/n):

ป้อน 'Y' และกด Enter หากคุณต้องการรีเซ็ตออฟเซ็ตของข้อต่อทั้งหมดเป็น 0

โปรแกรมจะทำการรีเซ็ต จากนั้นอัปเดต constants และ instinctive skills ในหน่วยความจำ

คุณต้องป้อน 'Y' หรือ 'n' เพื่อผ่านขั้นตอนนี้ มิฉะนั้น parameters รวมถึง skill data จะไม่ได้รับการอัพเดตบนบอร์ด

8. IMU (Inertial Measurement Unit) calibration

The serial prompts:

Calibrate the IMU? (Y/n): 

ป้อน 'Y' และกด Enter หากคุณไม่เคยปรับเทียบ IMU หรือต้องการทำการปรับเทียบใหม่

วางหุ่นยนต์ราบบนโต๊ะและอย่าแตะต้อง หุ่นยนต์จะส่งเสียงบี๊บยาวหกครั้งเพื่อให้คุณมีเวลาเพียงพอ จากนั้นจะอ่านข้อมูลเซ็นเซอร์หลายร้อยรายการและบันทึกค่าชดเชย จะส่งเสียงบี๊บเมื่อการปรับเทียบเสร็จสิ้น

เมื่อ serial monitor แสดง "Ready!" คุณสามารถปิด serial monitor เพื่อทำขั้นตอนถัดไป

9. Calibrate the servo controller chip PCA9685

มีขั้นตอนเพิ่มเติมในการ Calibrate servo driver หลังจากการ calibrate IMU

Optional: Connect PWM 3 -> Grove pin A3 to calibrate PCA9685

คุณสามารถ calibrate servo controller (PCA9685 chip) เพื่อให้สัญญาณมุมแม่นยำยิ่งขึ้น ใช้สายจัมเปอร์แบบสั้นเพื่อเชื่อมต่อ PWM pin3 (pin สัญญาณของ pin เซอร์โวตัวใดตัวหนึ่ง) และ Grove pin A3

โปรแกรมจะวัดความกว้างของสัญญาณและ calibrate ชิปโดยอัตโนมัติหลังจากอ่านค่าที่เหมือนกันสามครั้งติดต่อกัน ค่าชดเชยการ calibrate จะถูกบันทึกไว้ในบอร์ดสำหรับการบูทครั้งต่อไป จากนั้นคุณสามารถไปยังขั้นตอนต่อไปได้

หากเซอร์โวตัวใดตัวหนึ่งหยุดทำงานแต่สามารถทำงานต่อได้หลังจากเปิดเซอร์โวใหม่ อาจเป็นเพราะสัญญาณ driver ไม่แม่นยำ ขั้นตอนนี้ไม่สามารถข้ามได้

10. อัปโหลด sketch ของฟังก์ชันหลัก

ยกเลิก comment #define MAIN_SKETCHเพื่อให้ใช้งานได้ code จะกลายเป็นโปรแกรมปกติสำหรับการทำงานหลัก จากนั้นอัปโหลด code

#define MAIN_SKETCH

เปิด serial monitor เมื่อ serial monitor แสดง " Ready! " หุ่นยนต์ก็พร้อมที่จะรับคำสั่งถัดไปของคุณ

11. The module macro in the code

Code เริ่มต้นทำงานในโหมดมาตรฐาน หากคุณมีโมดูลที่ขยายได้บางโมดูล คุณอาจยกเลิกการแสดงความคิดเห็น macro definition ของโมดูลนั้นๆ จะปิดใช้งานรหัส Gyro เพื่อประหยัดพื้นที่ในการเขียนโปรแกรมและเปิดใช้งานการสาธิตของโมดูล

ใน official modules ถูกกำหนดไว้ในไฟล์ส่วนหัวแยกต่างหากใน OpenCat/src/ คุณสามารถค้นหาได้ใน OpenCat/src/io.h -> readSignal() ลักษณะการทำงานของ OTHER_MODULES กำหนดไว้ใน OpenCat/OpenCat.ino -> otherModule() คุณสามารถศึกษาโค้ดตัวอย่างเพื่อเขียนฟังก์ชันของคุณเองได้

12. Modify the "joint - pin" mapping

ในบางกรณี คุณอาจต้องการปรับเปลี่ยนการ mapping ของ "pin ข้อต่อ" ของหุ่นยนต์ คุณสามารถแก้ไขได้ใน OpenCat/src/OpenCat.h ตรวจสอบให้แน่ใจว่าคุณกำลังแก้ไขบล็อกโค้ดที่สอดคล้องกับเวอร์ชันของบอร์ดที่จุดเริ่มต้นของ OpenCat.ino หลังจากแก้ไข อย่าลืมบันทึกการเปลี่ยนแปลงและทำขั้นตอนการอัปโหลดซ้ำตั้งแต่ขั้นตอนที่ 2

ก่อนอัปโหลดเฟิร์มแวร์ โปรดตรวจสอบว่าไม่ได้เชื่อมต่ออุปกรณ์ I2C ใดๆ กับอินเทอร์เฟซ I2C ของเมนบอร์ด มิฉะนั้น การอัปโหลดเฟิร์มแวร์จะล้มเหลว ตำแหน่งของอินเทอร์เฟซ I2C แสดงอยู่ด้านล่าง (ในช่องสีแดง)

คุณต้องใช้ เวอร์ชั่นใหม่ล่าสุดเพื่อตั้งค่า environment ในเวอร์ชันเก่ามักจะรวบรวมไฟล์ฐานสิบหกขนาดใหญ่ขึ้นซึ่งอาจเกินขีดจำกัดของหน่วยความจำ

●

เลือก ISP ของคุณ (ภายใน System Programmer) ยอดนิยม 2 ตัว: USBtinyISP หรือ Arduino as ISP !

สำหรับขั้นตอนเฉพาะ โปรดดูส่วนเชื่อมต่อ NyBoard ใน USB uploader module

สำหรับขั้นตอนเฉพาะ โปรดดูที่ส่วนเชื่อมต่อ NyBoard ใน Dual-Mode Bluetooth Module

เราอัปเดต code อย่างต่อเนื่องเป็น Open-source project คุณสามารถติดดาวและติดตาม เพื่อรับฟีเจอร์ใหม่ล่าสุดและการแก้ไขข้อบกพร่อง คุณยังสามารถแบ่งปัน code ของคุณกับผู้ใช้ OpenCat ทั่วโลก

ดาวน์โหลด ​OpenCat repo เวอร์ชั่นล่าสุดจาก GitHub: . จะดีกว่าถ้าคุณใช้คุณสมบัติการควบคุมเวอร์ชันของ GitHub มิฉะนั้น ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดทั้งโฟลเดอร์ OpenCat ทุกครั้ง codeทั้งหมดต้องเป็นเวอร์ชันเดียวกันจึงจะทำงานร่วมกันได้

ติดตั้ง หากไม่พบพอร์ต USB ภายใต้ Arduino -> Tools -> Port

สำหรับขั้นตอนเฉพาะโปรดดูส่วนเชื่อมต่อ ใน USB uploader module

Arduino IDE
What is a bootloader?
Arduino as ISP
Connect NyBoard section
Connect NyBoard section
GitHub repository
https://github.com/PetoiCamp/OpenCat
the driver
Connect NyBoard section
NyBoard V1_0
NyBoard V1_1