PWM៖ ត្រាប់តាមម្ជុលអាណាឡូកជាមួយក្តារ Arduino របស់អ្នក

សញ្ញា PWM

ជាមួយនឹងម្ជុលឌីជីថលនិងអាណាឡូកដែលអ្នកអាចប្រើនៅលើក្តារអារីដូណូរបស់អ្នកអ្នកអាចទទួលឬបញ្ជូនសញ្ញាអគ្គិសនីដើម្បីគ្រប់គ្រងឬទទួលទិន្នន័យពីគម្រោងអេឡិចត្រូនិចរបស់អ្នក។ លើសពីនេះទៀតមានសញ្ញាគួរឱ្យចាប់អារម្មណ៍ខ្លាំងណាស់នៅក្នុងចានប្រភេទនេះហើយសញ្ញាទាំងនោះគឺជាសញ្ញា PWM, ដែលអាចធ្វើត្រាប់តាមសញ្ញាអាណាឡូកដោយមិនមានអាណាឡូក។ នោះគឺពួកគេគឺជាម្ជុលឌីជីថលដែលអាចធ្វើសកម្មភាពតាមរបៀប (មិនដូចគ្នា) ជាសញ្ញាអាណាឡូក។

ប្រភេទនៃសញ្ញាទាំងនេះគឺមានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ពេលដែលអ្នកមិនត្រឹមតែចង់ប្រើសញ្ញាឌីជីថល HIGH និង LOW នោះទេពោលគឺ ១ រឺ ០, ON និងបិទប៉ុន្តែអ្នកចង់បន្តនិងពិពណ៌នាបន្ថែមទៀត។ សញ្ញាស្មុគស្មាញបន្ថែមទៀត។ ឧទាហរណ៍វាអាចធ្វើទៅបានដើម្បីសំរួលល្បឿនរបស់ក ម៉ូទ័រ DCឬអាំងតង់ស៊ីតេពន្លឺនៃពន្លឺសម្រាប់សូឡែន។ ល។

អាណាឡូកទល់នឹងប្រព័ន្ធឌីជីថល

អាណាឡូកទល់នឹងសញ្ញាឌីជីថល

សៀគ្វីអេឡិចត្រូនិចអាចត្រូវបានបែងចែកជាពីរក្រុមធំឬពីរប្រភេទ៖ ឌីជីថលនិងអាណាឡូក។ នៅពេលនិយាយអំពីអេឡិចត្រូនិចឌីជីថលយើងកំពុងប្រើបរិមាណដែលមានតម្លៃដាច់ពីគ្នាពោលគឺប្រព័ន្ធគោលពីរតំណាងដោយសញ្ញាអគ្គិសនីនៃវ៉ុលទាបឬខ្ពស់ដើម្បីបកស្រាយស្ថានភាពនៃប៊ីតទាំងនោះដែលត្រូវបានដោះស្រាយ។ ម៉្យាងទៀតនៅពេលវាជាសៀគ្វីអាណាឡូកបរិមាណដែលមានតម្លៃជាបន្តបន្ទាប់កំពុងត្រូវបានប្រើប្រាស់។

នៅក្នុងប្រព័ន្ធឌីជីថលអាចត្រូវបានរកឃើញនៅក្នុងវេន នៃប្រភេទផ្សំនិងប្រភេទនៃលំដាប់បន្តបន្ទាប់។ នោះគឺអតីតគឺជាអ្នកដែលលទ្ធផលនៃប្រព័ន្ធពឹងផ្អែកតែលើស្ថានភាពនៃធាតុចូល។ ម៉្យាងទៀតនៅក្នុងធាតុបន្តបន្ទាប់ធាតុនៃអង្គចងចាំត្រូវបានរាប់បញ្ចូលហើយលទ្ធផលនឹងអាស្រ័យលើស្ថានភាពបច្ចុប្បន្ននៃធាតុចូលនិងរដ្ឋមុនដែលបានរក្សាទុក។

