វិធីគ្រប់គ្រងសេវ៉ារបស់អ្នកជាមួយអារីដូណូ

ដោយ John Nussey

ដោយប្រើប្រដាប់វាស់ស្ទង់ថាមពល (ឬឧបករណ៍ចាប់សញ្ញាអាណាឡូក) វាអាចធ្វើទៅបានដើម្បីគ្រប់គ្រងដូរបស់អ្នកដោយផ្ទាល់តាមរបៀបដែលអ្នកអាចគ្រប់គ្រងក្រញ៉ាំមេកានិចនៅលើធ្នូ។



គំនូរព្រាង Knob

ឧទាហរណ៍នេះបង្ហាញអ្នកពីវិធីដែលអ្នកអាចប្រើម៉ាស៊ីនវ៉ែនតាសឺមីទ័រយ៉ាងងាយស្រួលដើម្បីផ្លាស់ទីដូអូរបស់អ្នកទៅកំរិតជាក់លាក់។

អ្នក​ត្រូវការ:

servo មានខ្សែដូចនៅក្នុងឧទាហរណ៍របស់ Sweep ប៉ុន្តែពេលនេះអ្នកត្រូវការភ្ជាប់បន្ថែមទៅ 5V និង GND សំរាប់ម៉ាស៊ីនវ៉ែនតាដូសដូច្នេះអ្នកត្រូវតែប្រើក្តារចានដើម្បីផ្តល់នូវម្ជុលបន្ថែម។ ភ្ជាប់ម្ជុល 5V និង GND នៅលើ Arduino ទៅជួរដេកវិជ្ជមាន (+) និងអវិជ្ជមាន (-) នៅលើតុនំប៉័ង។

ភ្ជាប់ servo ទៅនឹងក្តារនំប៉័ងដោយប្រើទាំងម្ជុលជួរឬក្បាលលោតចំនួនបីជួរ។ ភ្ជាប់រន្ធពណ៌ក្រហមទៅជួរ 5V រន្ធខ្មៅ / ត្នោតទៅជួរដេក GND និងរន្ធពណ៌ស / ពណ៌លឿងដើម្បីភ្ជាប់លេខ 9 នៅលើ Arduino ។

image0.jpg

រកកន្លែងទំនេរមួយនៅលើក្តារខ័រសម្រាប់វ៉ែរទ័រ។ ភ្ជាប់ម្ជុលកណ្តាលដើម្បីភ្ជាប់ A0 នៅលើអ័រឌូណូនិងម្ជុលដែលនៅសល់ទៅ 5 វីសនៅម្ខាងនិង GND នៅម្ខាងទៀត។

image1.jpg

បន្ទាប់ពីអ្នកបានបង្កើតសៀគ្វីបើកការបង្ហាញប្រភេទរូបភាពដោយជ្រើសរើសយកឯកសារ→ឧទាហរណ៍ o servo → Knob ។ លេខកូដសម្រាប់ការបង្ហាញប្រភេទរូបភាពមានដូចខាងក្រោម៖

// Controlling a servo position using a potentiometer (variable resistor) // by Michal Rinott #include <  Servo  .h>  Servo  myservo; // create servo object to control a servo  int  potpin = 0; // analog pin used to connect the potentiometer  int  val; // variable to read the value from the analog pin void setup() { myservo.  attach  (9); // attaches the servo on pin 9 to the servo object } void loop() { val =  analogRead  (potpin); // reads the value of the // potentiometer (value between // 0 and 1023) val =  map  (val, 0, 1023, 0, 179); // scale it to use it with // the servo (value between 0 and // 180) myservo.  write  (val); // sets the servo position according // to the scaled value  delay  (15); // waits for the servo to get there }

អ្នកអាចកត់សម្គាល់ថាមានភាពខុសគ្នាមួយចំនួនរវាងយោបល់និងលេខកូដ។ នៅពេលនិយាយអំពីកំរិតដឺក្រេដើម្បីផ្លាស់ទីកេសរគំនូសព្រាងបង្ហាញពីលេខ ០ ដល់ ១៧៩ និង ០ ដល់ ១៨០ ។ ជាមួយនឹងការបង្រៀន Arduino វាល្អបំផុតក្នុងការសន្មតថាពួកវាដំណើរការហើយមិនតែងតែត្រឹមត្រូវទេ។

ផលប៉ះពាល់នៃថ្នាំ bactrim ds 800 160

ជួរត្រឹមត្រូវគឺពី ០ ដល់ ១៧៩ ដែលផ្តល់តម្លៃ ១៨០ ។ ការរាប់ពីសូន្យគឺសំដៅទៅលើ លិបិក្រមសូន្យ និងជារឿងធម្មតាកើតឡើងនៅ Arduino ដូចដែលអ្នកបានកត់សំគាល់ដោយចំណុចនេះ។

បន្ទាប់ពីអ្នកបានរកឃើញគំនូរព្រាងសូមចុចប៊ូតុងចងក្រងដើម្បីពិនិត្យមើលលេខកូដ។ អ្នកចងក្រងគួរបញ្ជាក់ពីកំហុសវាក្យសម្ព័ន្ធណាមួយនៅក្នុងប្រអប់សារដែលមានពណ៌ក្រហមនៅពេលពួកគេត្រូវបានរកឃើញ។

