CNCU-LOGO

CNCU PCA9685 ចំណុចប្រទាក់កម្មវិធីបញ្ជា Servo i2C

CNCU-PCA9685-Servo-Driver-i2C-Interface-PRODUCT

ការណែនាំអំពីការប្រើប្រាស់ផលិតផល

  • នៅពេលអ្នកឃើញ ERR 40 នៅលើម៉ាស៊ីន៖
  • ទុកម៉ាស៊ីនឱ្យបើក នេះមានសារៈសំខាន់ណាស់។
  • ដកថ្មចេញពីទីតាំងផ្ទាល់។
  • ដាក់ថ្មពីទីតាំងបម្រុងទៅក្នុងទីតាំងផ្ទាល់។
  • ចាប់ផ្ដើមម៉ាស៊ីនឡើងវិញ។
  • ចងចាំថាត្រូវទិញថ្មថ្មីចំនួនពីរ ដើម្បីរក្សាទុកក្នុង ការកក់ទុកសម្រាប់ការផ្លាស់ប្តូរថ្មបន្ទាប់។

ទាក់ទងផ្នែកគាំទ្រ AM.CO.ZA ប្រសិនបើអ្នកជួបប្រទះការលំបាកក្នុងការផ្លាស់ប្តូរថ្ម ឬប្រសិនបើទីតាំងម៉ាស៊ីនផ្លាស់ប្តូរកំឡុងពេលដំណើរការ។ អ្នកក៏អាចទាក់ទងតាមរយៈ WhatsApp នៅ 060 600 6000 សម្រាប់ជំនួយ។

ជាងview

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-1

ការបើកបរម៉ូទ័រ servo ជាមួយនឹងបណ្ណាល័យ Arduino Servo គឺងាយស្រួលណាស់ ប៉ុន្តែពួកគេម្នាក់ៗប្រើប្រាស់ម្ជុលដ៏មានតម្លៃមួយ – មិននិយាយអំពីថាមពលដំណើរការ Arduino មួយចំនួននោះទេ។ Adafruit 16-Channel 12-bit PWM/Servo Driver នឹងជំរុញដល់ទៅ 16 servos លើ I2C ដោយមានតែ 2 pins ប៉ុណ្ណោះ។ ឧបករណ៍បញ្ជា PWM នៅលើយន្តហោះនឹងជំរុញបណ្តាញទាំង 16 ក្នុងពេលដំណាលគ្នាដោយមិនមានដំណើរការ Arduino បន្ថែមពីលើក្បាល។ លើសពីនេះទៅទៀត អ្នកអាចដាក់សង្វាក់រហូតដល់ 62 ក្នុងចំណោមពួកវា ដើម្បីគ្រប់គ្រងរហូតដល់ 992 servos – ទាំងអស់មាន 2 pins ដូចគ្នា!
Adafruit PWM/Servo Driver គឺជាដំណោះស្រាយដ៏ល្អឥតខ្ចោះសម្រាប់គម្រោងណាមួយដែលត្រូវការ servos ច្រើន។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-2

Pinouts

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-3

  • មានម្ជុលបញ្ចូលវត្ថុបញ្ជាចំនួនពីរនៅសងខាង។ ម្ជុលទាំងសងខាងគឺដូចគ្នាបេះបិទ! ប្រើផ្នែកណាមួយដែលអ្នកចូលចិត្ត អ្នកក៏អាចច្រវ៉ាក់បានយ៉ាងងាយស្រួលដោយភ្ជាប់ពីរចំហៀង

ម្ជុលថាមពល

  • GND - នេះ​ជា​បង្គោល​ភ្លើង​និង​សញ្ញា​ត្រូវ​បាន​តភ្ជាប់
  • VCC - នេះគឺជា pin ថាមពលតក្កវិជ្ជា ភ្ជាប់វាទៅនឹងកម្រិតតក្កវិជ្ជាដែលអ្នកចង់ប្រើសម្រាប់លទ្ធផល PCA9685 គួរតែជា 3 - 5V អតិបរមា! វាក៏ត្រូវបានប្រើសម្រាប់ការទាញ 10K នៅលើ SCL/SDA ផងដែរ ដូច្នេះលុះត្រាតែអ្នកមានការទាញដោយខ្លួនឯង សូមឲ្យវាត្រូវគ្នានឹងកម្រិតតក្កវិជ្ជារបស់ microcontroller ផងដែរ!
  • V+ - នេះគឺជាម្ជុលថាមពលស្រេចចិត្តដែលនឹងផ្គត់ផ្គង់ថាមពលចែកចាយទៅ servos ។ ប្រសិនបើអ្នកមិនប្រើសម្រាប់ servos អ្នកអាចទុកចោល។ វាមិនត្រូវបានប្រើទាល់តែសោះដោយបន្ទះឈីប។ អ្នកក៏អាចចាក់ថាមពលពីប្លុកស្ថានីយ 2-pin នៅផ្នែកខាងលើនៃក្តារ។ អ្នកគួរតែផ្តល់ 5-6VDC ប្រសិនបើអ្នកកំពុងប្រើ servos ។ ប្រសិនបើអ្នកត្រូវតែ អ្នកអាចឡើងខ្ពស់ដល់ 12VDC ប៉ុន្តែប្រសិនបើអ្នករញ៉េរញ៉ៃ ហើយភ្ជាប់ VCC ទៅ V+ អ្នកអាចបំផ្លាញក្តាររបស់អ្នក!

ម្ជុលបញ្ជា

  • SCL - ម្ជុលនាឡិកា I2C ភ្ជាប់ទៅខ្សែនាឡិកា I2C មីក្រូកុងទ័ររបស់អ្នក។ អាចប្រើតក្កវិជ្ជា 3V ឬ 5V និងមានចំណុចទាញខ្សោយទៅ VCC
  • SDA - ម្ជុលទិន្នន័យ I2C ភ្ជាប់ទៅខ្សែទិន្នន័យ I2C របស់ microcontroller ។ អាចប្រើតក្កវិជ្ជា 3V ឬ 5V និងមានចំណុចទាញខ្សោយទៅ VCC
  • OE - បើកដំណើរការ។ អាចត្រូវបានប្រើដើម្បីបិទលទ្ធផលទាំងអស់យ៉ាងឆាប់រហ័ស។ នៅពេលដែលម្ជុលនេះទាប ម្ជុលទាំងអស់ត្រូវបានបើក។ នៅពេលដែលម្ជុលខ្ពស់ទិន្នផលត្រូវបានបិទ។ ទាញទាបតាមលំនាំដើម ដូច្នេះវាជាម្ជុលស្រេចចិត្ត!