ក្នុងករណីដែលមានអាណាឡូកមិនមានក្រុមធំឬវ៉ារ្យ៉ង់ទាំងពីរនេះទេពីព្រោះនៅទីនេះពួកគេជាសញ្ញាបន្តដែលនឹងពឹងផ្អែកជានិច្ច សញ្ញា ប្រព័ន្ធបច្ចុប្បន្ន។ ឧទាហរណ៍នៅក្នុងឧបករណ៍បំពងសម្លេងសញ្ញាដែលត្រូវបានផ្គត់ផ្គង់ទៅវានឹងអាស្រ័យលើសម្លេងដែលអ្នកចង់បង្កើតឡើងវិញ។ ដូចគ្នាជាមួយមីក្រូហ្វូនដែលនឹងបង្កើតសញ្ញាអាណាឡូកអាស្រ័យលើសម្លេងដែលវាកំពុងទទួល។ ប្រាកដណាស់អ្នកបានឃើញវាជាមួយឧបករណ៍ចាប់សញ្ញាជាច្រើនទៀតដែលយើងបានពិពណ៌នានៅក្នុងប្លក់នេះហើយដែលដើរតួជាមួយសញ្ញាអាណាឡូក (ហេតុដូច្នេះរូបមន្តត្រូវបង្កើតដូច្នេះក្រោយមកតម្លៃអាចត្រូវបានគណនាឬមានលក្ខខណ្ឌនៅក្នុងគំនូសព្រាង Arduino IDE ។ ) ...

ចរិតទាំងនេះរបស់មួយនិងមួយទៀតធ្វើឱ្យខ្លះមានរបស់វា គុណសម្បត្តិ​និង​គុណវិបត្តិដូចធម្មតានៅស្ទើរតែអ្វីៗទាំងអស់។ ឧទាហរណ៍ឌីជីថលមានទំនោរទៅរកតម្លៃថោកលឿនជាងមុនងាយស្រួលក្នុងការអភិវឌ្ឍព័ត៌មានអាចត្រូវបានរក្សាទុកកាន់តែងាយស្រួលពួកគេមានភាពត្រឹមត្រូវជាងមុនពួកគេអាចត្រូវបានគេរៀបចំកម្មវិធីពួកគេមិនងាយរងគ្រោះដោយសារឥទ្ធិពលនៃសំលេងរំខាន។ ល។ ប៉ុន្តែវាក៏ជាការពិតដែលថាជាមួយអាណាឡូកអ្នកអាចដំណើរការជាមួយសញ្ញាស្មុគស្មាញជាងនេះ។

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

អាណាឡូកទល់នឹងសញ្ញាឌីជីថល

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

ដូចជាសម្រាប់ សញ្ញាឌីជីថល, គឺជាវ៉ុលដែលប្រែប្រួលតាមទ្រនិចនាឡិកាទាក់ទងនឹងពេលវេលា។ នោះគឺប្រសិនបើវាត្រូវបានតំណាងនៅលើក្រាហ្វវានឹងជាសញ្ញាជំហានមួយដែលមិនខុសគ្នាជាបន្តបន្ទាប់ទេប៉ុន្តែការផ្លាស់ប្តូរជំហានឬការបង្កើនចំនួនខុសគ្នា។

អ្នកគួរតែដឹងថាមានសៀគ្វីដើម្បីទៅពីសញ្ញាអាណាឡូកទៅឌីជីថលមួយឬផ្ទុយមកវិញ។ ទាំងនេះ ឧបករណ៍បំលែង ពួកគេត្រូវបានគេស្គាល់ថាជាឌីអេចឌី (កម្មវិធីបម្លែងឌីជីថលទៅអាណាឡូក) និងអេឌីស៊ី (អាណាឡូកទៅឌីជីថលបំលែង) ។ ហើយពួកវាជាញឹកញាប់ណាស់នៅក្នុងឧបករណ៍ជាច្រើនដែលយើងប្រើសព្វថ្ងៃដូចជាទូរទស្សន៍កុំព្យូទ័រជាដើម។ ជាមួយពួកគេអ្នកអាចប្តូរសញ្ញាឌីជីថលដែលប្រើដោយឧបករណ៍ទាំងនេះទៅកម្រិតអេឡិចត្រូនិចដើម្បីធ្វើការជាមួយគ្រឿងបន្លាស់ផ្សេងទៀតឬផ្នែកដែលធ្វើការក្នុងអាណាឡូក។