ប្រសិនបើការបង្ហាញប្រភេទរូបភាពបានចងក្រងត្រឹមត្រូវសូមចុចអាប់ឡូតដើម្បីបញ្ចូលរូបភាពព្រាងទៅក្តាររបស់អ្នក។ នៅពេលដែលវាត្រូវបានបញ្ចប់ការផ្ទុកឡើង servo របស់អ្នកគួរតែប្រែដូចអ្នកបើកម៉ាស៊ីនវ៉ែនតារបស់អ្នក។

ប្រសិនបើវាមិនមានអ្វីកើតឡើងអ្នកគួរតែពិនិត្យខ្សែភ្លើងរបស់អ្នកទ្វេរដង៖

  • ត្រូវប្រាកដថាអ្នកកំពុងប្រើលេខ ៩ ដើម្បីភ្ជាប់ខ្សែ (ស / លឿង) ទៅនឹងខ្សែវ៉ែនតា។

  • ពិនិត្យមើលការភ្ជាប់របស់អ្នកទៅនឹងម៉ាស៊ីនវ៉ែនតាវ៉ែនតានិងធ្វើឱ្យប្រាកដថាម្ជុលកណ្តាលត្រូវបានភ្ជាប់ទៅនឹងម្ជុលអាណាឡូក ០ ។

  • ពិនិត្យមើលការតភ្ជាប់នៅលើតុនំប៉័ង។ ប្រសិនបើខ្សែលោតឬសមាសធាតុមិនត្រូវបានភ្ជាប់ដោយប្រើជួរត្រឹមត្រូវនៅក្នុងក្តារនំប៉័ងនោះពួកគេនឹងមិនដំណើរការទេ។

ការបង្ហាញប្រភេទរូបភាពដាប់ប៊ែល

នៅក្នុងសេចក្តីប្រកាសបណ្ណាល័យ servo, Servo.h និងវត្ថុ servo ថ្មីត្រូវបានដាក់ឈ្មោះ។ ម្ជុលបញ្ចូលអាណាឡូកត្រូវបានប្រកាសជាមួយតម្លៃ ០ ដែលបង្ហាញថាអ្នកកំពុងប្រើអាណាឡូក ០ ។

អ្នកប្រហែលជាបានកត់សម្គាល់ឃើញថាម្ជុលត្រូវបានដាក់លេខ ០ មិនមែនលេខ A ដូចនៅក្នុងឧទាហរណ៍ផ្សេងទៀតទេ។ មិនអីទេពីព្រោះ A0 គ្រាន់តែជាឈ្មោះហៅក្រៅនៃលេខ ០ ដែល A1 ជាលេខ ១ ។ ល។ ការប្រើប្រាស់ A0 គឺល្អសម្រាប់ភាពច្បាស់លាស់ប៉ុន្តែជាជម្រើស។

មានអថេរចុងក្រោយមួយដើម្បីរក្សាទុកតម្លៃនៃការអានដែលនឹងក្លាយជាលទ្ធផល។

#include <  Servo  .h>  Servo  myservo; // create servo object to control a servo  int  potpin = 0; // analog pin used to connect the potentiometer  int  val; // variable to read the value from the analog pin

នៅក្នុងការរៀបចំធាតុតែមួយគត់ដើម្បីកំណត់គឺ myservo ដែលកំពុងប្រើម្ជុលលេខ 9 ។

អាយុកាលធ្នើរបស់អ៊ីដ្រូខុន
void setup() { myservo.  attach  (9); // attaches the servo on pin 9 to the servo object }

ជាជាងប្រើអថេរពីរដាច់ដោយឡែកសម្រាប់ការបញ្ចូលនិងលទ្ធផលគំនូរព្រាងនេះគ្រាន់តែប្រើមួយប៉ុណ្ណោះ។ ទីមួយម៉ោងត្រូវបានប្រើដើម្បីរក្សាទុកទិន្នន័យឧបករណ៍ចាប់សញ្ញាឆៅដែលជាតម្លៃពី ០ ដល់ ១០២៣ ។ បន្ទាប់មកតម្លៃនេះត្រូវបានដំណើរការដោយប្រើឯកសារផែនទីមុខងារដើម្បីធ្វើមាត្រដ្ឋានជួររបស់វាទៅនឹង servo: ០ ដល់ ១៧៩ ។

បន្ទាប់មកតម្លៃនេះត្រូវបានសរសេរទៅកាន់ servo ដោយប្រើmyservo.write។ ក៏មានការពន្យាពេល ១៥ មីលីវិនាទីដើម្បីទៅដល់ទីតាំងនោះដែរ។ បន្ទាប់មករង្វិលជុំធ្វើម្តងទៀតនិងធ្វើបច្ចុប្បន្នភាពទីតាំងរបស់វាជាចាំបាច់។

void loop() { val =  analogRead  (potpin); // reads the value of the potentiometer // (value between 0 and 1023) val =  map  (val, 0, 1023, 0, 179); // scale it to use it with the servo // (value between 0 and 180) myservo.  write  (val); // sets the servo position according to // the scaled value  delay  (15); // waits for the servo to get there }

ជាមួយនឹងការបន្ថែមដ៏សាមញ្ញទៅសៀគ្វីនេះវាអាចធ្វើទៅបានដើម្បីគ្រប់គ្រង servo ជាមួយនឹងការបញ្ចូលប្រភេទណាមួយ។ ក្នុងឧទាហរណ៍នេះកូដប្រើការបញ្ចូលអាណាឡូកប៉ុន្តែជាមួយការផ្លាស់ប្តូរបន្តិចបន្តួចវាអាចប្រើការបញ្ចូលឌីជីថលយ៉ាងងាយស្រួល។

អត្ថបទគួរឱ្យចាប់អារម្មណ៍