ច្រកចេញ

  • មានច្រកទិន្នផលចំនួន 16 ។ ច្រកនីមួយៗមាន 3 pins: V+, GND និង PWM output ។ PWM នីមួយៗដំណើរការដោយឯករាជ្យទាំងស្រុង ប៉ុន្តែពួកវាទាំងអស់ត្រូវតែមានប្រេកង់ PWM ដូចគ្នា។
  • នោះគឺសម្រាប់ LEDs អ្នកប្រហែលជាចង់បាន 1.0 KHz ប៉ុន្តែ servos ត្រូវការ 60 Hz - ដូច្នេះអ្នកមិនអាចប្រើពាក់កណ្តាលសម្រាប់ LEDs @ 1.0 KHz និងពាក់កណ្តាល @ 60 Hz ។
  • ពួកវាត្រូវបានរៀបចំសម្រាប់ servos ប៉ុន្តែអ្នកអាចប្រើវាសម្រាប់ LEDs! ចរន្តអតិបរមាក្នុងមួយម្ជុលគឺ 25mA ។
  • មានរេស៊ីស្តង់ 220 ohm ជាស៊េរីជាមួយ PWM Pins ទាំងអស់ ហើយតក្កវិជ្ជាលទ្ធផលគឺដូចគ្នាទៅនឹង VCC ដូច្នេះត្រូវចាំថាប្រសិនបើប្រើ LEDs ។

សន្និបាត

ដំឡើងក្បាលម៉ាស៊ីនបម្រើ

  • ដំឡើងក្បាលមេ 4 3×4 pin ទៅក្នុងទីតាំងដែលបានសម្គាល់នៅគែមក្តារ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-4

ដេរម្ជុលទាំងអស់។

  • មានច្រើនណាស់!

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-5