ដោយ ejemploវាគ្មិនឬមីក្រូហ្វូនដែលមានសញ្ញាអាណាឡូកដែលដំណើរការជាមួយកាតសំឡេងឬកាតក្រាហ្វិកឌីជីថលដែលមានបន្ទះឈីប RAMDAC ដ៏ល្បីល្បាញសម្រាប់កំពង់ផែម៉ូនីទ័រអាណាឡូក ... នៅ Arduino ឧបករណ៍បំលែងប្រភេទនេះត្រូវបានប្រើសម្រាប់គម្រោងជាច្រើនដូចដែលយើងនឹងឃើញ ...

តើ PWM ជាអ្វី?

វដ្តកាតព្វកិច្ចក្រាហ្វិច

ទោះបីជា PWM (ការវាស់ស្ទង់ជីពចរ - ទទឹង) ឬការវាស់ទទឹងជីពចរ, មានមូលដ្ឋានឌីជីថលរូបរាងនៃសញ្ញារបស់វាប្រហាក់ប្រហែលនឹងសញ្ញាអាណាឡូក "ការ៉េ" ។ វាអនុញ្ញាតដោយមធ្យោបាយនៃជីពចរឌីជីថលដើម្បីផ្លាស់ប្តូរសញ្ញាដើម្បីធ្វើត្រាប់តាមប្រព័ន្ធអាណាឡូកដូចដែលខ្ញុំបានអត្ថាធិប្បាយរួចហើយ។ តាមពិតប្រសិនបើអ្នកក្រឡេកមើលឈ្មោះវាផ្តល់ឱ្យអ្នកនូវតម្រុយរួចហើយនូវអ្វីដែលវាធ្វើតាមរយៈទទឹងជីពចរឌីជីថល។

នេះមានប្រយោជន៍សម្រាប់ Arduino ដោយសារតែមានស្វ័យប្រវត្តិកម្មជាច្រើនឬសមាសធាតុអេឡិចត្រូនិចដែលអ្នកអាចបន្ថែមទៅគម្រោងរបស់អ្នកហើយនោះ មិនមានសមត្ថភាពក្នុងការផ្តល់សញ្ញាអាណាឡូកពិតទេប៉ុន្តែពួកគេប្រើ PWM នេះដើម្បីប្រតិបត្តិការ។ ហើយពួកគេក៏មិនអាចប្រើសញ្ញាអាណាឡូកដែលត្រូវបានគេធ្វើនោះដែរគឺលោតទៅវ៉ុលដើម្បីស្រដៀងនឹងឌីជីថល។ អ្វីដែលពួកគេអាចធ្វើបានគឺប្រើលទ្ធផលឌីជីថល -Vcc ឬ Vcc នៃប្រភេទឌីជីថលដើម្បីបង្កើតសញ្ញាបារម្ភនេះ ...

ដូច្នេះ PWM គឺជាប្រភេទនៃ "កលល្បិច" ដែល Arduino និងប្រព័ន្ធផ្សេងទៀតអាចធ្វើអន្តរកម្មជាមួយសញ្ញាប្រភេទនេះដែល ពួកគេមិនក្លាយជាអាណាឡូកឬឌីជីថលធម្មតាទេ។ ដើម្បីធ្វើឱ្យវាអាចធ្វើទៅបានពួកគេរក្សាលទ្ធផលឌីជីថលឱ្យសកម្មសម្រាប់ពេលវេលាជាក់លាក់ឬបិទអាស្រ័យលើចំណាប់អារម្មណ៍គ្រប់ពេល។ នេះគឺនៅឆ្ងាយពីអ្វីដែលជានាឡិកាឌីជីថលឬលេខកូដប្រព័ន្ធគោលពីរដែលជីពចរមានទទឹងដូចគ្នា។

នៅក្នុងគម្រោងរបស់អ្នកជាមួយ Arduino អ្នកអាចពិនិត្យមើលសញ្ញា PWM ប្រភេទនេះដែលក្នុងនោះភាពញឹកញាប់នៃជីពចរថេរត្រូវបានរក្សាទុកតាមពេលវេលាប៉ុន្តែ ទទឹងជីពចរទាំងនេះមានលក្ខណៈខុសគ្នា។ តាមពិតវដ្តកាតព្វកិច្ចត្រូវបានគេហៅថាពេលវេលាដែលសញ្ញាត្រូវបានរក្សាទុកខ្ពស់ដោយគោរពតាមចំនួនសរុបនៃវដ្ត។ ដូច្នេះវដ្តកាតព្វកិច្ចត្រូវបានផ្តល់ជា% ។

ចងចាំថានៅក្នុង PWM អ្នកមិនដំណើរការដូចនៅក្នុងសញ្ញាអាណាឡូករវាងតម្លៃវ៉ុលផ្សេងៗគ្នាហើយវាប្រែប្រួលរវាងពួកវា។ ក្នុងករណី PWM វាគឺជាសញ្ញាការ៉េនៅក្នុងរចនាប័ទ្មឌីជីថលនិង តម្លៃអតិបរមារបស់វាគឺវីស៊ី។ ឧទាហរណ៍ប្រសិនបើអ្នកធ្វើការជាមួយការផ្គត់ផ្គង់ថាមពល 3V អ្នកអាចផ្តល់ឱ្យជីពចរ 3V ឬ 0V ប៉ុន្តែមិនមែន 1V ឬតម្លៃមធ្យមផ្សេងទៀតដូចដែលនឹងកើតឡើងនៅក្នុងអាណាឡូកពិតប្រាកដ។ អ្វីដែលនឹងប្រែប្រួលក្នុងករណីនោះគឺទទឹងជីពចរដែលយើងអាចរក្សា ៣០% នៃតម្លៃ Vcc ខ្ពស់ឬ ៦០% ដើម្បីផ្តល់ថាមពលបន្ថែមទៀត។ ល។

ប៉ុន្តែត្រូវប្រុងប្រយ័ត្នព្រោះប្រសិនបើឧបករណ៍គាំទ្រដែនកំណត់ Vcc ហើយលើសពី PWM វាអាចខូច។ ដូច្នេះវាចាំបាច់ត្រូវគោរពតម្លៃនៃសំណុំទិន្នន័យដែលផ្តល់ដោយក្រុមហ៊ុនផលិត។ ដូចគ្នានេះផងដែរនៅក្នុងឧបករណ៍មួយចំនួនដូចជាម៉ូទ័រ DC ។ បញ្ជូនតអេឡិចត្រូម៉ាញេទិកជាដើមការដកវ៉ុលបន្ទាប់ពីវដ្តកាតព្វកិច្ចអាចមានន័យថាបន្ទុកបន្ទុកអាចបណ្តាលឱ្យខូចខាត។ នោះហើយជាមូលហេតុដែល ការការពារ ទាន់ពេលវេលា។

PWM លើ Arduino

ឡានក្រុង Arduino I2C

ឥឡូវអ្នកដឹងពីរបៀបដែលវាដំណើរការសូមមើលករណីជាក់លាក់នៃ PWM នៅក្នុងពិភព Arduino ...

PWM៖ ផ្ចុងលើ Arduino

នៅលើក្តារ Arduino អ្នកអាចរកឃើញម្ជុលជាច្រើនដែលអនុវត្ត PWM ផ្នែករឹង។ អ្នកអាចកំណត់អត្តសញ្ញាណពួកគេនៅលើអេសអេសដោយខ្លួនឯងព្រោះពួកគេមាន និមិត្តសញ្ញា ~ (ក្បាលតូច) រួមជាមួយនឹងលេខកូដសម្គាល់។ វាក៏អាចត្រូវបានធ្វើដោយសូហ្វវែរនៅក្នុងកូដអាឌូរីណូប៉ុន្តែនោះនឹងផ្ទុកមេក្រូត្រួតពិនិត្យជាមួយការងារអ្វីមួយដែលមិនសមហេតុផលនៅពេលដែលវាអាចធ្វើបានពីកំណើតនិងផ្នែករឹង ...

  • Arduino UNO, មីនីនិងណាណូ- អ្នកមាន PWM ចំនួន ៨ ៨ ប៊ីតនៅលើសសរ ៣, ៥, ៦, ៩, ១០ និង ១១ ដែលនឹងមាននោះនៅខាងចុងលេខ។
  • Arduino មេហ្គា- នៅលើក្តារ Arduino ដែលមានឥទ្ធិពលបំផុតនេះអ្នកមានទិន្នផល PWM ១៥ ៨ ប៊ីត។ ពួកវាស្ថិតនៅលើសសរលេខ ២ ដល់ ១៣ និង ៤៤ ដល់ ៤៦ ។
  • Arduino ដល់កំណត់៖ ក្នុងករណីនេះមានទិន្នផល PWM ១៣ ៨ ប៊ីត។ ពួកវាស្ថិតនៅលើសសរលេខ ២ ដល់ ១៣ បូកនឹងលទ្ធផលអាណាឡូកពីរផ្សេងទៀតដែលឌីឌីអេសបានកែសំរួលដោយដំណោះស្រាយ ១២ ប៊ីត។

នៅពេលអ្នកនិយាយអំពីដំណោះស្រាយនៃ 8 ប៊ីតឬ 12 ប៊ីត។ លនៅក្នុងលទ្ធផលនៃ PWM ប្រភេទនេះអ្នកកំពុងសំដៅទៅលើបន្ទប់សម្រាប់សមិទ្ធិផលដែលអ្នកមាន។ ជាមួយ ៨ ប៊ីតមាន ២៥៦ កំរិត រវាងអ្វីដែលអ្នកអាចផ្លាស់ប្តូរនិង ១២ ប៊ីតឡើងដល់ ៤០៩៦ កំរិត។

ត្រួតពិនិត្យជាមួយឧបករណ៍កំណត់ពេលវេលា

សម្រាប់ការគ្រប់គ្រង PWM ផ្នែករឹង, Arduino នឹងប្រើកម្មវិធីកំណត់ពេលវេលា សម្រាប់វា។ កម្មវិធីកំណត់ពេលបច្ចុប្បន្ននីមួយៗអាចបម្រើលទ្ធផល ២ ឬ ៣ PWM ។ បញ្ជីប្រៀបធៀបសម្រាប់លទ្ធផលនីមួយៗបំពេញបន្ថែមប្រព័ន្ធនេះដូច្នេះនៅពេលដែលពេលវេលាឈានដល់តម្លៃនៃការចុះឈ្មោះស្ថានភាពឬតម្លៃនៃលទ្ធផលត្រូវបានផ្លាស់ប្តូរដើម្បីបញ្ឈប់វដ្តកាតព្វកិច្ចទាំងនោះ។ ទោះបីជាមានលទ្ធផលពីរដែលគ្រប់គ្រងដោយកម្មវិធីកំណត់ពេលវេលាដូចគ្នាក៏ដោយវាទាំងពីរអាចមានវដ្តកាតព្វកិច្ចខុសគ្នាទោះបីវាចែករំលែកប្រេកង់ដូចគ្នាក៏ដោយ។

ក្នុងករណីឧបករណ៍កំណត់ពេលវេលាដែលភ្ជាប់ជាមួយម្ជុល PWM នីមួយៗវានឹងខុសគ្នា អាស្រ័យលើប្រភេទក្រុមប្រឹក្សា Arduino ដែលអ្នកមាន៖

  • Arduino UNO, មីនីនិងណាណូ:
    • Timer0 - 5 និង 6
    • Timer1 - 9 និង 10
    • Timer2 - 3 និង 11
  • Arduino មេហ្គា:
    • Timer0 - 4 និង 13
    • Timer1 - 11 និង 12
    • Timer2 - 9 និង 10
    • កម្មវិធីកំណត់ម៉ោង ៣ - ២, ៣ និង ៥
    • កម្មវិធីកំណត់ម៉ោង ៣ - ២, ៣ និង ៥
    • កម្មវិធីកំណត់ម៉ោង ៣ - ២, ៣ និង ៥

ការចុះឈ្មោះដែលបានកំណត់ទុកជាមុននឹងបែងចែកពេលវេលាដោយចំនួនគត់ហើយកម្មវិធីកំណត់ពេលវេលានៅសល់ដើម្បីគ្រប់គ្រងលទ្ធផលដែលទាក់ទងនឹង PWM នីមួយៗ។ ការកែប្រែតម្លៃបញ្ជីឈ្មោះអាចផ្លាស់ប្តូរប្រេកង់។ នេះ ប្រេកង់ ពួកគេក៏នឹងខុសគ្នាអាស្រ័យលើកម្មវិធីកំណត់ពេលវេលានិងចាន៖

  • Arduino UNO, មីនីនិងណាណូ:
    • Timer0: អនុញ្ញាតឱ្យចាក់សំរាមពី 1, 8, 64, 256 និង 1024។ ប្រេកង់គឺ 62.5 Khz ។
    • កម្មវិធីកំណត់ពេលវេលាទី ១៖ ជាមួយការកំណត់ឡើងវិញ ១, ៨, ៦៤, ២៥៦ និង ១០២៤។ ជាមួយនឹងប្រេកង់ ៣១,២៥ ឃី។
    • Timer2: ស្មើនឹង Timer1 មានតែវាបន្ថែមការការពារជាមុន ៣២ និង ១២៨ បន្ថែមលើរបស់មុន។
  • Arduino មេហ្គា:
    • Timer0, 1, 2: ដូចគ្នានឹងខាងលើ។
    • Timer3, 4, និង 5: ដោយមានប្រេកង់ 31.25 Khz និងបានបោសសំអាត 1, 8, 64, 256 និង 1024 ។

ភាពមិនស៊ីគ្នានិងជម្លោះ

ឧបករណ៍កំណត់ពេលវេលា ភ្ជាប់ជាមួយលទ្ធផលគឺមិនត្រឹមតែសំរាប់មុខងារនោះទេ, ក៏ត្រូវបានប្រើដោយអ្នកដទៃផងដែរ។ ដូច្នេះប្រសិនបើពួកវាត្រូវបានប្រើដោយមុខងារផ្សេងទៀតអ្នកត្រូវតែជ្រើសរើសរវាងមួយឬផ្សេងទៀតអ្នកមិនអាចប្រើទាំងពីរក្នុងពេលតែមួយបានទេ។ ឧទាហរណ៍ទាំងនេះគឺជាភាពមិនត្រូវគ្នាមួយចំនួនដែលអ្នកអាចរកបាននៅក្នុងគម្រោងរបស់អ្នក៖

  • បណ្ណាល័យ servoៈនៅពេលដែលអ្នកប្រើម៉ូទ័រ servo, Timers ត្រូវបានប្រើយ៉ាងខ្លាំងដែលអាចនាំឱ្យមានជម្លោះ។ ជាពិសេសប្រើ Timer1 សំរាប់យូអិនអេណូណូនិងមីនីមានន័យថាអ្នកមិនអាចប្រើម្ជុល ៩ និង ១០ បានទេពេលអ្នកកំពុងប្រើគំនូរព្រាងជាមួយបណ្ណាល័យនោះ។ នៅក្នុងមេហ្គាវានឹងពឹងផ្អែកលើចំនួន servos ...
  • SPIៈប្រសិនបើការទំនាក់ទំនង SPI ត្រូវបានប្រើនៅលើក្តារ Arduino នោះម្ជុល ១១ កំពុងត្រូវបានប្រើសម្រាប់មុខងារ MOSI ។ នោះហើយជាមូលហេតុដែលម្ជុល PWM មិនអាចប្រើបាន។
  • សម្លេង៖ មុខងារនេះប្រើ Timer2 ដើម្បីប្រតិបត្តិការ។ ដូច្នេះប្រសិនបើវាត្រូវបានប្រើអ្នកកំពុងធ្វើឱ្យម្ជុល 3 និង 11 (ឬ 9 និង 10 សម្រាប់មេហ្គា) គ្មានប្រយោជន៍។

ការធ្វើតេស្តដោយដៃជាមួយ Arduino

អាឌូឌីណូ PWM គ្រោងការណ៍ជាមួយ LED

ប្រសិនបើអ្នកចង់ឃើញកន្លែងដែល PWM ដំណើរការលើ Arduino អ្វីដែលល្អបំផុតដែលអ្នកអាចធ្វើបានគឺភ្ជាប់ការវាស់រង្វាស់ voltmeter ឬ multimeter (នៅក្នុងមុខងារដើម្បីវាស់វ៉ុល) រវាងម្ជុល PWM ដែលអ្នកបានជ្រើសរើសប្រើនិងម្ជុលដីឬ GND នៃក្តារ Arduino ។ ដោយវិធីនេះនៅលើអេក្រង់នៃឧបករណ៍វាស់អ្នកនឹងអាចមើលឃើញពីរបៀបដែលវ៉ុលកំពុងផ្លាស់ប្តូរជាមួយនឹងទិន្នផលដែលជាឌីជីថលអរគុណចំពោះល្បិច PWM ។

អ្នកអាចជំនួស voltmeter / multimeter ដោយប្រើអំពូល LED ដើម្បីមើលថាតើអាំងតង់ស៊ីតេនៃពន្លឺខុសគ្នាយ៉ាងម៉េចជាមួយនឹងម៉ូទ័រ DC ឬជាមួយធាតុផ្សេងទៀតដែលអ្នកចង់បាន។ ខ្ញុំបានធ្វើឱ្យវាសាមញ្ញក្នុងដ្យាក្រាមជាមួយ Fritzing ជាមួយ LED ដោយមិនចាំបាច់ទៀតទេប៉ុន្តែអ្នកដឹងថាវាក៏អាចតំណាងឱ្យគន្លឹះនៃមីលីម៉ែត្រផងដែរ។

ប្រសិនបើអ្នកប្រើអំពូល LED សូមចាំពីភាពធន់ទ្រាំនៅ cathode និង GND ។

para កូដប្រភព ដើម្បីគ្រប់គ្រង microcontroller board របស់ Arduino ដើម្បីធ្វើអ្វីៗគ្រប់យ៉ាងអ្នកគួរតែបញ្ចូលវាទៅក្នុង Arduino IDE (ក្នុងករណីនេះខ្ញុំបានប្រើ PWM pin 6 នៃ Arduino UNO):

const int analogOutPin = 6;
byte outputValue = 0;  
 
void setup()
{  
   Serial.begin(9600);        
   pinMode(ledPIN , OUTPUT); 
 
   bitSet(DDRB, 5);       // LED o voltímetro
   bitSet(PCICR, PCIE0);       
   bitSet(PCMSK0, PCINT3);     
}
 
void loop() 
{
   if (Serial.available()>0)  
   {
      if(outputValue >= '0' && outputValue <= '9')
      {
         outputValue = Serial.read();   // Leemos la opción
         outputValue -= '0';      // Restamos '0' para convertir a un número
         outputValue *= 25;      // Multiplicamos x25 para pasar a una escala 0 a 250
         analogWrite(ledPIN , outputValue);
      }
   }
}  
 
ISR(PCINT0_vect)
{
   if(bitRead(PINB, 3))
   { 
      bitSet(PORTB, 5);   // LED on 
   }
   else
   { 
      bitClear(PORTB, 5); // LED off  
   } 
} 
ខ្ញុំណែនាំអ្នកឱ្យលេងជាមួយគុណតម្លៃនិងមើលឃើញ លទ្ធផលលើពន្លឺឬវ៉ុល។ កម្មវិធីអាចទទួលបានតម្លៃពី ០ ដល់ ៩ ដូច្នេះអ្នកអាចមើលឃើញពីរបៀបដែលអ្វីៗប្រែប្រួល។ សម្រាប់ព័ត៌មានបន្ថែមខ្ញុំណែនាំអ្នក វគ្គសិក្សា Arduino ដែលយើងមាននៅក្នុងការទាញយកដោយឥតគិតថ្លៃ ...

ខ្លឹមសារនៃអត្ថបទប្រកាន់ខ្ជាប់នូវគោលការណ៍របស់យើង ក្រមសីលធម៌វិចារណកថា។ ដើម្បីរាយការណ៍ការចុចកំហុស នៅទីនេះ.

មតិយោបល់សូមចាកចេញពីអ្នក

ទុកឱ្យយោបល់របស់អ្នក

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានបោះពុម្ភ។ អ្នកគួរតែអនុវត្តតាម *

*

*

  1. ទទួលខុសត្រូវចំពោះទិន្នន័យ: មីហ្គែល - ហ្គែលហ្គេតថន
  2. គោលបំណងនៃទិន្នន័យ៖ គ្រប់គ្រង SPAM ការគ្រប់គ្រងមតិយោបល់។
  3. ភាពស្របច្បាប់៖ ការយល់ព្រមរបស់អ្នក
  4. ការប្រាស្រ័យទាក់ទងទិន្នន័យ៖ ទិន្នន័យនឹងមិនត្រូវបានទាក់ទងទៅភាគីទីបីឡើយលើកលែងតែកាតព្វកិច្ចផ្នែកច្បាប់។
  5. ការផ្ទុកទិន្នន័យ៖ មូលដ្ឋានទិន្នន័យដែលរៀបចំដោយបណ្តាញ Occentus (EU)
  6. សិទ្ធិ៖ នៅពេលណាដែលអ្នកអាចដាក់កម្រិតទាញយកមកវិញនិងលុបព័ត៌មានរបស់អ្នក។

  1.   លោក jose dijo

    ជំរាបសួរថ្ងៃល្អ។ ដំបូងខ្ញុំសូមថ្លែងអំណរគុណចំពោះពេលវេលាដែលបានឧទ្ទិសដល់ការពន្យល់នេះថ្មីបំផុត។
    ខ្ញុំចង់ធ្វើឱ្យអ្នកសំណួរមួយ។ ខ្ញុំកំពុងព្យាយាមដំណើរការលេខកូដនៅលើកម្មវិធីត្រាប់តាមប្រូតូស ៨ សម្រាប់អាហ្គូរីណូមេហ្គា។ ខ្ញុំភ្ជាប់វ៉ុលទ័រទៅនឹងម្ជុលទី ៦ ប្រូតេសឺសត្រូវបានភ្ជាប់ទៅនឹងច្រកសៀរៀលប៉ុន្តែខ្ញុំមិនដឹងពីរបៀបឬអ្វីដែលត្រូវផ្លាស់ប្តូរដូច្នេះវ៉ុលខុសគ្នាគឺជាលទ្ធផល។ ខ្ញុំត្រូវធ្វើការកែតម្រូវបន្តិចបន្តួចចំពោះកូដដើម្បីធ្វើឱ្យវាចងក្រង។ សូមអរគុណខ្លាំងណាស់សម្រាប់ជំនួយរបស់អ្នក