# รีโมทคอนโทรล

### 1. การเตรียมการ

<figure><img src="https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FNqNXPeG0zjlUKdL1Jgcu%2FIRnotes.jpeg?alt=media&#x26;token=44b9aff8-06d0-44ec-ae4c-5bda29106d05" alt=""><figcaption></figcaption></figure>

รีโมทคุยข้อมูลผ่าน Infrared ทำให้ไม่ต้องจับคู่ โปรดตรวจสอบว่าได้ถอดแผ่นฉนวนพลาสติกออกแล้วเพื่อให้ถ่านสามารถจ่ายไฟเข้าไปสู่ตัวรีโมท และหากทดสอบเบื้องต้นโดยการชี้ตัวส่งสัญญาณของรีโมท (Infrared Transmitter) ไปที่ตัวรับสัญญาณ(Infrared Receiver)ที่ด้านหลังหุ่นยนต์เมื่อใช้งาน หากหุ่นยนต์ไม่ตอบสนอง คุณสามารถใช้กล้องของโทรศัพท์เพื่อตรวจสอบเครื่องส่งสัญญาณได้ หากไม่กะพริบเมื่อคลิกปุ่ม คุณต้องเปลี่ยนแบตเตอรี่ หากไฟกะพริบ แสดงว่าโปรแกรมบนหุ่นยนต์ไม่ได้กำหนดค่าอย่างถูกต้อง&#x20;

### 2. คีย์แมพ

ตำแหน่งของปุ่มนั้นสำคัญมาก แม้ว่าสัญลัษณ์ต่างๆจะช่วยให้จดจำ function ต่างๆได้ แต่จจะเป็นการดีกว่าถ้าที่จะกำหนดสัญลักษณ์ที่เกี่ยวข้องกับตำแหน่งเพื่อให้สามารถอ้างอิงถึงคีย์ต่างๆได้ เช่น K00 สำหรับแถวที่ 1 และคอลัมน์ที่ 1 และ K32 สำหรับแถวที่ 4 และคอลัมน์ที่ 3&#x20;

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

{% hint style="warning" %}
คีย์แมพต่อไปนี้เป็นเพียงภาพประกอบเท่านั้น ตรวจสอบคำสั่งใน OpenCat/src/infrared.h สำหรับความหมายของคีย์แต่ละคีย์สามารถปรับแต่งได้ใน #define KXX
{% endhint %}

![](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FbFiOrLQJB2WHDm1NJXt6%2FIR_Nybble.png?alt=media\&token=8b7e1d15-04aa-4c05-99a9-c6a32ce2a009)

เรายังสร้างแผงควบคุมระยะไกลแบบกำหนดเองสำหรับแบทช์ในอนาคตอีกด้วย ผู้ใช้ก่อนหน้านี้สามารถดาวน์โหลดไฟล์การออกแบบและพิมพ์บนกระดาษ A4

{% file src="<https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FSDAfikLsHhW8dPcFzHzp%2FnewPanel.pdf?alt=media&token=b9fdeb1d-0b20-4112-a9c1-4eeb8ec6fde9>" %}

![](https://3127300255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR9bYMZnmeFFa1GJLvjM%2Fuploads%2FjzzubUsMHGeoFh9jWbJD%2F%E9%9D%A2%E6%9D%BF.jpg?alt=media\&token=3ec56a7e-443b-496f-8762-3148a50a6677)

### 3. ตรวจสอบฟีเจอร์การเคลื่อนไหว

* **Rest** จะเป็นการสั่งหุ่นยนต์หมอบลงและปิดการทำงานของเซอร์โวเป็นคำสั่งคลิ๊กที่ปลอดภัยหากหุ่นยนต์ทำอะไรแปลกๆ
* **Balance** คือท่ายืนที่สมดุล คุณสามารถปรับหุ่นยนต์จากด้านข้างและหุ่นยนต์จะพยายามบาลานซ์ คุณสามารถทดสอบความสามารถในการทรงตัวบนกระดานได้ การทรงตัวจะเปิดใช้งานในท่าทางและการเดินส่วนใหญ่.
* การกด **F/L/R** จะทำให้หุ่นยนต์เคลื่อนที่ไปข้างหน้า/ซ้าย/ขวา
* **B** จะทำให้หุ่นยนต์เคลื่อนที่ถอยหลัง
* **Calibrate** ทำให้หุ่นยนต์อยู่ในท่าการคาลิเบรตและปิดการทำงานของไจโร
* **Stepping** หุ่นยนต์ย่ำอยู่กับที่จุดเดิม
* **Crawl/walk/trot** คือท่าที่สลับและใช้ร่วมกับปุ่มในการบังคับทิศทางของหุ่นยนต์ได้ได้
* ปุ่มถัดจาก **trot** คือท่าทางหรือทักษะอื่นๆ ที่ตั้งไว้ล่วงหน้า
* **Gyro** จะเปิด/ปิดไจโรเพื่อการทรงตัว การปิดไจโรสามารถเร่งความเร็วและทำให้การเดินช้าลงอย่างมีเสถียรภาพ แต่ไม่แนะนำให้เดินเร็วๆ เช่น วิ่งเหยาะๆ สิทธิ์ในตัวเองจะถูกปิดใช้งานเนื่องจากหุ่นยนต์ไม่รู้ว่าถูกพลิกอีกต่อไป&#x20;
* พื้นผิวที่แตกต่างกันมีแรงเสียดทานต่างกันและจะส่งผลต่อประสิทธิภาพการเดิน การเดินบนพื้นลาดเหมาะสำหรับหุ่นยนต์ขาสั้นทำให้การนี้มันสามารถคลานได้ด้วยคำสั่ง (command **kcr**) สำหรับภูมิประเทศที่เดินลำบาก&#x20;
* สามารถดึงก้อนแบตเตอรี่ลงและเลื่อนไปตามทิศทางที่ยาวขึ้นของส่วนท้อง ซึ่งจะปรับจุดศูนย์กลางมวลซึ่งเป็นสิ่งสำคัญมากสำหรับการเดิน
* เมื่อหุ่นยนต์กำลังเดิน คุณสามารถปล่อยให้หุ่นยนต์ปีนขึ้น/ลงทางลาดชันเล็กน้อย (<10 องศา)

{% hint style="info" %}

* หากหุ่นยนต์ยังคงส่งเสียงบี๊บหลังจากที่คุณเชื่อมต่อตัวอัปโหลด USB โดยมีตัวเลขพิมพ์อยู่บนจอภาพซีเรียล แสดงว่ามีการเรียกใช้งานสัญญาณเตือนแรงดันไฟฟ้าต่ำ คุณต้องจ่ายพลังงานให้กับเมนบอร์ดด้วยแบตเตอรี่เพื่อให้ผ่านเกณฑ์
* เซอร์โวได้รับการออกแบบให้ขับเคลื่อนด้วยเฟืองภายใน หลีกเลี่ยงการหมุนเซอร์โวจากภายนอกเร็วเกินไป
* **อย่าให้หุ่นยนต์วิ่งนานจนเกินไป** มันจะทำให้อุปกรณ์อิเล็กทรอนิกส์ร้อนเกินไปและลดอายุการใช้งานของเซอร์โว
* หากคุณรู้สึกว่ามีบางอย่างผิดปกติกับหุ่นยนต์ ให้กดปุ่มรีเซ็ตบนบอร์ดเพื่อเริ่มโปรแกรมใหม่
* จงใจดีราวกับว่าคุณกำลังเล่นกับลูกแมว/ลูกสุนัขจริงๆ (^=◕ᴥ◕=^)
  {% endhint %}