បន្ថែមបឋមកថាសម្រាប់ការគ្រប់គ្រង

  • ក្បាលដីរបស់បុរសត្រូវបានរួមបញ្ចូល។ កន្លែងដែលអ្នកចង់ដំឡើងបឋមកថា និងផ្នែកណាអាស្រ័យលើការប្រើប្រាស់បន្តិចបន្តួច៖
  • សម្រាប់ បន្ទះនំប៉័ង (http://adafru.it/239) ប្រើ ដំឡើងបឋមកថានៅខាងក្រោមក្តារ។
  • សម្រាប់ប្រើជាមួយ ខ្សែ jumper (http://adafru.it/758) ដំឡើងបឋមកថានៅផ្នែកខាងលើនៃក្តារ។
  • សម្រាប់ប្រើប្រាស់ជាមួយយើងខ្ញុំ ខ្សែ 6-pin (http://adafru.it/206) ដំឡើងបឋមកថានៅផ្នែកខាងលើនៃក្តារ។
  • ប្រសិនបើអ្នកកំពុងច្រវាក់ក្រុមប្រឹក្សាភិបាលច្រើន អ្នកនឹងចង់បានក្បាលនៅលើចុងទាំងពីរ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-6

ដំឡើងស្ថានីយថាមពល

  • ប្រសិនបើអ្នកកំពុងដាក់ច្រវាក់ក្រុមប្រឹក្សាភិបាលជាច្រើន អ្នកគ្រាន់តែត្រូវការស្ថានីយថាមពលនៅលើបន្ទះទីមួយប៉ុណ្ណោះ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-7

ភ្ជាប់វាឡើង

ការភ្ជាប់ទៅ Arduino

  • PWM/Servo Driver ប្រើ I2C ដូច្នេះវាត្រូវការតែ 4 ខ្សែដើម្បីភ្ជាប់ទៅ Arduino របស់អ្នក៖

ខ្សែភ្លើង Arduino បុរាណ៖

  • +5v -> VCC (នេះគឺជាថាមពលសម្រាប់តែ BREAKOUT ប៉ុណ្ណោះ មិនមែនជាថាមពល servo!)
  • GND -> GND
  • អាណាឡូក 4 -> SDA
  • អាណាឡូក 5 -> SCL

ខ្សែភ្លើងមេហ្គាចាស់៖

  • +5v -> VCC (នេះគឺជាថាមពលសម្រាប់តែ BREAKOUT ប៉ុណ្ណោះ មិនមែនជាថាមពល servo!)
  • GND -> GND
  • ឌីជីថល 20 -> SDA
  • ឌីជីថល 21 -> SCL

ខ្សែ R3 និងក្រោយ Arduino (Uno, Mega & Leonardo)៖
(ក្តារទាំងនេះមានម្ជុល SDA & SCL ពិសេសនៅលើបឋមកថានៅជិតឧបករណ៍ភ្ជាប់ USB)

  • +5v -> VCC (នេះគឺជាថាមពលសម្រាប់តែ BREAKOUT ប៉ុណ្ណោះ មិនមែនជាថាមពល servo!)
  • GND -> GND
  • SDA -> SDA
  • SCL -> SCL

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-8

ម្ជុល VCC គឺគ្រាន់តែជាថាមពលសម្រាប់បន្ទះឈីបខ្លួនឯងប៉ុណ្ណោះ។ ប្រសិនបើអ្នកចង់ភ្ជាប់ servos ឬ LEDs ដែលប្រើម្ជុល V+ អ្នកត្រូវតែភ្ជាប់ V+ pin ផងដែរ។ ម្ជុល V+ អាចខ្ពស់ដល់ 6V ទោះបីជា VCC មាន 3.3V (បន្ទះឈីបមានសុវត្ថិភាព 5V)។ យើងស្នើឱ្យភ្ជាប់ថាមពលតាមរយៈប្លុកស្ថានីយពណ៌ខៀវ ព្រោះវាត្រូវបានការពារដោយបន្ទាត់រាងប៉ូល។

ថាមពលសម្រាប់ Servos
servos ភាគច្រើនត្រូវបានរចនាឡើងដើម្បីដំណើរការប្រហែល 5 ឬ 6v ។ សូមចងចាំថា servos ជាច្រើនដែលធ្វើចលនាក្នុងពេលដំណាលគ្នា (ជាពិសេសថាមពលខ្លាំង) នឹងត្រូវការចរន្តច្រើន។ សូម្បីតែមីក្រូ servos នឹងទាញរាប់រយ mA នៅពេលផ្លាស់ទី។ servos កម្លាំងបង្វិលខ្ពស់មួយចំនួននឹងទាញលើសពី 1A នីមួយៗនៅក្រោមបន្ទុក។
ជម្រើសថាមពលល្អគឺ៖

វាមិនមែនជាគំនិតល្អទេក្នុងការប្រើ Arduino 5v pin ដើម្បីផ្តល់ថាមពលដល់ servos របស់អ្នក។ សំលេងរំខានអគ្គិសនី និង 'ការដាច់រលាត់' ពីការទាញចរន្តលើសអាចបណ្តាលឱ្យ Arduino របស់អ្នកធ្វើសកម្មភាពខុសប្រក្រតី កំណត់ឡើងវិញ និង/ឬឡើងកំដៅ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-9

ការបន្ថែម Capacitor ទៅក្នុងរន្ធ thru-hole capacitor
យើងមានកន្លែងនៅលើ PCB សម្រាប់ soldering នៅក្នុង capacitor electrolytic ។ ដោយផ្អែកលើការប្រើប្រាស់របស់អ្នក អ្នកអាចឬមិនត្រូវការ capacitor ។ ប្រសិនបើអ្នកកំពុងបើក servos ជាច្រើនពីការផ្គត់ផ្គង់ថាមពលដែលធ្លាក់ចុះច្រើននៅពេល servos ផ្លាស់ទី n * 100uF ដែល n ជាចំនួន servos គឺជាកន្លែងដ៏ល្អដើម្បីចាប់ផ្តើម - ឧទាហរណ៍ 470uF ឬច្រើនជាងនេះសម្រាប់ 5 servos ។ ដោយសារវាអាស្រ័យទៅលើការអូសទាញចរន្ត servo កម្លាំងបង្វិលជុំនៅលើម៉ូទ័រនីមួយៗ និងការផ្គត់ផ្គង់ថាមពលអ្វីនោះ មិនមាន "តម្លៃ capacitor វេទមន្ត" ទេ យើងអាចណែនាំបាន នោះហើយជាមូលហេតុដែលយើងមិនបញ្ចូល capacitor នៅក្នុងឧបករណ៍។

ការភ្ជាប់ Servo
servos ភាគច្រើនភ្ជាប់មកជាមួយឧបករណ៍ភ្ជាប់ស្ត្រី 3-pin ស្តង់ដារដែលនឹងដោតដោយផ្ទាល់ទៅក្នុងបឋមកថានៅលើ Servo Driver ។ ត្រូវប្រាកដថាតម្រឹមដោតជាមួយខ្សែដី (ជាធម្មតាពណ៌ខ្មៅ ឬពណ៌ត្នោត) ជាមួយជួរខាងក្រោម និងខ្សែសញ្ញា (ជាធម្មតាពណ៌លឿង ឬស) នៅផ្នែកខាងលើ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-10

ការបន្ថែម Servos បន្ថែមទៀត
រហូតដល់ទៅ 16 servos អាចភ្ជាប់ទៅនឹងក្តារមួយ។ ប្រសិនបើអ្នកត្រូវការគ្រប់គ្រងច្រើនជាង 16 servos ក្រុមប្រឹក្សាបន្ថែមអាចត្រូវបានដាក់ច្រវាក់ដូចដែលបានពិពណ៌នានៅទំព័របន្ទាប់។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-11

អ្នកបើកបរខ្សែសង្វាក់

  • អ្នកបើកបរច្រើន (រហូតដល់ 62) អាចត្រូវបានច្រវាក់ដើម្បីគ្រប់គ្រង servos បន្ថែមទៀត។
  • ជាមួយនឹងក្បាលក្បាលនៅចុងទាំងពីរនៃក្តារ ខ្សែភ្លើងគឺសាមញ្ញដូចជាការភ្ជាប់ a ខ្សែប៉ារ៉ាឡែល 6-pin (http://adafru.it/206) ពីក្តារមួយទៅបន្ទះមួយទៀត។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-12

ថ្លែងទៅកាន់ក្រុមប្រឹក្សា

  • ក្តារនីមួយៗនៅក្នុងខ្សែសង្វាក់ត្រូវតែផ្តល់អាសយដ្ឋានតែមួយគត់។ នេះត្រូវបានធ្វើដោយអ្នកលោតអាសយដ្ឋាននៅគែមខាងលើខាងស្តាំនៃក្តារ។ អាសយដ្ឋានមូលដ្ឋាន I2C សម្រាប់ក្តារនីមួយៗគឺ 0x40។ អាសយដ្ឋានគោលពីរដែលអ្នកសរសេរកម្មវិធីជាមួយ jumpers អាសយដ្ឋានត្រូវបានបន្ថែមទៅអាសយដ្ឋាន I2C មូលដ្ឋាន។
  • ដើម្បីសរសេរកម្មវិធីអាស័យដ្ឋានអុហ្វសិត សូមប្រើតំណក់នៃ solder ដើម្បីភ្ជាប់អ្នកលោតអាសយដ្ឋានដែលត្រូវគ្នាសម្រាប់គោលពីរ '1' នីមួយៗនៅក្នុងអាសយដ្ឋាន។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-13

  • ក្រុមប្រឹក្សាភិបាល 0: អាស័យដ្ឋាន = 0x40 អុហ្វសិត = គោលពីរ 00000 (មិនចាំបាច់លោត)
  • ក្រុមប្រឹក្សាភិបាល 1: អាស័យដ្ឋាន = 0x41 អុហ្វសិត = គោលពីរ 00001 (ស្ពាន A0 ដូចក្នុងរូបថតខាងលើ)
  • ក្រុមប្រឹក្សាភិបាល 2៖ អាស័យដ្ឋាន = 0x42 អុហ្វសិត = គោលពីរ 00010 (ស្ពាន A1)
  • ក្រុមប្រឹក្សាភិបាលទី 3៖ អាស័យដ្ឋាន = 0x43 អុហ្វសិត = គោលពីរ 00011 (ស្ពាន A0 & A1)
  • ក្រុមប្រឹក្សាភិបាល 4៖ អាស័យដ្ឋាន = 0x44 អុហ្វសិត = គោលពីរ 00100 (ស្ពាន A2)

ល។
នៅក្នុងគំនូរព្រាងរបស់អ្នក អ្នកនឹងត្រូវប្រកាសគម្រោងដាច់ដោយឡែកសម្រាប់ក្តារនីមួយៗ។ ការហៅទូរសព្ទចាប់ផ្តើមនៅលើវត្ថុនីមួយៗ ហើយគ្រប់គ្រង servo នីមួយៗតាមរយៈវត្ថុដែលវាភ្ជាប់ជាមួយ។ សម្រាប់អតីតampលេ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-14

ការប្រើប្រាស់បណ្ណាល័យ Adafruit

  • ចាប់តាំងពី PWM Servo Driver ត្រូវបានគ្រប់គ្រងលើ I2C វាងាយស្រួលប្រើជាមួយ microcontroller ឬ microcomputer ណាមួយ។
  • នៅក្នុងការបង្ហាញនេះ យើងនឹងបង្ហាញការប្រើប្រាស់វាជាមួយ Arduino IDE ប៉ុន្តែកូដ C++ អាចត្រូវបានបញ្ជូនយ៉ាងងាយស្រួល

ដំឡើងបណ្ណាល័យ Adafruit PCA9685

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-15

  • ហើយវាយបញ្ចូល adafruit pwm ដើម្បីកំណត់ទីតាំងបណ្ណាល័យ។ ចុចដំឡើង

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-16

សាកល្បងជាមួយ Exampលេខកូដ៖

  • ដំបូងត្រូវប្រាកដថាច្បាប់ចម្លងទាំងអស់នៃ Arduino IDE ត្រូវបានបិទ។
  • បន្ទាប់មកបើក Arduino IDE ហើយជ្រើសរើស File-> អតីតamples->Adafruit_PWMServoDriver->Servo។ នេះនឹងបើកអតីតample file នៅក្នុងបង្អួច IDE ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-17

ប្រសិនបើប្រើ Breakout៖

  • ភ្ជាប់ផ្ទាំងបញ្ជា និង servo ដូចបង្ហាញនៅលើទំព័រមុន។ កុំភ្លេចផ្តល់ថាមពលដល់ទាំង Vin (កម្រិតតក្ក 3-5V) និង V+ (5V servo power)។ ពិនិត្យមើលអំពូល LED ពណ៌បៃតង!

ប្រសិនបើប្រើ Shield៖

  • ដោតប្រឡោះចូលទៅក្នុង Arduino របស់អ្នក។ កុំភ្លេចអ្នកក៏នឹងត្រូវផ្តល់ 5V ទៅប្លុកស្ថានីយ V+ ផងដែរ។ ទាំង LED ក្រហម និងបៃតងត្រូវតែភ្លឺ។

ប្រសិនបើប្រើ FeatherWing៖

  • ដោត FeatherWing ទៅក្នុង Feather របស់អ្នក។ កុំភ្លេចអ្នកក៏នឹងត្រូវផ្តល់ 5V ទៅប្លុកស្ថានីយ V+ ផងដែរ។ ពិនិត្យមើលអំពូល LED ពណ៌បៃតង!

ភ្ជាប់ Servo

  • servo តែមួយគួរតែត្រូវបានដោតចូលទៅក្នុងច្រក PWM #0 ដែលជាច្រកទីមួយ។ អ្នកគួរតែឃើញ servo អូសទៅក្រោយប្រហែល 180 ដឺក្រេ។

ការក្រិតតាមខ្នាត Servos របស់អ្នក។
ពេលវេលាជីពចរ Servo ប្រែប្រួលរវាងម៉ាក និងម៉ូដែលផ្សេងៗគ្នា។ ដោយសារវាជាសៀគ្វីគ្រប់គ្រងអាណាឡូក ជាញឹកញាប់មានការប្រែប្រួលខ្លះរវាង samples នៃម៉ាកនិងម៉ូដែលដូចគ្នា។ សម្រាប់ការគ្រប់គ្រងទីតាំងច្បាស់លាស់ អ្នកនឹងចង់ក្រិតខ្នាតអប្បបរមា និងទទឹងជីពចរអតិបរមានៅក្នុងកូដរបស់អ្នក ដើម្បីផ្គូផ្គងទីតាំងដែលគេស្គាល់របស់ servo។

ស្វែងរកអប្បបរមា៖

  • ដោយប្រើអតីតample កូដ កែសម្រួល SERVOMIN រហូតដល់ចំណុចទាបនៃការបោសសម្អាតឈានដល់ជួរអប្បបរមានៃការធ្វើដំណើរ។ វាជាការល្អបំផុតក្នុងការចូលទៅជិតចំណុចនេះបន្តិចម្តងៗ ហើយឈប់មុនពេលកំណត់នៃការធ្វើដំណើរត្រូវបានឈានដល់។

ស្វែងរកអតិបរមា៖

  • ជាថ្មីម្តងទៀតដោយប្រើអតីតample កូដ កែសម្រួល SERVOMAX រហូតដល់ចំណុចខ្ពស់នៃការបោសសម្អាតឈានដល់ជួរអតិបរមានៃការធ្វើដំណើរ។ ជា​ថ្មី​ម្តង​ទៀត គឺ​ជា​ការ​ល្អ​បំផុត​ក្នុង​ការ​ខិត​ជិត​នេះ​បន្តិច​ម្តងៗ ហើយ​ឈប់​មុន​ពេល​កំណត់​ផ្លូវ​កាយ​នៃ​ការ​ធ្វើ​ដំណើរ​ត្រូវ​បាន​ឈាន​ដល់។

ប្រុងប្រយ័ត្ននៅពេលកែតម្រូវ SERVOMIN និង SERVOMAX ។ ការ​ប៉ះ​ពាល់​ដល់​ដែន​កំណត់​នៃ​ការ​ធ្វើ​ដំណើរ​អាច​ដក​ប្រអប់​លេខ​ចេញ​ និង​ធ្វើ​ឱ្យ​ខូច servo របស់​អ្នក​ជា​អចិន្ត្រៃយ៍។

ការបំប្លែងពីដឺក្រេទៅប្រវែងជីពចរ
នេះ។ មុខងារ "ផែនទី ()" របស់ Arduino (https://adafru.it/aQm) គឺជាមធ្យោបាយងាយស្រួលក្នុងការបំប្លែងរវាងដឺក្រេនៃការបង្វិល និងប្រវែងជីពចរដែលបានក្រិតតាមខ្នាត SERVOMIN និង SERVOMAX របស់អ្នក។ សន្មត់ថា servo ធម្មតាជាមួយនឹងការបង្វិល 180 ដឺក្រេ; នៅពេលដែលអ្នកបានក្រិត SERVOMIN ទៅទីតាំង 0 ដឺក្រេ និង SERVOMAX ទៅទីតាំង 180 ដឺក្រេ អ្នកអាចបំប្លែងមុំណាមួយពី 0 ទៅ 180 ដឺក្រេ ទៅជាប្រវែងជីពចរដែលត្រូវគ្នាជាមួយនឹងបន្ទាត់កូដខាងក្រោម៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-18

សំណុំឯកសារយោងបណ្ណាល័យPWMFreq(ប្រេកង់)

ការពិពណ៌នា

  • មុខងារនេះអាចត្រូវបានប្រើដើម្បីកែតម្រូវប្រេកង់ PWM ដែលកំណត់ចំនួន 'pulses' ពេញលេញក្នុងមួយវិនាទីត្រូវបានបង្កើតឡើងដោយ IC ។ បានបញ្ជាក់ខុសគ្នា ប្រេកង់កំណត់ថាតើជីពចរនីមួយៗមានរយៈពេលយូរប៉ុណ្ណា ចាប់ពីពេលចាប់ផ្តើមរហូតដល់ចប់ ដោយគិតទាំងផ្នែកខ្ពស់ និងទាបនៃជីពចរ។
  • ប្រេកង់មានសារៈសំខាន់នៅក្នុង PWM ដោយសារការកំណត់ប្រេកង់ខ្ពស់ពេកជាមួយនឹងវដ្ដកាតព្វកិច្ចតូចខ្លាំងអាចបណ្តាលឱ្យមានបញ្ហា ដោយសារ 'ពេលវេលាកើនឡើង' នៃសញ្ញា (ពេលវេលាដែលវាត្រូវចំណាយពេលពី 0V ទៅ VCC) អាចយូរជាងពេលដែលសញ្ញាសកម្ម ហើយលទ្ធផល PWM នឹងលេចឡើងយ៉ាងរលូន ហើយប្រហែលជាមិនឈានដល់ VCC ដែលអាចបណ្តាលឱ្យមានបញ្ហាមួយចំនួន។

អាគុយម៉ង់

  • ប្រេកង់៖ លេខតំណាងឱ្យប្រេកង់គិតជា Hz ចន្លោះពី ៤០ ដល់ ១៦០០

Example

  • កូដខាងក្រោមនឹងកំណត់ប្រេកង់ PWM ទៅ 1000Hz៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-19

setPWM(ឆានែល បើក បិទ)
ការពិពណ៌នា
មុខងារនេះកំណត់ការចាប់ផ្តើម (បើក) និងបញ្ចប់ (បិទ) នៃផ្នែកខ្ពស់នៃជីពចរ PWM នៅលើឆានែលជាក់លាក់មួយ។ អ្នកបញ្ជាក់តម្លៃ 'ធីក' នៅចន្លោះ 0..4095 នៅពេលដែលសញ្ញានឹងបើក ហើយនៅពេលណាដែលវានឹងបិទ។ ឆានែលបង្ហាញពីលទ្ធផល PWM មួយណាក្នុងចំណោម 16 PWM គួរតែត្រូវបានអាប់ដេតជាមួយនឹងតម្លៃថ្មី។

អាគុយម៉ង់

  • ឆានែល៖ ឆានែលដែលគួរត្រូវបានអាប់ដេតជាមួយនឹងតម្លៃថ្មី (0..15)
  • នៅលើ៖ សញ្ញាធីក (រវាង 0..4095) នៅពេលដែលសញ្ញាគួរតែផ្លាស់ប្តូរពីទាបទៅខ្ពស់
  • បិទ: សញ្ញាធីក (រវាង 0..4095) នៅពេលដែលសញ្ញាគួរតែផ្លាស់ប្តូរពីខ្ពស់ទៅទាប

Example
ខាងក្រោមនេះ example នឹងធ្វើឱ្យឆានែល 15 ចាប់ផ្តើមទាប ឡើងខ្ពស់ប្រហែល 25% ទៅក្នុងជីពចរ (គូស 1024 ចេញពី 4096) ប្តូរទៅទាប 75% ទៅក្នុងជីពចរ (គូស 3072) ហើយនៅទាបសម្រាប់ 25% ចុងក្រោយនៃជីពចរ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-20

ប្រើជា GPIO

  • វាក៏មានការកំណត់ពិសេសមួយចំនួនសម្រាប់ការបើកឬបិទម្ជុលយ៉ាងពេញលេញផងដែរ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-21

ឯកសារបណ្ណាល័យ Arduino

Python & CircuitPython

ខ្សែភ្លើង CircuitPython Microcontroller
ដំបូងភ្ជាប់ PCA9685 ទៅកាន់ក្តាររបស់អ្នកដូចដែលបានបង្ហាញនៅលើទំព័រមុនសម្រាប់ Arduino ។ នេះគឺជាអតីតampការភ្ជាប់ខ្សែ Feather M0 ទៅកាន់ផ្ទាំងបញ្ជាជាមួយ I2C៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-22

ខ្សែកុំព្យូទ័រ Python

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-23

កុំព្យាយាមផ្តល់ថាមពលដល់ servos របស់អ្នកពីថាមពល 5V របស់ RasPi ឬ Linux board នោះអ្នកអាចបង្ករអោយការផ្គត់ផ្គង់ថាមពលមានពណ៌ត្នោត និងធ្វើអោយ Pi របស់អ្នករញ៉េរញ៉ៃបានយ៉ាងងាយ! ប្រើអាដាប់ទ័រ 5v 2A ឬ 4A ដាច់ដោយឡែក

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-24

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-25

ការដំឡើង CircuitPython នៃ PCA9685 និង ServoKit Libraries

សម្រាប់ក្តារដែលមិនមែនជា Express ដូចជា Trinket M0 ឬ Gemma M0 អ្នកនឹងត្រូវដំឡើងបណ្ណាល័យចាំបាច់ដោយដៃពីបណ្តុំ៖

  • adafruit_pca9685.mpy
  • adafruit_bus_device
  • adafruit_ចុះឈ្មោះ
  • adafruit_motor
  • adafruit_servokit.mpy

មុនពេលបន្ត ត្រូវប្រាកដថាថត lib ឬ root របស់ក្រុមប្រឹក្សាភិបាលរបស់អ្នក។ fileប្រព័ន្ធមាន adafruit_pca9685.mpy, adafruit_register, និង adafruit_servokit.mpy, adafruit_motor និង adafruit_bus_device files និងថតចម្លង។
បន្ទាប់ ភ្ជាប់ទៅ REPL ស៊េរីរបស់ក្រុមប្រឹក្សាភិបាល (https://adafru.it/Awz) ដូច្នេះអ្នកនៅ CircuitPython >>> prompt ។

ការដំឡើង Python នៃ PCA9685 និង ServoKit Libraries

អ្នកនឹងត្រូវដំឡើងបណ្ណាល័យ Adafruit_Blinka ដែលផ្តល់ការគាំទ្រ CircuitPython នៅក្នុង Python ។ នេះក៏អាចតម្រូវឱ្យមានការបើកដំណើរការ I2C នៅលើវេទិការបស់អ្នក និងផ្ទៀងផ្ទាត់ថាអ្នកកំពុងដំណើរការ Python 3។ ដោយសារវេទិកានីមួយៗមានភាពខុសប្លែកគ្នាបន្តិចបន្តួច ហើយលីនុចផ្លាស់ប្តូរជាញឹកញាប់ សូមចូលទៅកាន់មគ្គុទ្ទេសក៍ CircuitPython នៅលើលីនុច ដើម្បីឱ្យកុំព្យូទ័ររបស់អ្នករួចរាល់។ (https://adafru.it/BSN)!

  • នៅពេលដែលវារួចរាល់ ពីបន្ទាត់ពាក្យបញ្ជារបស់អ្នកដំណើរការពាក្យបញ្ជាដូចខាងក្រោម:

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-26

  • ប្រសិនបើ Python លំនាំដើមរបស់អ្នកជាកំណែ 3 អ្នកប្រហែលជាត្រូវដំណើរការ 'pip' ជំនួសវិញ។ គ្រាន់តែត្រូវប្រាកដថាអ្នកមិនព្យាយាមប្រើ CircuitPython នៅលើ Python 2.x វាមិនត្រូវបានគាំទ្រទេ!

ការប្រើប្រាស់ CircuitPython និង Python

  • ផ្នែកខាងក្រោមនឹងបង្ហាញពីរបៀបគ្រប់គ្រង PCA9685 ពី Python prompt / REPL របស់ក្រុមប្រឹក្សាភិបាល។ អ្នក​នឹង​រៀន​ពី​របៀប​ដើម្បី​ត្រួត​ពិនិត្យ servos និង LEDs ស្រអាប់ ដោយ​វាយ​បញ្ចូល​កូដ​ខាងក្រោម។

បន្ថយពន្លឺ LEDs
ដំណើរការកូដខាងក្រោមដើម្បីនាំចូលម៉ូឌុលចាំបាច់ និងចាប់ផ្តើមការតភ្ជាប់ I2C ជាមួយក្រុមប្រឹក្សាភិបាល៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-27

  • ឆានែលនីមួយៗនៃ PCA9685 អាចត្រូវបានប្រើដើម្បីគ្រប់គ្រងពន្លឺរបស់ LED ។ PCA9685 បង្កើតសញ្ញា PWM ល្បឿនលឿន ដែលបើក និងបិទ LED យ៉ាងលឿន។ ប្រសិនបើអំពូល LED បើកយូរជាងបិទ វានឹងភ្លឺជាងចំពោះភ្នែករបស់អ្នក។
  • ដំបូងត្រូវភ្ជាប់ LED ទៅនឹងបន្ទះដូចខាងក្រោម។ ចំណាំថាអ្នកមិនចាំបាច់ប្រើរេស៊ីស្ទ័រដើម្បីកំណត់ចរន្តតាមរយៈ LED ទេព្រោះ PCA9685 នឹងកំណត់ចរន្តដល់ប្រហែល 10mA៖

LED cathode / ជើងខ្លីទៅឆានែល PCA9685 GND / ដី។ LED anode / ជើងវែងទៅឆានែល PCA9685 PWM ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-28

  • ថ្នាក់ PCA9685 ផ្តល់នូវការគ្រប់គ្រងប្រេកង់ PWM និងវដ្តកាតព្វកិច្ចរបស់ឆានែលនីមួយៗ។ សូមពិនិត្យមើល ឯកសារថ្នាក់ PCA9685 (https://adafru.it/C5n) សម្រាប់ព័ត៌មានលម្អិត។
  • សម្រាប់ LEDs ស្រអាប់ អ្នកមិនចាំបាច់ប្រើប្រេកង់សញ្ញា PWM លឿនទេ ហើយអាចកំណត់ប្រេកង់ PWM របស់ក្រុមប្រឹក្សាភិបាលទៅ 60hz ដោយកំណត់គុណលក្ខណៈប្រេកង់៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-29

  • PCA9685 គាំទ្រ 16 ប៉ុស្តិ៍ដាច់ដោយឡែកដែលចែករំលែកប្រេកង់ប៉ុន្តែអាចមានវដ្តកាតព្វកិច្ចឯករាជ្យ។ វិធីនោះអ្នកអាចបន្ថយអំពូល LED ១៦ ដាច់ដោយឡែកពីគ្នា!
  • វត្ថុ PCA9685 មានគុណលក្ខណៈឆានែលដែលមានវត្ថុសម្រាប់ឆានែលនីមួយៗដែលអាចគ្រប់គ្រងវដ្តកាតព្វកិច្ច។ ដើម្បីទទួលបានឆានែលនីមួយៗ ប្រើ [] ដើម្បីធ្វើលិបិក្រមទៅក្នុងឆានែល។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-30

  • ឥឡូវនេះគ្រប់គ្រងពន្លឺ LED ដោយគ្រប់គ្រងវដ្តកាតព្វកិច្ចនៃឆានែលដែលភ្ជាប់ទៅ LED ។ តម្លៃវដ្តកាតព្វកិច្ចគួរតែជាតម្លៃ 16 ប៊ីត ពោលគឺ 0 ដល់ 0xffff ដែលតំណាងឱ្យភាគរយនៃពេលវេលាដែលសញ្ញាបើកធៀបនឹងការបិទ។ តម្លៃ 0xffff គឺ 100% ពន្លឺ, 0 គឺ 0% ពន្លឺ, ហើយតម្លៃនៅចន្លោះពី 0% ទៅ 100% ពន្លឺ។
  • សម្រាប់អតីតampខ្ញុំបានកំណត់ LED ទាំងស្រុងជាមួយនឹងវដ្តកាតព្វកិច្ចនៃ 0xffff:

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-31

  • បន្ទាប់ពីដំណើរការពាក្យបញ្ជាខាងលើ អ្នកគួរតែឃើញភ្លើង LED ភ្លឺពេញ! ឥឡូវនេះបិទ LED ជាមួយនឹងវដ្តកាតព្វកិច្ច 0:

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-32

  • សាកល្បងតម្លៃចន្លោះដូចជា 1000៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-33

  • អ្នកគួរតែឃើញ LED ភ្លឺ។ សាកល្បងសាកល្បងជាមួយតម្លៃវដ្តកាតព្វកិច្ចផ្សេងទៀត ដើម្បីមើលពីរបៀបដែល LED ផ្លាស់ប្តូរពន្លឺ!
  • សម្រាប់អតីតampបើក និងបិទ LED បញ្ចេញពន្លឺដោយកំណត់ Duty_cycle នៅក្នុងរង្វិលជុំ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-34

  • ទាំងនេះសម្រាប់រង្វិលជុំត្រូវចំណាយពេលបន្តិចព្រោះ 16 ប៊ីតគឺជាលេខច្រើន។ CTRL-C ដើម្បីបញ្ឈប់រង្វិលជុំពីការរត់ ហើយត្រឡប់ទៅ REPL វិញ។

ពេញ Exampលេខកូដឡឺ

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-35

ការត្រួតពិនិត្យ Servos

  • យើងបានសរសេរបណ្ណាល័យ CircuitPython ដ៏ងាយស្រួលសម្រាប់ឧបករណ៍ PWM/Servo ផ្សេងៗដែលហៅថា សៀគ្វី Adafruit Python ServoKit (https://adafru.it/Dpu) ដែលគ្រប់គ្រងការរៀបចំស្មុគស្មាញទាំងអស់សម្រាប់អ្នក។ អ្វីដែលអ្នកត្រូវធ្វើគឺនាំចូលថ្នាក់សមរម្យពីបណ្ណាល័យ ហើយបន្ទាប់មកលក្ខណៈពិសេសទាំងអស់នៃថ្នាក់នោះមានសម្រាប់ប្រើប្រាស់។
  • យើងនឹងបង្ហាញអ្នកពីរបៀបនាំចូល ServoKit class ហើយប្រើវាដើម្បីគ្រប់គ្រងម៉ូទ័រ servo ជាមួយនឹង Adafruit 16-channel breakout។
  • ប្រសិនបើអ្នកមិនស៊ាំជាមួយ servos ត្រូវប្រាកដថាអានវាជាមុនសិន ការណែនាំទៅកាន់ទំព័រ servos (https://adafru.it/scW) ហើយនេះ។ ទំព័រមគ្គុទ្ទេសក៍ servo ស៊ីជម្រៅ (https://adafru.it/scS).
  • ដំបូងភ្ជាប់ servo ទៅឆានែល 0 នៅលើ PCA9685 ។ នេះគឺជាអតីតample នៃ servo ភ្ជាប់ទៅឆានែល 0:

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-36

  • ត្រូវប្រាកដថាអ្នកបានបើក ឬដោតការផ្គត់ផ្គង់ថាមពល 5V ខាងក្រៅទៅកាន់បន្ទះ PCA9685 ផងដែរ!
  • ដំបូងអ្នកនឹងត្រូវនាំចូល និងចាប់ផ្តើមថ្នាក់ ServoKit ។ អ្នកត្រូវតែបញ្ជាក់ចំនួនប៉ុស្តិ៍ដែលមាននៅលើក្តាររបស់អ្នក។ ការបំបែកមាន 16 channels ដូច្នេះនៅពេលអ្នកបង្កើត class object អ្នកនឹងបញ្ជាក់ 16 ។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-37

  • ឥឡូវ​នេះ អ្នក​បាន​ត្រៀម​ខ្លួន​ជា​ស្រេច​ក្នុង​ការ​គ្រប់​គ្រង​ទាំង servos បង្វិល​តាម​ស្តង់ដារ និង​បន្ត។

សេវាស្តង់ដារ

  • ដើម្បីគ្រប់គ្រង servo ស្តង់ដារ អ្នកត្រូវបញ្ជាក់ឆានែលដែល servo ត្រូវបានភ្ជាប់។ បន្ទាប់មកអ្នកអាចគ្រប់គ្រងចលនាដោយកំណត់មុំទៅចំនួនដឺក្រេ។
  • តាមលំនាំដើម ថ្នាក់ Servo នឹងប្រើជួរសកម្មភាព ទទឹងជីពចរអប្បបរមា និងតម្លៃទទឹងជីពចរអតិបរមា ដែលគួរតែដំណើរការសម្រាប់ servos ភាគច្រើន។ ទោះយ៉ាងណាក៏ដោយ ពិនិត្យឯកសារថ្នាក់ Servo (https://adafru.it/BNE) សម្រាប់ព័ត៌មានលម្អិតអំពីប៉ារ៉ាម៉ែត្របន្ថែមដើម្បីប្ដូរតាមបំណងនូវសញ្ញាដែលបានបង្កើតសម្រាប់ servos របស់អ្នក។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-38

  • ជាមួយនឹង Servo អ្នកបញ្ជាក់ទីតាំងមួយជាមុំ។ មុំនឹងតែងតែនៅចន្លោះ 0 និងជួរសកម្មភាពដែលបានផ្តល់ឱ្យនៅពេលដែល Servo ត្រូវបានបង្កើត។ លំនាំដើមគឺ 180 ដឺក្រេ ប៉ុន្តែ servo របស់អ្នកអាចមានការបោសសំអាតតូចជាងមុន - ផ្លាស់ប្តូរមុំសរុបដោយបញ្ជាក់ប៉ារ៉ាម៉ែត្រ actuation_angle នៅក្នុងកម្មវិធីចាប់ផ្តើមថ្នាក់ Servo ខាងលើ។
  • ឥឡូវនេះកំណត់មុំទៅ 180 ដែលជាចំណុចខ្លាំងមួយនៃជួរ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-39

  • ដើម្បីត្រឡប់ servo ទៅ 0 ដឺក្រេ:

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-40

  • ជាមួយនឹង servo ស្តង់ដារ អ្នកបញ្ជាក់ទីតាំងជាមុំ។ មុំនឹងតែងតែនៅចន្លោះ 0 និងជួរធ្វើសកម្មភាព។ លំនាំដើមគឺ 180 ដឺក្រេ ប៉ុន្តែ servo របស់អ្នកអាចមានការបោសសំអាតតូចជាង។ អ្នកអាចផ្លាស់ប្តូរមុំសរុបដោយកំណត់ actuation_range ។
  • សម្រាប់អតីតample ដើម្បីកំណត់ជួរសកម្មភាពទៅ 160 ដឺក្រេ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-41

  • ជាញឹកញាប់ជួរដែល servo បុគ្គលទទួលស្គាល់ប្រែប្រួលបន្តិចពី servo ផ្សេងទៀត។ ប្រសិនបើ servo មិនបានពង្រីកជួរដែលរំពឹងទុកពេញលេញទេ បន្ទាប់មកព្យាយាមកែតម្រូវទទឹងជីពចរអប្បបរមា និងអតិបរមាដោយប្រើ set_pulse_width_range(min_pulse, max_pulse) ។
  • ដើម្បីកំណត់ជួរទទឹងជីពចរទៅអប្បបរមា 1000 និងអតិបរមា 2000៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-42

  • នោះហើយជាអ្វីទាំងអស់គឺដើម្បីគ្រប់គ្រង servos ស្តង់ដារជាមួយនឹងការបំបែក PCA9685, Python និង ServoKit !

Servos ការបង្វិលបន្ត

  • ដើម្បីគ្រប់គ្រង servo បង្វិលបន្ត អ្នកត្រូវតែបញ្ជាក់ឆានែលដែល servo បើក។
  • បន្ទាប់មកអ្នកអាចគ្រប់គ្រងចលនាដោយប្រើបិទបើក។
  • សម្រាប់អតីតample ដើម្បីចាប់ផ្តើម servo បង្វិលបន្តដែលភ្ជាប់ទៅឆានែលទី 1 ឆ្ពោះទៅមុខពេញលេញ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-43

  • ដើម្បីចាប់ផ្តើម servo បង្វិលបន្តដែលភ្ជាប់ទៅឆានែល 1 ទៅនឹងការបិទបើកបញ្ច្រាសពេញលេញ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-44

  • ដើម្បីកំណត់ពាក់កណ្តាលបិទបើក ប្រើទសភាគ៖

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-45

  • ហើយដើម្បីបញ្ឈប់ចលនា servo បង្វិលបន្តកំណត់បិទបើកទៅ 0:

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-46

  • នោះហើយជាអ្វីទាំងអស់គឺដើម្បីគ្រប់គ្រង servos ការបង្វិលបន្តជាមួយនឹងការបំបែកឆានែល PCA9685 16, Python និង ServoKit!

ពេញ Exampលេខកូដឡឺ

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-47

ឯកសារ Python

ឯកសារ Python៖ ServoKit

ការទាញយក

Files

គ្រោងការណ៍ & ការបោះពុម្ព

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-48 CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-49

រន្ធមានអង្កត់ផ្ចិត 2.5 ម។

CNCU-PCA9685-Servo-Driver-i2C-Interface-FIG-50

សំណួរគេសួរញឹកញាប់

  • តើបន្ទះនេះអាចប្រើសម្រាប់ LEDs ឬគ្រាន់តែ servos ទេ?
    • វាអាចត្រូវបានប្រើសម្រាប់ LEDs ក៏ដូចជាឧបករណ៍ PWM ផ្សេងទៀត!
  • ខ្ញុំមានបញ្ហាចម្លែកនៅពេលផ្សំខែលនេះជាមួយ Adafruit LED Matrix/7Seg Backpacks
    • បន្ទះឈីប PCA9865 មានអាសយដ្ឋាន "ហៅទាំងអស់" 0x70 ។ នេះបន្ថែមពីលើអាសយដ្ឋានដែលបានកំណត់រចនាសម្ព័ន្ធ។ កំណត់កាបូបស្ពាយដើម្បីដោះស្រាយ 0x71 ឬអ្វីផ្សេងទៀតក្រៅពី 0x70 លំនាំដើម ដើម្បីធ្វើឱ្យបញ្ហាបាត់ទៅវិញ។
  • ជាមួយនឹង LEDs តើខ្ញុំមិនអាចឱ្យ LEDs បិទទាំងស្រុងដោយរបៀបណា?
    • ប្រសិនបើអ្នកចង់បិទ LEDs ទាំងស្រុង (នៅក្នុង Arduino) កំណត់ PWM(pin, 0, 4096); មិនបានកំណត់ (ម្ជុល, 0, 4095);

ឯកសារ/ធនធាន

CNCU PCA9685 ចំណុចប្រទាក់កម្មវិធីបញ្ជា Servo i2C [pdf] សេចក្តីណែនាំ
PCA9685 ចំណុចប្រទាក់កម្មវិធីបញ្ជា i2C សឺវ៉ូ, PCA9685, ចំណុចប្រទាក់កម្មវិធីបញ្ជា i2C, ចំណុចប្រទាក់កម្មវិធីបញ្ជា i2C, ចំណុចប្រទាក់ i2C, ចំណុចប្រទាក់

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *