សេចក្តីណែនាំប្រតិបត្តិការ
Elektor Arduino
ណាណូ
ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB®
3.3
ជូនចំពោះអតិថិជនជាទីគោរព ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ត្រូវបានផលិតឡើងដោយអនុលោមតាមការណែនាំរបស់អឺរ៉ុបដែលអាចអនុវត្តបាន ដូច្នេះហើយមានសញ្ញាសម្គាល់ CE ។ ការប្រើប្រាស់ដែលមានបំណងរបស់វាត្រូវបានពិពណ៌នានៅក្នុងការណែនាំប្រតិបត្តិការទាំងនេះ។ ប្រសិនបើអ្នកកែប្រែក្រុមប្រឹក្សាហ្វឹកហ្វឺន MCCAB ឬមិនប្រើវាស្របតាមគោលបំណងដែលបានគ្រោងទុក នោះអ្នកតែម្នាក់ឯងត្រូវទទួលខុសត្រូវចំពោះការអនុលោមតាមច្បាប់ដែលអាចអនុវត្តបាន។
ដូច្នេះ សូមប្រើតែក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB និងសមាសធាតុទាំងអស់នៅលើវា ដូចដែលបានពិពណ៌នានៅក្នុងសេចក្តីណែនាំប្រតិបត្តិការទាំងនេះ។ អ្នកអាចឆ្លងកាត់បានតែលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB រួមជាមួយនឹងសៀវភៅណែនាំប្រតិបត្តិការនេះ។
ព័ត៌មានទាំងអស់នៅក្នុងសៀវភៅណែនាំនេះសំដៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ដែលមានកម្រិតបោះពុម្ព វិវរណៈ 3.3 ។ កម្រិតបោះពុម្ពនៃក្រុមប្រឹក្សាបណ្តុះបណ្តាលត្រូវបានបោះពុម្ពនៅផ្នែកខាងក្រោមរបស់វា (សូមមើលរូបភាពទី 13 នៅទំព័រ 20) ។ កំណែបច្ចុប្បន្ននៃសៀវភៅដៃនេះអាចទាញយកបានពី webគេហទំព័រ www.elektor.com/20440 សម្រាប់ការទាញយក។ ARDUINO និងម៉ាក និងស្លាកសញ្ញា Arduino ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Arduino SA។ ®
ការកែច្នៃឡើងវិញ
ឧបករណ៍អគ្គិសនី និងអេឡិចត្រូនិចដែលប្រើរួចត្រូវតែកែច្នៃជាសំណល់អេឡិកត្រូនិក ហើយមិនត្រូវបោះចោលក្នុងកាកសំណល់តាមផ្ទះឡើយ។
ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB មានវត្ថុធាតុដើមដ៏មានតម្លៃដែលអាចកែច្នៃឡើងវិញបាន។
ដូច្នេះ បោះចោលឧបករណ៍នៅដេប៉ូប្រមូលសមស្រប។ (សេចក្តីណែនាំរបស់ EU 2012/19 / EU)។ រដ្ឋបាលក្រុងរបស់អ្នកនឹងប្រាប់អ្នកពីកន្លែងដែលត្រូវស្វែងរកចំណុចប្រមូលឥតគិតថ្លៃដែលនៅជិតបំផុត។
ការណែនាំអំពីសុវត្ថិភាព
សេចក្តីណែនាំប្រតិបត្តិការទាំងនេះសម្រាប់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB មានព័ត៌មានសំខាន់ៗស្តីពីការចាត់តាំង និងប្រតិបត្តិការ!
ដូច្នេះសូមអានសៀវភៅណែនាំប្រតិបត្តិការទាំងមូលដោយប្រុងប្រយ័ត្នមុនពេលប្រើក្តារបណ្តុះបណ្តាលជាលើកដំបូង ដើម្បីជៀសវាងការរងរបួសដល់អាយុជីវិត និងអវយវៈដោយសារការឆក់អគ្គិសនី ភ្លើង ឬកំហុសប្រតិបត្តិការ ក៏ដូចជាការខូចខាតដល់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល។
ធ្វើឱ្យសៀវភៅណែនាំនេះមានសម្រាប់អ្នកប្រើប្រាស់ផ្សេងទៀតទាំងអស់នៃក្រុមប្រឹក្សាបណ្តុះបណ្តាល។
ផលិតផលនេះត្រូវបានរចនាឡើងស្របតាមស្តង់ដារ IEC 61010-031 ហើយត្រូវបានសាកល្បង និងចាកចេញពីរោងចក្រក្នុងស្ថានភាពសុវត្ថិភាព។ អ្នកប្រើប្រាស់ត្រូវតែគោរពតាមបទប្បញ្ញត្តិដែលអនុវត្តចំពោះការគ្រប់គ្រងឧបករណ៍អគ្គិសនី ក៏ដូចជាការអនុវត្ត និងនីតិវិធីសុវត្ថិភាពដែលទទួលយកជាទូទៅទាំងអស់។ ជាពិសេស បទប្បញ្ញត្តិ VDE VDE 0100 (ការធ្វើផែនការ ការដំឡើង និងការធ្វើតេស្តកម្រិតទាបtage ប្រព័ន្ធអគ្គិសនី), VDE 0700 (សុវត្ថិភាពនៃឧបករណ៍អគ្គិសនីសម្រាប់ការប្រើប្រាស់ក្នុងស្រុក) និង VDE 0868 (ឧបករណ៍សម្រាប់អូឌីយ៉ូ/វីដេអូ បច្ចេកវិទ្យាព័ត៌មាន និងទំនាក់ទំនង) គួរតែត្រូវបានលើកឡើងនៅទីនេះ។
នៅក្នុងបរិក្ខារពាណិជ្ជកម្ម បទប្បញ្ញត្តិការពារគ្រោះថ្នាក់នៃសមាគមធានារ៉ាប់រងការទទួលខុសត្រូវរបស់និយោជកពាណិជ្ជកម្មក៏អនុវត្តផងដែរ។
និមិត្តសញ្ញាសុវត្ថិភាពត្រូវបានប្រើប្រាស់
ការព្រមានអំពីគ្រោះថ្នាក់អគ្គិសនី
សញ្ញានេះបង្ហាញពីលក្ខខណ្ឌ ឬការអនុវត្តដែលអាចបណ្តាលឱ្យស្លាប់ ឬរបួសផ្ទាល់ខ្លួន។
សញ្ញាព្រមានទូទៅ
សញ្ញានេះបង្ហាញពីលក្ខខណ្ឌ ឬការអនុវត្តដែលអាចបណ្តាលឱ្យខូចខាតដល់ផលិតផលខ្លួនឯង ឬឧបករណ៍ដែលបានភ្ជាប់។
2.1 ការផ្គត់ផ្គង់ថាមពល
ប្រយ័ត្ន៖
- មិនស្ថិតក្រោមកាលៈទេសៈណាក៏ដោយ វ៉ុលអវិជ្ជមានtages ឬ voltagធំជាង +5 V ត្រូវបានភ្ជាប់ទៅក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ។ ការលើកលែងតែមួយគត់គឺធាតុបញ្ចូល VX1 និង VX2 នៅទីនេះ វ៉ុលបញ្ចូលtages អាចស្ថិតនៅក្នុងចន្លោះពី +8 V ដល់ +12 V (សូមមើលផ្នែក 4.2)។
- កុំភ្ជាប់សក្តានុពលអគ្គិសនីផ្សេងទៀតទៅនឹងខ្សែដី (GND, 0 V) ។
- កុំផ្លាស់ប្តូរការតភ្ជាប់សម្រាប់ដី (GND, 0 V) និង +5 V ព្រោះវានឹងនាំឱ្យមានការខូចខាតជាអចិន្ត្រៃយ៍ដល់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB!
- ជាពិសេសកុំភ្ជាប់ ~ 230 V ឬ ~ 115 V mains voltage ទៅក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB!
មានគ្រោះថ្នាក់ដល់អាយុជីវិត!!!
2.2 ការគ្រប់គ្រង និងលក្ខខណ្ឌបរិស្ថាន
ដើម្បីជៀសវាងការស្លាប់ ឬរបួស និងដើម្បីការពារឧបករណ៍ពីការខូចខាត ច្បាប់ខាងក្រោមត្រូវតែអនុវត្តយ៉ាងតឹងរ៉ឹង៖
- កុំដំណើរការក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB នៅក្នុងបន្ទប់ដែលមានចំហាយទឹក ឬឧស្ម័នផ្ទុះ។
- ប្រសិនបើយុវជន ឬមនុស្សដែលមិនស៊ាំនឹងការគ្រប់គ្រងសៀគ្វីអេឡិចត្រូនិច ធ្វើការជាមួយក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ឧ. ក្នុងបរិបទនៃការបណ្តុះបណ្តាល បុគ្គលិកដែលត្រូវបានបណ្តុះបណ្តាលត្រឹមត្រូវក្នុងមុខតំណែងដែលមានទំនួលខុសត្រូវត្រូវតែត្រួតពិនិត្យសកម្មភាពទាំងនេះ។
ការប្រើប្រាស់ដោយកុមារអាយុក្រោម 14 ឆ្នាំគឺមិនមានបំណង និងត្រូវតែជៀសវាង។ - ប្រសិនបើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB បង្ហាញសញ្ញានៃការខូចខាត (ឧទាហរណ៍ ដោយសារភាពតានតឹងផ្នែកមេកានិច ឬអគ្គិសនី) វាមិនត្រូវប្រើសម្រាប់ហេតុផលសុវត្ថិភាពឡើយ។
- ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB អាចប្រើបានតែក្នុងបរិយាកាសស្អាត និងស្ងួតនៅសីតុណ្ហភាពរហូតដល់ +40 °C។
2.3 ការជួសជុល និងថែទាំ
ដើម្បីជៀសវាងការខូចខាតទ្រព្យសម្បត្តិ ឬរបួសផ្ទាល់ខ្លួន ការជួសជុលណាមួយដែលអាចក្លាយជាការចាំបាច់អាចត្រូវបានអនុវត្តដោយបុគ្គលិកជំនាញដែលបានទទួលការបណ្តុះបណ្តាលត្រឹមត្រូវ និងប្រើប្រាស់គ្រឿងបន្លាស់ដើមប៉ុណ្ណោះ។
ក្រុមប្រឹក្សាហ្វឹកហ្វឺន MCCAB មិនមានផ្នែកដែលអាចផ្តល់សេវាអ្នកប្រើប្រាស់បានទេ។
ការប្រើប្រាស់ដែលមានបំណង
ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ត្រូវបានបង្កើតឡើងសម្រាប់ការបង្រៀនសាមញ្ញ និងរហ័សនៃចំណេះដឹងអំពីការសរសេរកម្មវិធី និងការប្រើប្រាស់ប្រព័ន្ធ microcontroller ។
ផលិតផលនេះត្រូវបានរចនាឡើងទាំងស្រុងសម្រាប់គោលបំណងបណ្តុះបណ្តាល និងការអនុវត្ត។ ការប្រើប្រាស់ផ្សេងទៀត ឧ. នៅក្នុងកន្លែងផលិតឧស្សាហកម្ម មិនត្រូវបានអនុញ្ញាតទេ។
ប្រយ័ត្ន៖ ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ត្រូវបានបម្រុងទុកសម្រាប់តែប្រើជាមួយប្រព័ន្ធ microcontroller Arduino® NANO (សូមមើលរូបភាពទី 2) ឬម៉ូឌុល microcontroller ដែលអាចប្រើបានជាមួយវា 100% ។ ម៉ូឌុលនេះត្រូវតែដំណើរការជាមួយវ៉ុលប្រតិបត្តិការtage នៃ Vcc = +5V ។ បើមិនដូច្នេះទេ វាមានហានិភ័យនៃការខូចខាតដែលមិនអាចត្រឡប់វិញបាន ឬការបំផ្លិចបំផ្លាញនៃម៉ូឌុល microcontroller ក្រុមប្រឹក្សាភិបាល និងឧបករណ៍ដែលភ្ជាប់ទៅនឹងក្តារបណ្តុះបណ្តាល។
ប្រយ័ត្ន៖ វ៉ុលtages នៅក្នុងជួរពី +8 V ដល់ +12 V អាចត្រូវបានភ្ជាប់ទៅនឹងធាតុបញ្ចូល VX1 និង VX2 នៃក្តារបណ្តុះបណ្តាល (សូមមើលផ្នែក 4.2 នៃសៀវភៅណែនាំនេះ)។ វ៉ុលtages នៅរាល់ធាតុចូលផ្សេងទៀតនៃក្តារបណ្តុះបណ្តាលត្រូវតែស្ថិតនៅក្នុងចន្លោះ 0 V ដល់ +5 V ។
ប្រយ័ត្ន៖ សេចក្តីណែនាំប្រតិបត្តិការទាំងនេះពិពណ៌នាអំពីរបៀបភ្ជាប់ និងដំណើរការក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ឱ្យបានត្រឹមត្រូវជាមួយកុំព្យូទ័ររបស់អ្នកប្រើ និងម៉ូឌុលខាងក្រៅណាមួយ។ សូមចំណាំថាយើងមិនមានឥទ្ធិពលលើប្រតិបត្តិការ និង/ឬកំហុសក្នុងការតភ្ជាប់ដែលបង្កឡើងដោយអ្នកប្រើប្រាស់នោះទេ។ អ្នកប្រើតែម្នាក់ឯងគឺជាអ្នកទទួលខុសត្រូវចំពោះការតភ្ជាប់ត្រឹមត្រូវនៃក្តារបណ្តុះបណ្តាលទៅនឹងកុំព្យូទ័ររបស់អ្នកប្រើនិងម៉ូឌុលខាងក្រៅណាមួយក៏ដូចជាសម្រាប់ការសរសេរកម្មវិធីនិងប្រតិបត្តិការត្រឹមត្រូវរបស់វា! សម្រាប់ការខូចខាតទាំងអស់ដែលបណ្តាលមកពីការភ្ជាប់ខុស ការគ្រប់គ្រងខុស ការសរសេរកម្មវិធីខុស និង/ឬប្រតិបត្តិការខុស អ្នកប្រើប្រាស់ត្រូវទទួលខុសត្រូវទាំងស្រុង! ការទាមទារទំនួលខុសត្រូវប្រឆាំងនឹងពួកយើងត្រូវបានដកចេញយ៉ាងយល់នៅក្នុងករណីទាំងនេះ។
ការប្រើប្រាស់ណាមួយក្រៅពីការកំណត់គឺមិនត្រូវបានអនុញ្ញាតទេ! ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB មិនត្រូវកែប្រែ ឬបំប្លែងទេ ព្រោះវាអាចបំផ្លាញវា ឬបង្កគ្រោះថ្នាក់ដល់អ្នកប្រើប្រាស់ (សៀគ្វីខ្លី ហានិភ័យនៃការឡើងកំដៅ និងភ្លើង ហានិភ័យនៃការឆក់អគ្គិសនី)។ ប្រសិនបើការរងរបួសផ្ទាល់ខ្លួន ឬការខូចខាតទ្រព្យសម្បត្តិកើតឡើងជាលទ្ធផលនៃការប្រើប្រាស់មិនត្រឹមត្រូវនៃក្រុមប្រឹក្សាបណ្តុះបណ្តាល នេះគឺជាការទទួលខុសត្រូវទាំងស្រុងរបស់ប្រតិបត្តិករ និងមិនមែនរបស់អ្នកផលិតនោះទេ។
ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB និងសមាសធាតុរបស់វា។
រូបភាពទី 1 បង្ហាញក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ជាមួយនឹងធាតុគ្រប់គ្រងរបស់វា។ បន្ទះហ្វឹកហាត់ត្រូវបានដាក់លើផ្ទៃការងារដែលមិនប្រើអគ្គិសនី ហើយភ្ជាប់ទៅកុំព្យូទ័ររបស់អ្នកប្រើតាមរយៈខ្សែ USB ខ្នាតតូច (សូមមើលផ្នែក 4.3)។
ជាពិសេសនៅក្នុងការរួមបញ្ចូលគ្នាជាមួយ "វគ្គបណ្តុះបណ្តាលមីក្រូត្រួតពិនិត្យសម្រាប់ Arduino Starters" (ISBN 978-3-89576-545-2) ដែលបោះពុម្ពដោយ Elektor ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB គឺសមឥតខ្ចោះសម្រាប់ការសិក្សាងាយស្រួល និងរហ័សនៃការសរសេរកម្មវិធី និងការប្រើប្រាស់កម្មវិធី។ ប្រព័ន្ធ microcontroller ។ អ្នកប្រើប្រាស់បង្កើតកម្មវិធីលំហាត់របស់គាត់សម្រាប់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB នៅលើកុំព្យូទ័ររបស់គាត់នៅក្នុង Arduino IDE ដែលជាបរិយាកាសអភិវឌ្ឍន៍ជាមួយនឹងកម្មវិធីចងក្រង C/C++ រួមបញ្ចូលគ្នា ដែលគាត់អាចទាញយកដោយឥតគិតថ្លៃពី webគេហទំព័រ
រូបភាពទី 1៖ ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB វិវរណៈ 3.3
ធាតុប្រតិបត្តិការ និងការបង្ហាញនៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB៖
- 11 × LED (សូចនាករស្ថានភាពសម្រាប់ធាតុចូល / លទ្ធផល D2 ... D12)
- បឋមកថា JP6 សម្រាប់ភ្ជាប់ LEDs LD10 … LD20 ជាមួយ GPIOs D2 … D12 បានកំណត់ឱ្យពួកវា
- ប្លុកស្ថានីយ SV5 (អ្នកចែកចាយ) សម្រាប់ធាតុចូល / លទ្ធផលនៃ microcontroller
- ប៊ូតុងកំណត់ឡើងវិញ
- ម៉ូឌុល Microcontroller Arduino® NANO (ឬឆបគ្នា) ជាមួយ mini USB – socket
- LED “L” ភ្ជាប់ទៅ GPIO D13
- ឧបករណ៍ភ្ជាប់ SV6 (អ្នកចែកចាយ) សម្រាប់ធាតុបញ្ចូល / ទិន្នផលរបស់ microcontroller
- ឧបករណ៍វាស់ថាមពល P1
- ខ្ទាស់បឋមកថា JP3 សម្រាប់ជ្រើសរើសវ៉ុលប្រតិបត្តិការtage នៃ potentiometers P1 និង P2
- ឧបករណ៍វាស់ថាមពល P2
- Pin header JP4 សម្រាប់ជ្រើសរើសសញ្ញានៅ pin X នៃ connector strip SV12
- បន្ទះឧបករណ៍ភ្ជាប់ SV12៖ SPI-Interface 5 V (សញ្ញានៅ pin X ត្រូវបានជ្រើសរើសតាមរយៈ JP4)
- បន្ទះឧបករណ៍ភ្ជាប់ SV11: ចំណុចប្រទាក់ SPI 3.3 V
- ប្លុកស្ថានីយ SV10: ចំណុចប្រទាក់ IC 5 V
- ប្លុកស្ថានីយ SV8: ចំណុចប្រទាក់ I2 C 3.3 V
- ប្លុកស្ថានីយ SV9: 22 IC interface 3.3 V
- ប្លុកស្ថានីយ SV7៖ ប្តូរទិន្នផលសម្រាប់ឧបករណ៍ខាងក្រៅ
- អេក្រង់ LC ដែលមានតួអក្សរ 2 x 16
- ប៊ូតុងរុញ 6 × K1 … K6
- 6 × ប្តូរស្លាយ S1 … S6
- Pin header JP2 សម្រាប់ភ្ជាប់កុងតាក់ទៅនឹងធាតុបញ្ចូលរបស់ microcontroller ។
- ប្លុកស្ថានីយ SV4៖ អ្នកចែកចាយសម្រាប់វ៉ុលប្រតិបត្តិការtages
- Piezo buzzer Buzzer ១
- ប្លុកស្ថានីយ SV1៖ ប្តូរទិន្នផលសម្រាប់ឧបករណ៍ខាងក្រៅ
- បន្ទះស្ថានីយ SV3៖ ជួរឈរនៃម៉ាទ្រីស LED 3 × 3 (លទ្ធផល D6 … D8 ជាមួយនឹងស៊េរី resistors 330 Ω)
- បន្ទះឧបករណ៍ភ្ជាប់ SV2: 2 x 13 pins សម្រាប់ភ្ជាប់ម៉ូឌុលខាងក្រៅ
- ម៉ាទ្រីស LED 3 × 3 (អំពូល LED ក្រហម 9)
- Pin header JP1 សម្រាប់ភ្ជាប់ជួរដេកនៃម៉ាទ្រីស LED 3×3 ជាមួយ microcontroller GPIOs D3 … D5
- jumper នៅលើទីតាំង "Buzzer" នៃក្បាល pin JP6 ភ្ជាប់ Buzzer1 ជាមួយ GPIO D9 នៃ microcontroller ។
ការគ្រប់គ្រងបុគ្គលនៅលើក្តារបណ្តុះបណ្តាលត្រូវបានពន្យល់យ៉ាងលម្អិតនៅក្នុងផ្នែកខាងក្រោម។
4.1 ម៉ូឌុលមីក្រូត្រួតពិនិត្យ Arduino® NANO
NANO ឬម៉ូឌុល microcontroller ដែលត្រូវគ្នាជាមួយវាត្រូវបានដោតចូលទៅក្នុងក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB (សូមមើលសញ្ញាព្រួញ (5) ក្នុងរូបភាពទី 1 ក៏ដូចជារូបភាពទី 2 និង M1 ក្នុងរូបភាពទី 4) ។ ម៉ូឌុលនេះត្រូវបានបំពាក់ដោយ AVR microcontroller ATmega328P ដែលគ្រប់គ្រងសមាសធាតុគ្រឿងកុំព្យូទ័រនៅលើក្តារហ្វឹកហាត់។ លើសពីនេះ មានសៀគ្វីបំប្លែងរួមបញ្ចូលគ្នានៅផ្នែកខាងក្រោមនៃម៉ូឌុល ដែលភ្ជាប់ចំណុចប្រទាក់សៀរៀលនៃ microcontroller UART (Universal Asynchronous Receiver Transmitter) ជាមួយនឹងចំណុចប្រទាក់ USB របស់កុំព្យូទ័រ។ ចំណុចប្រទាក់នេះក៏ត្រូវបានប្រើដើម្បីផ្ទុកកម្មវិធីដែលបង្កើតឡើងដោយអ្នកប្រើប្រាស់នៅលើកុំព្យូទ័ររបស់គាត់ទៅក្នុង microcontroller ឬដើម្បីផ្ទេរទិន្នន័យទៅ/ពីម៉ូនីទ័រសៀរៀលនៃ Arduino IDE (បរិស្ថានអភិវឌ្ឍន៍)។ អំពូល LED ពីរ TX និង RX នៅក្នុងរូបភាពទី 2 បង្ហាញពីចរាចរណ៍ទិន្នន័យនៅលើបន្ទាត់សៀរៀល TxD និង RxD នៃ microcontroller ។ Arduino ®
រូបភាពទី 2៖ ម៉ូឌុល Microcontroller Arduino® NANO (ប្រភព៖ www.arduino.cc)
LED L (សូមមើលរូបភាពទី 2 និងព្រួញ (6) ក្នុងរូបភាពទី 1 - ការរចនា "L" អាចមានភាពខុសប្លែកគ្នាសម្រាប់ក្លូនដែលត្រូវគ្នានឹង Arduino NANO) ត្រូវបានភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅ GPIO D13 នៃ microcontroller តាមរយៈរេស៊ីស្តង់ស៊េរី ហើយបង្ហាញពីស្ថានភាពរបស់វាទាប ឬ ខ្ពស់។ វ៉ុល +5 វីtage និយតករនៅផ្នែកខាងក្រោមនៃម៉ូឌុលធ្វើឱ្យមានស្ថេរភាពវ៉ុលtage ផ្គត់ផ្គង់ខាងក្រៅដល់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB តាមរយៈការបញ្ចូល VIN នៃម៉ូឌុល Arduino ® NANO (សូមមើលផ្នែក 4.2) ។
ដោយចុចប៊ូតុង RESET នៅផ្នែកខាងលើនៃម៉ូឌុល Arduino ® NANO (សូមមើលរូបភាពទី 2 និងសញ្ញាព្រួញ (4) ក្នុងរូបភាពទី 1) microcontroller ត្រូវបានកំណត់ទៅជាស្ថានភាពដំបូងដែលបានកំណត់ ហើយកម្មវិធីដែលបានផ្ទុករួចហើយត្រូវបានចាប់ផ្តើមឡើងវិញ។ i រាល់ធាតុចូល និងលទ្ធផលនៃ microcontroller ដែលមានសារៈសំខាន់សម្រាប់អ្នកប្រើប្រាស់ត្រូវបានភ្ជាប់ទៅស្ថានីយទាំងពីរ SV5 និង SV6 (ព្រួញ (3) និង ព្រួញ (7) ក្នុងរូបភាពទី 1)។ តាមរយៈឧបករណ៍ភ្ជាប់ - អ្វីដែលគេហៅថាខ្សែ Dupont (សូមមើលរូបភាពទី 3) - ធាតុបញ្ចូល/ទិន្នផលរបស់ microcontroller (ហៅផងដែរថា GPIOs = General Purpose Inputs/Outputs) ដែលនាំចេញនៅ SV5 និង SV6 អាចត្រូវបានភ្ជាប់ទៅនឹងធាតុប្រតិបត្តិការ (ប៊ូតុង កុងតាក់។ , …) នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ឬផ្នែកខាងក្រៅ។
រូបភាពទី 3: ប្រភេទផ្សេងគ្នានៃខ្សែ Dupont សម្រាប់ភ្ជាប់ GPIOs ទៅនឹងធាតុបញ្ជា
អ្នកប្រើប្រាស់ត្រូវកំណត់រចនាសម្ព័ន្ធ GPIO នីមួយៗនៃម៉ូឌុល microcontroller Arduino® NANO នៅលើបន្ទះឧបករណ៍ភ្ជាប់ពីរ SV5 និង SV6 (ព្រួញ (3) និងព្រួញ (7) ក្នុងរូបភាពទី 1) ដែលត្រូវបានភ្ជាប់តាមរយៈខ្សែ Dupont ទៅឧបករណ៍ភ្ជាប់នៅលើការហ្វឹកហាត់។ board ឬទៅឧបករណ៍ភ្ជាប់ខាងក្រៅនៅក្នុងកម្មវិធីរបស់គាត់សម្រាប់ទិសដៅទិន្នន័យដែលត្រូវការជាការបញ្ចូលឬទិន្នផល!
ទិសដៅទិន្នន័យត្រូវបានកំណត់ជាមួយនឹងការណែនាំ
pinMode(gpio, ទិសដៅ); // សម្រាប់ "gpio" បញ្ចូលលេខ pin ដែលត្រូវគ្នា // សម្រាប់ "ទិសដៅ" បញ្ចូល "INPUT" ឬ "OUTPUT"
Examples:
pinMode(2, OUTPUT); // GPIO D2 ត្រូវបានកំណត់ជាលទ្ធផល
pinMode(13, បញ្ចូល); // GPIO D13 ត្រូវបានកំណត់ជាការបញ្ចូល
រូបភាពទី 4 បង្ហាញខ្សែភ្លើងនៃម៉ូឌុលមីក្រូកុងទ័រ Arduino® NANO M1 នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ។
រូបភាពទី 4: ខ្សែភ្លើងនៃម៉ូឌុល microcontroller Arduino® NANO នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB
ទិន្នន័យសំខាន់បំផុតនៃម៉ូឌុល microcontroller Arduino® NANO៖
• វ៉ុលប្រតិបត្តិការtagអ៊ី Vcc៖ | +5 វី |
• វ៉ុលប្រតិបត្តិការដែលបានផ្គត់ផ្គង់ពីខាងក្រៅtage នៅ VIN: | +8 V ដល់ +12 V (សូមមើលផ្នែក 4.2) |
• ម្ជុលបញ្ចូលអាណាឡូករបស់ ADC៖ | 8 (AO … A7 សូមមើលកំណត់ចំណាំខាងក្រោម) |
• ម្ជុលបញ្ចូល/ទិន្នផលឌីជីថល៖ | 12 (D2 … D13) resp ។ ១៦ (កំណត់ចំណាំ) |
•ការប្រើប្រាស់បច្ចុប្បន្ននៃម៉ូឌុល NANO៖ | ប្រហែល 20 mA |
•អតិបរមា។ ចរន្តបញ្ចូល/ទិន្នផលរបស់ GPIO៖ | 40 mA |
•ផលបូកនៃចរន្តបញ្ចូល/ទិន្នផលនៃ GPIOs ទាំងអស់៖ | អតិបរមា 200 mA |
• អង្គចងចាំការណែនាំ (អង្គចងចាំពន្លឺ)៖ | 32 គីឡូបៃ |
• អង្គចងចាំដំណើរការ (អង្គចងចាំ RAM)៖ | 2 គីឡូបៃ |
•អង្គចងចាំ EEPROM៖ | 1 គីឡូបៃ |
• ប្រេកង់នាឡិកា៖ | 16 MHz |
•ចំណុចប្រទាក់ស៊េរី៖ | SPI, I2C (សម្រាប់ UART ហាក់ដូចជាកំណត់ចំណាំ) |
កំណត់ចំណាំ
- GPIOs D0 និង D1 (pin 2 និង pin 1 នៃ module M1 ក្នុងរូបភាពទី 4) ត្រូវបានកំណត់ជាមួយនឹងសញ្ញា RxD និង TxD នៃ UART របស់ microcontroller ហើយត្រូវបានប្រើសម្រាប់ការតភ្ជាប់សៀរៀលរវាង MCCAB Training Board និង USB port របស់ PC . ដូច្នេះពួកវាមានសម្រាប់តែអ្នកប្រើប្រាស់ក្នុងកម្រិតកំណត់ប៉ុណ្ណោះ (សូមមើលផ្នែកទី 4.3 ផងដែរ)។
- GPIOs A4 និង A5 (pin 23 និង pin 24 នៃម៉ូឌុល M1 ក្នុងរូបភាពទី 4) ត្រូវបានផ្តល់ទៅឱ្យសញ្ញា SDA និង SCL នៃចំណុចប្រទាក់ IC របស់ microcontroller (សូមមើលផ្នែក 4.13) ហើយដូច្នេះត្រូវបានបម្រុងទុកសម្រាប់ការភ្ជាប់សៀរៀលទៅនឹងអេក្រង់ LC នៅលើ ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB (សូមមើលផ្នែក 4.9) និងទៅម៉ូឌុល I 2 C ខាងក្រៅដែលភ្ជាប់ទៅបន្ទះឧបករណ៍ភ្ជាប់ SV8, SV9 និង SV10 (ព្រួញ (15), (16) និង (14) ក្នុងរូបភាពទី 1)។ ដូច្នេះពួកវាអាចប្រើបានសម្រាប់តែអ្នកប្រើប្រាស់សម្រាប់កម្មវិធី I 2 C ប៉ុណ្ណោះ។
- ម្ជុល A6 និង A7 (pin 25 និង pin 26 នៃ microcontroller ATmega328P ក្នុងរូបភាពទី 4 អាចប្រើបានតែជា analog inputs សម្រាប់ Analog/DigitalConverter (ADC) របស់ microcontroller) ។ ពួកគេមិនត្រូវកំណត់រចនាសម្ព័ន្ធដោយមធ្យោបាយ Function pinMode() (មិនសូម្បីតែ ជាការបញ្ចូល!) វានឹងនាំឱ្យមានអាកប្បកិរិយាមិនត្រឹមត្រូវនៃគំនូរព្រាង A6 និង A7 ត្រូវបានភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅស្ថានីយ wiper នៃ potentiometers P1 និង P2 (ព្រួញ (8) និង ព្រួញ (10) ក្នុងរូបភាពទី 1) សូមមើលផ្នែក 4.3 ។ .
- ការតភ្ជាប់ A0 … A3 នៅលើបឋមកថាម្ជុល SV6 (ព្រួញ (7) ក្នុងរូបភាពទី 1) គឺជាធាតុបញ្ចូលអាណាឡូកជាគោលការណ៍សម្រាប់ឧបករណ៍បំលែងអាណាឡូក/ឌីជីថលនៃមីក្រូកុងទ័រ។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើ 12 GPIOs ឌីជីថល D2 … D13 មិនគ្រប់គ្រាន់សម្រាប់កម្មវិធីជាក់លាក់ A0 … A3 ក៏អាចប្រើជាធាតុបញ្ចូល/លទ្ធផលឌីជីថលផងដែរ។ បន្ទាប់មកពួកគេត្រូវបានដោះស្រាយតាមរយៈលេខ pin 14 (A0) … 17 (A3) ។ 2 ឧamples: pinMode(15, OUTPUT); // A1 ត្រូវបានប្រើជាលទ្ធផលឌីជីថល pinMode(17, INPUT); // A3 ត្រូវបានប្រើជាការបញ្ចូលឌីជីថល
- ម្ជុល D12 នៅលើបឋមកថាម្ជុល SV5 (ព្រួញ (3) ក្នុងរូបភាពទី 1) និងម្ជុល D13 និង A0 … A3 នៅលើក្បាលម្ជុល SV6 (ព្រួញ (7) ក្នុងរូបភាពទី 1) ត្រូវបានបញ្ជូនទៅម្ជុលបឋមកថា JP2 (ព្រួញ (21) ក្នុងរូបភាព 1) ហើយអាចភ្ជាប់ទៅកុងតាក់ S1 … S6 ឬទៅប៊ូតុងរុញ K1 … K6 បានភ្ជាប់ទៅពួកវាស្របគ្នា សូមមើលផ្នែក 4.6 ផងដែរ។ ក្នុងករណីនេះ ម្ជុលនីមួយៗត្រូវតែកំណត់រចនាសម្ព័ន្ធជាការបញ្ចូលឌីជីថលជាមួយនឹងការណែនាំ pinMode ។
ភាពត្រឹមត្រូវនៃការបំប្លែង A/D
សញ្ញាឌីជីថលនៅក្នុងបន្ទះឈីប microcontroller បង្កើតការជ្រៀតជ្រែកអេឡិចត្រូម៉ាញ៉េទិចដែលអាចប៉ះពាល់ដល់ភាពត្រឹមត្រូវនៃការវាស់វែងអាណាឡូក។
ប្រសិនបើមួយនៃ GPIOs A0 … A3 ត្រូវបានប្រើជាលទ្ធផលឌីជីថល ដូច្នេះវាមានសារៈសំខាន់ដែលវាមិនផ្លាស់ប្តូរខណៈពេលដែលការបំប្លែងអាណាឡូក/ឌីជីថលកំពុងកើតឡើងនៅឯការបញ្ចូលអាណាឡូកមួយទៀត! ការផ្លាស់ប្តូរនៃសញ្ញាទិន្នផលឌីជីថលនៅ A0 … A3 កំឡុងពេលការបំប្លែងអាណាឡូក/ឌីជីថលនៅចំនុចបញ្ចូលអាណាឡូកមួយទៀត A0 … A7 អាចក្លែងបន្លំលទ្ធផលនៃការបំប្លែងនេះយ៉ាងច្រើន។
ការប្រើប្រាស់ចំណុចប្រទាក់ IC (A4 និង A5 សូមមើលផ្នែក 4.13) ឬ GPIOs A0 … A3 ជាធាតុបញ្ចូលឌីជីថលមិនមានឥទ្ធិពលលើគុណភាពនៃការបំប្លែងអាណាឡូក/ឌីជីថលទេ។
4.2 ការផ្គត់ផ្គង់ថាមពលរបស់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB
ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ធ្វើការជាមួយ DC voltage នៃ Vcc = +5 V ដែលជាធម្មតាត្រូវបានផ្គត់ផ្គង់ទៅវាតាមរយៈរន្ធ mini-USB នៃម៉ូឌុល microcontroller Arduino NANO ពីកុំព្យូទ័រដែលបានភ្ជាប់ (រូបភាពទី 5 រូបទី 2 និងព្រួញ (5) ក្នុងរូបភាពទី 1) ។ ចាប់តាំងពីកុំព្យូទ័រជាធម្មតាត្រូវបានភ្ជាប់យ៉ាងណាក៏ដោយសម្រាប់ការបង្កើត និងការបញ្ជូនកម្មវិធីលំហាត់ប្រាណ ការផ្គត់ផ្គង់ថាមពលប្រភេទនេះគឺល្អបំផុត។
ចំពោះគោលបំណងនេះ ក្តារបណ្តុះបណ្តាលត្រូវតែភ្ជាប់ទៅរន្ធ USB នៃកុំព្យូទ័ររបស់អ្នកប្រើតាមរយៈខ្សែ USB ខ្នាតតូច។ កុំព្យូទ័រផ្តល់នូវវ៉ុល DC ដែលមានស្ថេរភាពtagអ៊ី ប្រមាណ +5 V ដែលត្រូវបានបំបែកដោយ galvanically ពី mains voltage និងអាចត្រូវបានផ្ទុកដោយចរន្តអតិបរមា 0.5 A តាមរយៈចំណុចប្រទាក់ USB របស់វា។ វត្តមាននៃវ៉ុលប្រតិបត្តិការ +5 Vtage ត្រូវបានចង្អុលបង្ហាញដោយ LED ដែលមានស្លាក ON (ឬ POW, PWR) នៅលើម៉ូឌុល microcontroller (រូបភាព 5, រូបភាពទី 2) ។ វ៉ុល +5 វីtage ដែលផ្គត់ផ្គង់តាមរយៈរន្ធ mini-USB ត្រូវបានភ្ជាប់ទៅវ៉ុលប្រតិបត្តិការជាក់ស្តែងtage Vcc នៅលើម៉ូឌុល microcontroller Arduino NANO តាមរយៈ diode ការពារ D. វ៉ុលប្រតិបត្តិការពិតប្រាកដtage Vcc ថយចុះបន្តិចទៅ Vcc ≈ +4.7 V ដោយសារវ៉ុលtage ទម្លាក់នៅ diode ការពារ D. ការកាត់បន្ថយតូចមួយនៃវ៉ុលប្រតិបត្តិការនេះ។tage មិនប៉ះពាល់ដល់មុខងាររបស់ Arduino® NANO microcontroller module ទេ។ ® ម៉្យាងទៀត ក្តារបណ្តុះបណ្តាលអាចត្រូវបានផ្គត់ផ្គង់ដោយវ៉ុល DC ខាងក្រៅtage ប្រភព។ វ៉ុលនេះ។tage បានអនុវត្តទាំងស្ថានីយ VX1 ឬទៅស្ថានីយ VX2 ត្រូវតែស្ថិតនៅក្នុងជួរ VExt = +8 … +12 V. វ៉ុលខាងក្រៅtage ត្រូវបានបញ្ចូលទៅក្នុង pin 30 (= VIN) នៃម៉ូឌុល microcontroller Arduino NANO ទាំងតាមរយៈ connector SV4 ឬពីម៉ូឌុលខាងក្រៅដែលភ្ជាប់ទៅ connector SV2 (សូមមើលរូបភាពទី 5 រូបទី 4 និងព្រួញ (22) ឬ arrow (26) ក្នុងរូបភាពទី 1) . ដោយសារបន្ទះត្រូវបានផ្គត់ផ្គង់ដោយថាមពលពីកុំព្យូទ័រដែលបានភ្ជាប់តាមរយៈរន្ធ USB របស់វា វាមិនអាចទៅរួចទេក្នុងការបញ្ច្រាសបន្ទាត់រាងប៉ូលនៃវ៉ុលប្រតិបត្តិការ។tagអ៊ី វ៉ុលខាងក្រៅពីរtages ដែលអាចត្រូវបានផ្គត់ផ្គង់ទៅការភ្ជាប់ VX1 និង VX2 ត្រូវបាន decoupled ដោយ diodes ដូចបង្ហាញក្នុងរូបភាពទី 4 ។
diodes D2 និង D3 ផ្តល់នូវការបំបែកនៃវ៉ុលខាងក្រៅពីរtages នៅ VX1 និង VX2 ក្នុងករណី voltage គួរតែត្រូវបានអនុវត្តចំពោះធាតុបញ្ចូលខាងក្រៅទាំងពីរក្នុងពេលតែមួយដោយកំហុសពីព្រោះដោយសារតែ diodes មានតែវ៉ុលទាំងពីរខ្ពស់ជាងប៉ុណ្ណោះ។tages អាចទៅដល់ការបញ្ចូល VIN (pin 30 សូមមើលរូបភាពទី 5 និងរូបភាពទី 4) នៃ Arduino NANO microcontroller module M1 ។
វ៉ុលខាងក្រៅ DCtage ដែលបានផ្គត់ផ្គង់ទៅម៉ូឌុល microcontroller នៅឧបករណ៍ភ្ជាប់ VIN របស់វាត្រូវបានកាត់បន្ថយទៅ +5 V និងស្ថេរភាពដោយវ៉ុលរួមបញ្ចូលគ្នាtage និយតករនៅផ្នែកខាងក្រោមនៃម៉ូឌុល microcontroller (សូមមើលរូបភាពទី 2) ។ វ៉ុលប្រតិបត្តិការ +5 Vtage បង្កើតឡើងដោយវ៉ុលtage និយតករត្រូវបានភ្ជាប់ទៅ cathode នៃ diode D ក្នុងរូបភាពទី 5 ។ anode នៃ D ក៏ត្រូវបានភ្ជាប់ទៅសក្តានុពល +5 V ដោយ PC នៅពេលដែលការភ្ជាប់ USB ទៅ PC ត្រូវបានដោត។ diode D ត្រូវបានរារាំង និងមិនមាន ឥទ្ធិពលលើមុខងារនៃសៀគ្វី។ ការផ្គត់ផ្គង់ថាមពលតាមរយៈខ្សែ USB ត្រូវបានបិទក្នុងករណីនេះ។ វ៉ុលជំនួយ +3.3 Vtage ត្រូវបានបង្កើតនៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ដោយបន្ទាត់លីនេអ៊ែរtage និយតករពីវ៉ុលប្រតិបត្តិការ +5 Vtage Vcc នៃម៉ូឌុល microcontroller និងអាចផ្គត់ផ្គង់ចរន្តអតិបរមា 200 mA ។
ជាញឹកញាប់នៅក្នុងគម្រោង ការចូលប្រើវ៉ុលប្រតិបត្តិការtages ត្រូវបានទាមទារ ឧ. សម្រាប់វ៉ុលtage ការផ្គត់ផ្គង់ម៉ូឌុលខាងក្រៅ។ សម្រាប់គោលបំណងនេះ ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ផ្តល់វ៉ុលtage អ្នកចែកចាយ SV4 (រូបភាពទី 4 និងព្រួញ (21) ក្នុងរូបភាពទី 1) ដែលទិន្នផលពីរសម្រាប់វ៉ុលtage +3.3 V និងទិន្នផលបីសម្រាប់វ៉ុលtage +5 V ក៏ដូចជាការតភ្ជាប់ដីចំនួនប្រាំមួយ (GND, 0 V) អាចរកបានបន្ថែមលើការភ្ជាប់ pin VX1 សម្រាប់វ៉ុលខាងក្រៅ។tage.
4.3 ការភ្ជាប់ USB រវាងក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB និងកុំព្យូទ័រ
កម្មវិធីដែលអ្នកប្រើប្រាស់បង្កើតនៅក្នុង Arduino IDE (បរិស្ថានអភិវឌ្ឍន៍) នៅលើកុំព្យូទ័ររបស់គាត់ត្រូវបានផ្ទុកទៅក្នុង microcontroller ATmega328P នៅលើ MCCAB Training Board តាមរយៈខ្សែ USB ។ ចំពោះគោលបំណងនេះ ម៉ូឌុល microcontroller នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB (ព្រួញ (5) ក្នុងរូបភាពទី 1) ត្រូវតែភ្ជាប់ទៅរន្ធ USB នៃកុំព្យូទ័ររបស់អ្នកប្រើតាមរយៈខ្សែ mini-USB ។
ដោយសារ microcontroller ATmega328P នៅលើម៉ូឌុល microcontroller មិនមានចំណុចប្រទាក់ USB ផ្ទាល់ខ្លួននៅលើបន្ទះឈីបរបស់វា ម៉ូឌុលនេះមានសៀគ្វីរួមបញ្ចូលគ្នានៅផ្នែកខាងក្រោមរបស់វា ដើម្បីបំប្លែងសញ្ញា USB D+ និង D- ទៅជាសញ្ញាសៀរៀល RxD និង TxD នៃ UART របស់ ATmega328P ។
លើសពីនេះទៅទៀត វាអាចបញ្ចេញទិន្នន័យទៅ ឬអានទិន្នន័យពី Serial Monitor ដែលបានបញ្ចូលទៅក្នុង Arduino IDE តាម UART របស់ microcontroller និងការតភ្ជាប់ USB បន្តបន្ទាប់។
សម្រាប់គោលបំណងនេះ បណ្ណាល័យ "សៀរៀល" មានសម្រាប់អ្នកប្រើប្រាស់នៅក្នុង Arduino IDE ។
ជាធម្មតា បន្ទះហ្វឹកហាត់ក៏ត្រូវបានបំពាក់តាមរយៈចំណុចប្រទាក់ USB នៃកុំព្យូទ័ររបស់អ្នកប្រើផងដែរ (សូមមើលផ្នែក 4.2)។
វាមិនមានបំណងថាអ្នកប្រើប្រាស់ប្រើសញ្ញា RX និង TX នៃ microcontroller ដែលត្រូវបានភ្ជាប់ទៅបឋមកថា pin SV5 (ព្រួញ (3) ក្នុងរូបភាពទី 1) សម្រាប់ការទំនាក់ទំនងសៀរៀលជាមួយឧបករណ៍ខាងក្រៅ (ឧទាហរណ៍ WLAN, Bluetooth transceivers ឬស្រដៀងគ្នា) ព្រោះវាអាចធ្វើឱ្យខូចសៀគ្វីឧបករណ៍បំប្លែង USB UART ដែលរួមបញ្ចូលនៅផ្នែកខាងក្រោមនៃម៉ូឌុល microcontroller (សូមមើលផ្នែក 4.1) ទោះបីជាមានប្រដាប់ការពារដែលមានស្រាប់ក៏ដោយ! ប្រសិនបើអ្នកប្រើធ្វើវាយ៉ាងណាក៏ដោយ គាត់ត្រូវតែប្រាកដថាមិនមានទំនាក់ទំនងរវាង PC និង Arduino NANO microcontroller module ក្នុងពេលតែមួយ! សញ្ញាដែលបានផ្គត់ផ្គង់តាមរយៈរន្ធ USB នឹងនាំឱ្យមានការចុះខ្សោយនៃការទំនាក់ទំនងជាមួយឧបករណ៍ខាងក្រៅ ហើយក្នុងករណីដ៏អាក្រក់បំផុត ក៏មានការខូចខាតដល់ផ្នែករឹងផងដែរ! ®
4.4 អំពូល LED ចំនួន 2 D12 … DXNUMX សម្រាប់បង្ហាញស្ថានភាពនៃ GPIOs របស់ microcontroller
នៅផ្នែកខាងឆ្វេងខាងក្រោមនៃរូបភាពទី 1 អ្នកអាចមើលឃើញ LEDs ចំនួន 11 LED10 … LED20 (ព្រួញ (1) ក្នុងរូបភាពទី 1) ដែលអាចបង្ហាញពីស្ថានភាពនៃការបញ្ចូល/ទិន្នផលរបស់ microcontroller (GPIOs) D2 … D12 ។
ដ្យាក្រាមសៀគ្វីដែលត្រូវគ្នាត្រូវបានបង្ហាញក្នុងរូបភាពទី 4 ។
ឧបករណ៍បញ្ចេញពន្លឺរៀងៗខ្លួនត្រូវបានភ្ជាប់ទៅ GPIO ប្រសិនបើ jumper ត្រូវបានដោតចូលទៅក្នុងទីតាំងដែលត្រូវគ្នានៃ pin header JP6 (ព្រួញ (2) ក្នុងរូបភាពទី 1)។
ប្រសិនបើ GPIO D2 ដែលត្រូវគ្នា … D12 ស្ថិតនៅកម្រិត HIGH (+5 V) នៅពេលដែល jumper នៅលើ JP6 ត្រូវបានដោត នោះ LED ដែលបានកំណត់នឹងភ្លឺ ប្រសិនបើ GPIO នៅទាប (GND, 0 V) LED ត្រូវបានបិទ។
ប្រសិនបើ GPIOs D2 … D12 មួយត្រូវបានប្រើជាធាតុបញ្ចូល វាអាចចាំបាច់ដើម្បីបិទ LED ដែលផ្តល់ទៅឱ្យវាដោយដក jumper ដើម្បីជៀសវាងការផ្ទុកសញ្ញាបញ្ចូលដោយចរន្តប្រតិបត្តិការរបស់ LED (ប្រហែល 2 … 3 mA) ។
ស្ថានភាពនៃ GPIO D13 ត្រូវបានចង្អុលបង្ហាញដោយ LED L របស់វាផ្ទាល់នៅលើម៉ូឌុល microcontroller (សូមមើលរូបភាពទី 1 និងរូបភាពទី 2) ។ LED L មិនអាចបិទដំណើរការបានទេ។
ចាប់តាំងពីធាតុបញ្ចូល/លទ្ធផល A0 … A7 ត្រូវបានប្រើជាមូលដ្ឋានជាធាតុបញ្ចូលអាណាឡូកសម្រាប់ឧបករណ៍បំប្លែងអាណាឡូក/ឌីជីថលរបស់មីក្រូកុងទ័រ ឬសម្រាប់កិច្ចការពិសេស (ចំណុចប្រទាក់ TWI) ពួកគេមិនមានការបង្ហាញស្ថានភាព LED ឌីជីថល ដើម្បីកុំឱ្យខូចមុខងារទាំងនេះ។
4.5 ឧបករណ៍វាស់ថាមពល P1 និង P2
អ័ក្សបង្វិលនៃ potentiometers ពីរ P1 និង P2 នៅខាងក្រោមនៃរូបភាពទី 1 (ព្រួញ (8) និងព្រួញ (10) ក្នុងរូបភាពទី 1) អាចត្រូវបានប្រើដើម្បីកំណត់វ៉ុលtages ក្នុងជួរ 0 … Vpot នៅការតភ្ជាប់ wiper របស់ពួកគេ។
ខ្សែភ្លើងនៃ potentiometers ទាំងពីរអាចមើលឃើញនៅក្នុងរូបភាពទី 6 ។
រូបភាពទី 6: ខ្សែភ្លើងរបស់ឧបករណ៍វាស់ថាមពល P1 និង P2
ការតភ្ជាប់ wiper នៃ potentiometers ទាំងពីរត្រូវបានភ្ជាប់ទៅ analog inputs A6 និង A7 នៃម៉ូឌុល microcontroller Arduino® NANO តាមរយៈ resistors ការពារ R23 និង R24 ។
diodes D4, D6 ឬ D5, D7 ការពារការបញ្ចូលអាណាឡូករៀងៗខ្លួនរបស់ microcontroller ពីវ៉ុលខ្ពស់ពេក ឬអវិជ្ជមាន។tages.
ប្រយ័ត្ន៖
ម្ជុល A6 និង A7 នៃ ATmega328P តែងតែជាការបញ្ចូលអាណាឡូក ដោយសារស្ថាបត្យកម្មបន្ទះឈីបខាងក្នុងរបស់ microcontroller ។ ការកំណត់រចនាសម្ព័ន្ធរបស់ពួកគេជាមួយនឹងមុខងារ pinMode() នៃ Arduino IDE មិនត្រូវបានអនុញ្ញាតទេ ហើយអាចនាំឱ្យមានអាកប្បកិរិយាមិនត្រឹមត្រូវនៃកម្មវិធី។
តាមរយៈឧបករណ៍បំលែងអាណាឡូក/ឌីជីថលរបស់មីក្រូកុងទ័រ សំណុំលេខtage អាចត្រូវបានវាស់តាមវិធីសាមញ្ញ។
Example សម្រាប់ការអានតម្លៃនៃ potentiometer P1 នៅការតភ្ជាប់ A6: int z = analogRead(A6);
តម្លៃលេខ 10 ប៊ីត Z ដែលត្រូវបានគណនាពីវ៉ុលtage នៅ A6 យោងតាម Z = (សមីការ 1 ពីផ្នែកទី 5) 1024⋅
ដែនកំណត់ខាងលើដែលចង់បាន Vpot = +3.3 V resp ។ Vpot = +5 V នៃជួរការកំណត់ត្រូវបានកំណត់ជាមួយក្បាលម្ជុល JP3 (ព្រួញ (9) ក្នុងរូបភាពទី 1) ។ ដើម្បីជ្រើសរើស Vpot ទាំង pin 1 ឬ pin 3 នៃ JP3 ត្រូវបានភ្ជាប់ទៅ pin2 ដោយប្រើ jumper ។
វ៉ុលណាtage ត្រូវតែកំណត់ជាមួយ JP3 សម្រាប់ Vpot អាស្រ័យលើលេខយោងtage VREF នៃ analog/digital- converter នៅឧបករណ៍ភ្ជាប់ REF នៃ pin header SV6 (ព្រួញ (7) ក្នុងរូបភាពទី 1) សូមមើលផ្នែក 5 ។
លេខយោងtage VREF នៃ A/D- converter នៅស្ថានីយ REF នៃ SV6 pin header និង voltage Vpot ដែលបានបញ្ជាក់ជាមួយ JP3 ត្រូវតែផ្គូផ្គង។
4.6 កុងតាក់ S1 … S6 និងប៊ូតុង K1 … K6
ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ផ្តល់ឱ្យអ្នកប្រើប្រាស់នូវប៊ូតុងរុញចំនួនប្រាំមួយ និងប៊ូតុងរុញចំនួនប្រាំមួយសម្រាប់លំហាត់របស់គាត់ (ព្រួញ (20) និង (19) នៅក្នុងរូបភាពទី 1) ។ រូបភាពទី 7 បង្ហាញពីខ្សែរបស់ពួកគេ។ ដើម្បីផ្តល់ឱ្យអ្នកប្រើប្រាស់នូវជម្រើសនៃការអនុវត្តជាអចិន្ត្រៃយ៍ ឬសញ្ញាជីពចរទៅនឹងធាតុបញ្ចូលមួយនៃម៉ូឌុល microcontroller M1 កុងតាក់ស្លាយមួយ និងប៊ូតុងរុញមួយត្រូវបានភ្ជាប់ស្របគ្នា។
លទ្ធផលទូទៅនៃគូប្តូរទាំងប្រាំមួយត្រូវបានភ្ជាប់តាមរយៈរេស៊ីស្តង់ការពារ (R25 … R30) ទៅកាន់ក្បាលម្ជុល JP2 (ព្រួញ (21) ក្នុងរូបភាពទី 1) ។ ការតភ្ជាប់ប៉ារ៉ាឡែលនៃកុងតាក់ស្លាយ និងកុងតាក់ប៊ូតុងជាមួយនឹងរេស៊ីស្តង់ប្រតិបត្តិការធម្មតា (R31 … R36) ដំណើរការដូចជាប្រតិបត្តិការ OR ឡូជីខល៖ ប្រសិនបើតាមរយៈកុងតាក់មួយក្នុងចំណោមកុងតាក់ទាំងពីរ (ឬកុងតាក់ទាំងពីរក្នុងពេលតែមួយ) វ៉ុល +5 វីtagអ៊ីមានវត្តមាននៅរេស៊ីស្តង់ដំណើរការធម្មតា កម្រិតឡូជីខល HIGH តាមរយៈរេស៊ីស្តង់ការពារក៏មានវត្តមាននៅម្ជុលលេខ 2, 4, 6, 8, 10 ឬ 12 នៃ JP2 ដែលត្រូវគ្នា។ លុះត្រាតែកុងតាក់ទាំងពីរបើក ការតភ្ជាប់ធម្មតារបស់វាត្រូវបានបើក ហើយម្ជុលដែលត្រូវគ្នានៃក្បាលម្ជុល JP2 ត្រូវបានទាញទៅកម្រិតទាប (0 V, GND) តាមរយៈការតភ្ជាប់ស៊េរីនៃរេស៊ីស្តង់ការពារ និងរេស៊ីស្តង់ដែលកំពុងដំណើរការ។
រូបភាពទី 7៖ ខ្សែភ្លើងរបស់ស្លាយ/ប៊ូតុងបិទបើក S1 … S6/ K1 … K6
ម្ជុលនីមួយៗនៃបឋមកថាម្ជុល JP2 អាចត្រូវបានភ្ជាប់ទៅធាតុបញ្ចូលដែលបានកំណត់របស់វា A0 … A3, D12 ឬ D13 នៃ Arduino
ម៉ូឌុល microcontroller NANO តាមរយៈ jumper ។ កិច្ចការត្រូវបានបង្ហាញក្នុងរូបភាពទី 7 ។
ជាជម្រើស ការតភ្ជាប់កុងតាក់នៅលើម្ជុល 2, 4, 6, 8, 10 ឬ 12 នៃបឋមកថាម្ជុល JP2 អាចត្រូវបានភ្ជាប់ទៅធាតុបញ្ចូលណាមួយ D2 … D13 ឬ A0 … A3 នៃម៉ូឌុលមីក្រូកុងទ័រ Arduino® នៅលើក្បាលម្ជុល SV5 ឬ SV6 ( ព្រួញ (3) និងព្រួញ (7) ក្នុងរូបភាពទី 1) ដោយប្រើខ្សែ Dupont ។ វិធីដែលអាចបត់បែនបាននៃការតភ្ជាប់នេះគឺល្អសម្រាប់ការកំណត់ថេរនៃកុងតាក់នីមួយៗទៅ GPIO ជាក់លាក់មួយ ប្រសិនបើ GPIO ដែលបានកំណត់នៃ microcontroller ATmega328P ត្រូវបានប្រើសម្រាប់មុខងារពិសេស (A/D-converter input, PWM output … )។ វិធីនេះ អ្នកប្រើប្រាស់អាចភ្ជាប់កុងតាក់របស់គាត់ទៅ GPIOs ដែលមិនគិតថ្លៃនៅក្នុងកម្មវិធីរៀងៗខ្លួន ពោលគឺមិនត្រូវបានកាន់កាប់ដោយមុខងារពិសេសនោះទេ។
នៅក្នុងកម្មវិធីរបស់គាត់ អ្នកប្រើប្រាស់ត្រូវកំណត់រចនាសម្ព័ន្ធ GPIO នីមួយៗនៃម៉ូឌុល microcontroller Arduino® NANO ជាធាតុបញ្ចូល ដែលត្រូវបានភ្ជាប់ទៅច្រកប្តូរ ដោយប្រើការណែនាំ pinMode(gpio, INPUT); // សម្រាប់ "gpio" បញ្ចូលលេខម្ជុលដែលត្រូវគ្នា។
Example: pinMode(A1, INPUT); // A1 ត្រូវបានតំឡើងជាការបញ្ចូលឌីជីថលសម្រាប់ S2|K2
ក្នុងករណី GPIO នៃ microcontroller ដែលភ្ជាប់ទៅ switch ត្រូវបានកំណត់រចនាសម្ព័ន្ធជាលទ្ធផលដោយច្រឡំ ប្រដាប់ការពារ R25 … R30 រារាំងរយៈពេលខ្លីរវាង +5 V និង GND (0 V) នៅពេលដែលកុងតាក់ត្រូវបានធ្វើសកម្មភាព ហើយ GPIO មានកម្រិតទាប។ នៅទិន្នផលរបស់វា។
ដើម្បីអាចប្រើប៊ូតុងរុញ កុងតាក់ស្លាយដែលភ្ជាប់ស្របទៅនឹងវាត្រូវតែបើក (ទីតាំង “0”)! បើមិនដូច្នេះទេ លទ្ធផលទូទៅរបស់ពួកគេគឺនៅកម្រិត HIGH ជាអចិន្ត្រៃយ៍ ដោយមិនគិតពីទីតាំងនៃប៊ូតុងបិទបើក។
ទីតាំងប្តូររបស់ឧបករណ៍ប្តូរស្លាយត្រូវបានសម្គាល់ "0" និង "1" នៅលើក្តារបណ្តុះបណ្តាលដូចបង្ហាញក្នុងរូបភាពទី 1 ។
រូបភាពទី 8 បង្ហាញ៖ ប្រសិនបើកុងតាក់ស្ថិតនៅទីតាំង “1” នោះទិន្នផលកុងតាក់ត្រូវបានភ្ជាប់ទៅ +5 V (ខ្ពស់) នៅក្នុងទីតាំង “0” ទិន្នផលកុងតាក់បើក។
៤.៧ សំឡេងរោទិ៍ piezo Buzzer ១
ផ្នែកខាងឆ្វេងខាងលើនៃរូបភាពទី 1 បង្ហាញ Buzzer1 (ព្រួញ (23) ក្នុងរូបភាពទី 1) ដែលអនុញ្ញាតឱ្យអ្នកប្រើបញ្ចេញសម្លេងនៃប្រេកង់ផ្សេងៗគ្នា។ សៀគ្វីមូលដ្ឋានរបស់វាត្រូវបានបង្ហាញក្នុងរូបភាពទី 9 ។
Buzzer1 អាចភ្ជាប់ទៅ GPIO D9 នៃ microcontroller នៅលើ MCCAB Training Board តាមរយៈ jumper នៅលើទីតាំង "Buzzer" នៃ pin header JP6 (ព្រួញ (29) ក្នុងរូបភាពទី 1) (មើលរូបភាពទី 9 រូបទី 4 និងព្រួញ (2)) នៅក្នុងរូបភាពទី 1) ។ jumper អាចត្រូវបានយកចេញប្រសិនបើត្រូវការ GPIO D9 នៅក្នុងកម្មវិធីសម្រាប់គោលបំណងផ្សេងទៀត។
ប្រសិនបើ jumper ត្រូវបានដកចេញ វាក៏អាចអនុវត្តសញ្ញាខាងក្រៅដើម្បី pin 24 នៃ pin header JP6 តាមរយៈខ្សែ Dupont ហើយអោយវាចេញដោយ Buzzer1។
រូបភាពទី 9: ខ្សែភ្លើង Buzzer1
ដើម្បីបង្កើតសម្លេង អ្នកប្រើប្រាស់ត្រូវតែបង្កើតសញ្ញានៅក្នុងកម្មវិធីរបស់គាត់ដែលផ្លាស់ប្តូរជាមួយនឹងប្រេកង់សម្លេងដែលចង់បាននៅទិន្នផល D9 នៃ microcontroller (គូសវាសនៅខាងស្តាំក្នុងរូបភាពទី 9)។
លំដាប់រហ័សនៃកម្រិត HIGH និង LOW នេះអនុវត្តវ៉ុល AC រាងចតុកោណtage ទៅ Buzzer1 ដែលជាទៀងទាត់ខូចទ្រង់ទ្រាយចានសេរ៉ាមិចនៅខាងក្នុង buzzer ដើម្បីបង្កើតរំញ័រសំឡេងនៅប្រេកង់សម្លេងសមរម្យ។
មធ្យោបាយងាយស្រួលជាងក្នុងការបង្កើតសម្លេងគឺត្រូវប្រើ T/C1 (Timer/Counter 1) នៃ microcontroller៖ ទិន្នផល T/C1 OC1A នៃ AVR microcontroller ATmega328P នៅលើ Arduino NANO microcontroller module អាចភ្ជាប់ទៅ GPIO D9 នៅខាងក្នុង microcontroller បន្ទះសៀគ្វី។ ជាមួយនឹងការសរសេរកម្មវិធី T/C1 ដែលសមស្រប វាងាយស្រួលណាស់ក្នុងការបង្កើតសញ្ញាចតុកោណកែងដែលប្រេកង់ f = ® 1 ?? (T គឺជារយៈពេលនៃសញ្ញាចតុកោណកែង) ត្រូវបានបំប្លែងទៅជាសម្លេងដែលចង់បានដោយ buzzer ។ រូបភាពទី 10 បង្ហាញថា piezo buzzer មិនមែនជាឧបករណ៍បំពងសម្លេង Hi-Fi ទេ។ ដូចដែលអាចមើលឃើញ ការឆ្លើយតបប្រេកង់របស់ piezo buzzer គឺគ្មានអ្វីក្រៅពីលីនេអ៊ែរ។ ដ្យាក្រាមក្នុងរូបភាពទី 10 បង្ហាញពីកម្រិតសម្ពាធសំឡេង (SPL) នៃឧបករណ៍ប្តូរ piezo SAST-2155 ពី Sonitron ដែលវាស់នៅចម្ងាយ 1 ម៉ែត្រ ជាមុខងារនៃប្រេកង់សញ្ញា។ ដោយសារលក្ខណៈសម្បត្តិរូបវន្ត និងអនុភាពធម្មជាតិ ហ្វ្រេកង់មួយចំនួនត្រូវបានបង្កើតឡើងវិញខ្លាំងជាង និងផ្សេងទៀតកាន់តែទន់។ ដ្យាក្រាមដែលត្រូវគ្នានៃ piezo buzzer នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB បង្ហាញពីខ្សែកោងស្រដៀងគ្នា។
រូបភាពទី 10៖ ការឆ្លើយតបប្រេកង់ធម្មតារបស់ piezo buzzer (រូបភាព៖ Sonitron)
ទោះបីជាមានកម្រិតនេះក៏ដោយ piezo buzzer គឺជាការសម្រុះសម្រួលដ៏ល្អរវាងគុណភាពនៃការផលិតឡើងវិញនៃសំឡេងដែលបង្កើតឡើងដោយ microcontroller និងស្នាមជើងរបស់វានៅលើក្តារដែលអនុញ្ញាតឱ្យវាស្នាក់នៅក្នុងចន្លោះតូចមួយ។ ក្នុងករណីដែលតម្រូវឱ្យមានគុណភាពសំឡេងខ្ពស់ជាងនេះ piezo buzzer អាចត្រូវបានផ្តាច់ចេញពីទិន្នផល D9 ដោយយក jumper ហើយ D9 អាចភ្ជាប់ទៅឧបករណ៍ខាងក្រៅសម្រាប់ការផលិតសំឡេងនៅលើក្បាល pin SV5 ឧ។ តាមរយៈខ្សែ Dupont (បើចាំបាច់ , តាមរយៈវ៉ុលtage ការបែងចែកដើម្បីកាត់បន្ថយ amplitude ដើម្បីជៀសវាងការខូចខាតចំពោះការបញ្ចូល stagង) ។
4.8 ម៉ាទ្រីស LED 3 × 3
អំពូល LED ចំនួន 9 នៅផ្នែកខាងឆ្វេងនៃរូបភាពទី 1 ត្រូវបានរៀបចំជាម៉ាទ្រីសដែលមានជួរឈរ 3 និង 3 ជួរ (ព្រួញ (27) ក្នុងរូបភាពទី 1) ។ សៀគ្វីរបស់ពួកគេត្រូវបានបង្ហាញនៅក្នុងរូបភាពទី 11 ។ អំពូល LED ចំនួន 9 អាចត្រូវបានគ្រប់គ្រងដោយមានតែ 6 GPIO នៃ microcontroller ដោយសារតែការរៀបចំម៉ាទ្រីស។
បន្ទាត់បីជួរ A, B និង C ត្រូវបានភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅនឹងម្ជុល D8, D7 និង D6 នៃ microcontroller ដូចបង្ហាញក្នុងរូបភាពទី 11 ។ រេស៊ីស្តង់បី R5 … R7 នៅក្នុងបន្ទាត់ជួរឈរកំណត់ចរន្តតាមរយៈ LEDs ។ លើសពីនេះទៀតបន្ទាត់ជួរឈរត្រូវបានភ្ជាប់ទៅឧបករណ៍ភ្ជាប់ SV3 (ព្រួញ (25) ក្នុងរូបភាពទី 1) ។
ការតភ្ជាប់បីជួរ 1, 2 និង 3 ត្រូវបានបញ្ជូនទៅបឋមកថាម្ជុល JP1 (ព្រួញ (28) ក្នុងរូបភាពទី 1) ។ ពួកវាអាចភ្ជាប់ទៅម្ជុលរបស់ microcontroller D3 … D5 តាមរយៈ jumpers ។ ម៉្យាងទៀត ម្ជុលលេខ 1, 2 ឬ 3 នៅលើបឋមកថា JP1 អាចត្រូវបានភ្ជាប់តាមរយៈខ្សែ Dupont ទៅនឹងលទ្ធផលណាមួយ D2 … D13 ឬ A0 … A3 នៃម៉ូឌុលមីក្រូកុងទ័រ Arduino NANO នៅលើបឋមកថា SV5 និង SV6 (ព្រួញ (3) និងព្រួញ (7)) ក្នុងរូបភាពទី 1) ប្រសិនបើ GPIOs D3 មួយក្នុងចំណោម GPIOs D5 … D328 នៃ microcontroller ATmega9P នៅលើ Arduino ® NANO microcontroller module ត្រូវបានប្រើសម្រាប់មុខងារពិសេស។ អំពូល LED ចំនួន 1 ត្រូវបានដាក់ស្លាក A3 … C1 យោងទៅតាមការរៀបចំរបស់វានៅក្នុងម៉ាទ្រីស ឧទាហរណ៍ LED B1 មានទីតាំងនៅជួរ B និងនៅជួរជួរទី XNUMX ។
រូបភាពទី 11: អំពូល LED ចំនួនប្រាំបួននៅក្នុងទម្រង់នៃម៉ាទ្រីស 3 × 3
LEDs ជាធម្មតាត្រូវបានគ្រប់គ្រងដោយកម្មវិធីអ្នកប្រើប្រាស់នៅក្នុងរង្វិលជុំគ្មានទីបញ្ចប់ ដែលក្នុងនោះជួរមួយក្នុងចំណោមជួរទាំងបី 1, 2 និង 3 ត្រូវបានកំណត់ជារង្វង់ទៅជាសក្តានុពលទាប ខណៈពេលដែលជួរដេកពីរផ្សេងទៀតត្រូវបានកំណត់ទៅកម្រិត HIGH ឬស្ថិតក្នុងកម្រិត impedance ខ្ពស់ ស្ថានភាព (Hi-Z) ។ ប្រសិនបើអំពូល LED មួយឬច្រើននៅក្នុងជួរដេកដែលបច្ចុប្បន្នត្រូវបានធ្វើឱ្យសកម្មដោយកម្រិតទាបត្រូវបានភ្លឺនោះស្ថានីយជួរឈររបស់វា A, B ឬ C ត្រូវបានកំណត់ទៅកម្រិត HIGH ។ ស្ថានីយជួរឈរនៃ LEDs នៅក្នុងជួរសកម្មដែលមិនត្រូវបំភ្លឺគឺនៅសក្តានុពលទាប។ សម្រាប់អតីតample ដើម្បីធ្វើឱ្យអំពូល LED ទាំងពីរ A3 និង C3 ភ្លឺឡើង ជួរទី 3 ត្រូវតែនៅកម្រិតទាប ហើយជួរឈរ A និង C ត្រូវតែនៅកម្រិត HIGH ខណៈដែលជួរឈរ B គឺនៅកម្រិតទាប ហើយជួរទាំងពីរជួរទី 1 និង 2 គឺនៅកម្រិត HIGH ឬនៅក្នុង ស្ថានភាព impedance ខ្ពស់ (Hi-Z) ។
ប្រយ័ត្ន៖ ប្រសិនបើបន្ទាត់ជួរដេកនៃម៉ាទ្រីស LED 3 × 3 ត្រូវបានភ្ជាប់ទៅ GPIOs D3 … D5 តាមរយៈ jumpers នៅលើ pin header JP1 ឬទៅកាន់ GPIOs ផ្សេងទៀតនៃ microcontroller តាមរយៈខ្សែ Dupont នោះបន្ទាត់ជួរដេកទាំងនេះក៏ដូចជាបន្ទាត់ជួរឈរ D6 … D8 មិនត្រូវប្រើសម្រាប់កិច្ចការផ្សេងទៀតនៅក្នុងកម្មវិធីឡើយ។ ការចាត់តាំងពីរដងនៃម៉ាទ្រីស GPIOs នឹងនាំឱ្យដំណើរការខុសប្រក្រតី ឬសូម្បីតែធ្វើឱ្យខូចដល់ក្តារបណ្តុះបណ្តាល!
4.9 អេក្រង់ LC-Display (LCD)
នៅខាងស្តាំខាងលើនៃរូបភាពទី 1 គឺជាអេក្រង់ LC (LCD) សម្រាប់បង្ហាញអក្សរ ឬតម្លៃលេខ (ព្រួញ (18) ក្នុងរូបភាពទី 1)។ អេក្រង់ LCD មានពីរជួរ; ជួរនីមួយៗអាចបង្ហាញ 16 តួអក្សរ។ សៀគ្វីរបស់វាត្រូវបានបង្ហាញក្នុងរូបភាពទី 12 ។
ការរចនានៃអេក្រង់ LC អាចប្រែប្រួលអាស្រ័យលើក្រុមហ៊ុនផលិត ឧទាហរណ៍ តួអក្សរពណ៌សនៅលើផ្ទៃខាងក្រោយពណ៌ខៀវ ឬតួអក្សរខ្មៅនៅលើផ្ទៃខាងក្រោយពណ៌លឿង ឬរូបរាងផ្សេងទៀតអាចធ្វើទៅបាន។
ដោយសារ LCD មិនត្រូវការនៅក្នុងកម្មវិធីទាំងអស់ វ៉ុលប្រតិបត្តិការ +5 Vtage នៃ LCD អាចត្រូវបានរំខានដោយការទាញ jumper នៅលើ pin header JP5 ប្រសិនបើ backlight នៃ LCD គួរតែរំខាន។
រូបភាពទី 12: ការតភ្ជាប់នៃអេក្រង់ LC
ការកំណត់កម្រិតពណ៌
អ្នកទិញក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ត្រូវតែកែតម្រូវកម្រិតពណ៌នៃអេក្រង់ LC ក្នុងអំឡុងពេលចាប់ផ្តើមដំបូង! ដើម្បីធ្វើដូច្នេះបាន អត្ថបទមួយត្រូវបានបញ្ចេញទៅ LCD ហើយកម្រិតពណ៌ត្រូវបានកែតម្រូវដោយការផ្លាស់ប្តូររេស៊ីស្តង់កាត់ដែលបង្ហាញក្នុងរូបភាពទី 13 (សញ្ញាព្រួញពណ៌សក្នុងរូបភាពទី 13) ដោយប្រើទួណឺវីសពីបាតក្តារហ្វឹកហាត់ ដូច្នេះតួអក្សរនៅលើអេក្រង់។ ត្រូវបានបង្ហាញយ៉ាងល្អប្រសើរ។
ប្រសិនបើការកែតម្រូវគឺចាំបាច់ដោយសារតែការប្រែប្រួលសីតុណ្ហភាព ឬភាពចាស់ អ្នកប្រើប្រាស់អាចកែតម្រូវកម្រិតពណ៌ LCD ដោយកែតម្រូវឧបករណ៍ទប់ទល់នឹងការកាត់នេះប្រសិនបើចាំបាច់។
រូបភាពទី 13: ការលៃតម្រូវកម្រិតពណ៌ LCD ដោយប្រើទួណឺវីស
ការបញ្ជូនទិន្នន័យទៅ LC-Display
LC-Display ត្រូវបានគ្រប់គ្រងតាមរយៈ Serial TWI (=I2 C) interface នៃ microcontroller ATmega328P។ ឧបករណ៍ភ្ជាប់ A4 នៅលើបឋមកថាម្ជុល SV6 (ព្រួញ (7) ក្នុងរូបភាពទី 1) ដំណើរការជាបន្ទាត់ទិន្នន័យ SDA (Serial DAta) និង A5 ជាបន្ទាត់នាឡិកា SCL (Serial CLock) ។
ការបង្ហាញ LC នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ជាធម្មតាមានអាសយដ្ឋាន I2 C 0x27 ។
ប្រសិនបើអាសយដ្ឋានផ្សេងទៀតគួរតែត្រូវបានប្រើដោយសារហេតុផលផលិត អាសយដ្ឋាននេះត្រូវបានចង្អុលបង្ហាញដោយស្ទីគ័រនៅលើអេក្រង់។ នៅក្នុងគំនូរព្រាងរបស់អ្នកប្រើ អាសយដ្ឋាននេះត្រូវតែប្រើជំនួសអាសយដ្ឋាន 0x27។
ឧបករណ៍បញ្ជាដែលបានដំឡើងនៅលើអេក្រង់ LC គឺត្រូវគ្នាជាមួយនឹងស្តង់ដារឧស្សាហកម្មដែលប្រើយ៉ាងទូលំទូលាយ HD44780 ដែលមានបណ្ណាល័យ Arduino មួយចំនួនធំ (ឧ. https://github.com/marcoschwartz/LiquidCrystal_I2C) នៅលើអ៊ីនធឺណិតសម្រាប់ការគ្រប់គ្រងតាមរយៈ
ឡានក្រុង IC2 ។ ជាធម្មតា បណ្ណាល័យអាចទាញយកបានដោយមិនគិតថ្លៃពីរៀងៗខ្លួន webគេហទំព័រ។
4.10 កម្មវិធីបញ្ជាបញ្ចេញ SV1 និង SV7 សម្រាប់ចរន្តទិន្នផលខ្ពស់ និងវ៉ុលtages
ក្បាលម្ជុល SV1 (ព្រួញ (24) ក្នុងរូបភាពទី 1) និង SV7 (ព្រួញ (17) ក្នុងរូបភាពទី 1) អាចត្រូវបានប្រើដើម្បីបើក និងបិទការផ្ទុកដែលត្រូវការចរន្តខ្ពស់ជាងតម្លៃប្រហាក់ប្រហែល។ 40 mA ដែលទិន្នផល microcontroller ធម្មតាអាចផ្តល់ជាអតិបរមា។ វ៉ុលប្រតិបត្តិការtage នៃបន្ទុកខាងក្រៅអាចឡើងដល់ +24 V ហើយចរន្តទិន្នផលអាចឡើងដល់ 160 mA ។ នេះធ្វើឱ្យវាអាចគ្រប់គ្រងម៉ូទ័រតូចៗ (ឧទាហរណ៍ ម៉ូទ័រកង្ហារ) ការបញ្ជូនត ឬអំពូលតូចៗដោយផ្ទាល់ជាមួយ microcontroller នៃក្តារហ្វឹកហាត់។
រូបភាពទី 14 បង្ហាញពីដ្យាក្រាមសៀគ្វីនៃលទ្ធផលរបស់អ្នកបើកបរទាំងពីរ។
រូបភាពទី 14៖ កម្មវិធីបញ្ជាបញ្ចេញ SV1 និង SV7 សម្រាប់ចរន្តទិន្នផលខ្ពស់ជាង
តំបន់ដាច់ ៗ ក្នុងរូបភាពទី 14 បង្ហាញពីរបៀបដែលបន្ទុកត្រូវបានភ្ជាប់ទៅលទ្ធផលរបស់អ្នកបើកបរដោយប្រើ example នៃ relay និង motor:
- បង្គោលវិជ្ជមាននៃវ៉ុលប្រតិបត្តិការខាងក្រៅtage ត្រូវបានភ្ជាប់ទៅ pin 3 (ដាក់ស្លាក "+" នៅលើក្តារ) នៃ header SV1 resp ។ SV7 ។ ការតភ្ជាប់វិជ្ជមានបន្ថែមទៀតនៃបន្ទុកក៏ត្រូវបានភ្ជាប់ទៅ pin 3 នៃក្បាល pin SV1 ឬ SV7 ផងដែរ។
- ការតភ្ជាប់អវិជ្ជមានកាន់តែច្រើននៃបន្ទុកត្រូវបានភ្ជាប់ទៅ pin 2 (ដាក់ស្លាក "S" នៅលើក្តារ) នៃបឋមកថា SV1 resp ។ SV7 ។
- បង្គោលអវិជ្ជមាននៃវ៉ុលប្រតិបត្តិការខាងក្រៅtage ត្រូវបានភ្ជាប់ទៅ pin 1 (ដាក់ស្លាក " " នៅលើក្តារ) នៃ header SV1 resp ។ SV7 ។
អ្នកបើកបរសtage SV1 ត្រូវបានភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅ GPIO D3 នៃ microcontroller និង driver stage SV7 ត្រូវបានភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅ GPIO D10 នៃ microcontroller ។ ចាប់តាំងពី D3 និង D10 គឺជាទិន្នផលដែលមានសមត្ថភាព PWM នៃ microcontroller វាអាចគ្រប់គ្រងបានយ៉ាងងាយស្រួលសម្រាប់ឧ។ample, ល្បឿននៃម៉ូទ័រ DC ដែលបានតភ្ជាប់ ឬពន្លឺនៃអំពូលភ្លើង។ ឌីយ៉ូតការពារ D1 និង D8 ធានាថាវ៉ុលtage peaks ដែលកើតឡើងនៅពេលបិទការផ្ទុក inductive មិនអាចបំផ្លាញទិន្នផល s បានទេ។tage.
សញ្ញា HIGH នៅទិន្នផល D3 នៃ microcontroller ប្តូរនៅលើ transistor T2 ហើយការតភ្ជាប់អវិជ្ជមានកាន់តែច្រើននៃបន្ទុកនៅ SV1 ត្រូវបានភ្ជាប់ទៅ ground (GND) តាមរយៈ transistor transistor T2។ ដូច្នេះបន្ទុកត្រូវបានបើកព្រោះវ៉ុលប្រតិបត្តិការខាងក្រៅទាំងមូលtagអ៊ីឥឡូវទម្លាក់ចុះ។
សញ្ញាទាបនៅ D3 រារាំងត្រង់ស៊ីស្ទ័រ T2 ហើយបន្ទុកដែលភ្ជាប់ទៅ SV1 ត្រូវបានបិទ។ ដូចគ្នានេះដែរអនុវត្តចំពោះលទ្ធផល D10 នៃ microcontroller និងបឋមកថា SV7 ។
4.11 ឧបករណ៍ភ្ជាប់រន្ធ SV2 សម្រាប់ភ្ជាប់ម៉ូឌុលខាងក្រៅ
តាមរយៈឧបករណ៍ភ្ជាប់រន្ធ SV2 (ព្រួញ (26) ក្នុងរូបភាពទី 1) ម៉ូឌុលខាងក្រៅ និងបន្ទះសៀគ្វីដែលបានបោះពុម្ពអាចត្រូវបានចតទៅកាន់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ។ ម៉ូឌុលទាំងនេះអាចជាបន្ទះឧបករណ៍ចាប់សញ្ញា ឧបករណ៍បំលែងឌីជីថល/អាណាឡូក ម៉ូឌុល WLAN ឬវិទ្យុ ការបង្ហាញក្រាហ្វិក ឬសៀគ្វីដើម្បីបង្កើនចំនួនបន្ទាត់បញ្ចូល/ទិន្នផល ដើម្បីដាក់ឈ្មោះជម្រើសមួយចំនួននៃជម្រើសជាច្រើន។ សូម្បីតែគំរូកម្មវិធីពេញលេញ ដូចជាម៉ូឌុលបណ្ដុះបណ្ដាលសម្រាប់វិស្វកម្មត្រួតពិនិត្យ ឬការត្រួតពិនិត្យភ្លើងចរាចរណ៍ ដែលតម្រូវឱ្យមាន GPIOs ជាច្រើនសម្រាប់ការគ្រប់គ្រងរបស់ពួកគេ អាចត្រូវបានភ្ជាប់ទៅឧបករណ៍ភ្ជាប់រន្ធ SV2 នៃក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB និងគ្រប់គ្រងដោយ microcontroller របស់វា។ បន្ទះឧបករណ៍ភ្ជាប់ស្រី SV2 មាន 26 ទំនាក់ទំនងដែលត្រូវបានរៀបចំជា 2 ជួរនៃ 13 ទំនាក់ទំនងនីមួយៗ។ ទំនាក់ទំនងលេខសេសគឺនៅជួរខាងលើ ទំនាក់ទំនងលេខគូគឺនៅជួរខាងក្រោមនៃបន្ទះរន្ធ SV2។
រូបភាពទី 15៖ ការកំណត់ម្ជុលរបស់ឧបករណ៍ភ្ជាប់រន្ធ SV2
ការកំណត់ម្ជុលនៃ SV2 បង្ហាញរូបភាពទី 15 ។ ការតភ្ជាប់ទាំងអស់ដែលពាក់ព័ន្ធសម្រាប់ម៉ូឌុលខាងក្រៅនៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ត្រូវបាននាំចេញទៅបន្ទះរន្ធ SV2 ។
GPIOs D0 និង D1 (RxD និង TxD) និង analog inputs A6 និង A7 មិនត្រូវបានភ្ជាប់ទៅ SV2 ទេ ព្រោះ D0 និង D1 ត្រូវបានបម្រុងទុកសម្រាប់ការតភ្ជាប់សៀរៀលរវាង MCCAB Training Board និង PC ហើយមានសម្រាប់តែអ្នកប្រើប្រាស់នៅក្នុង មធ្យោបាយមានកម្រិតខ្លាំង (សូមមើលកំណត់សម្គាល់ក្នុងផ្នែកទី 4.1) និង A6 និង A7 ត្រូវបានភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅស្ថានីយ wiper នៃ potentiometers P1 និង P2 នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB (សូមមើលផ្នែក 4.3) ដូច្នេះហើយមិនអាចប្រើផ្សេងបានទេ។
នៅក្នុងកម្មវិធីរបស់គាត់ អ្នកប្រើប្រាស់ត្រូវកំណត់រចនាសម្ព័ន្ធ GPIO នីមួយៗនៃម៉ូឌុល microcontroller Arduino NANO នៅលើក្បាលម្ជុលពីរ SV5 និង SV6 (ព្រួញ (3) និងព្រួញ (7) ក្នុងរូបភាពទី 1) ដែលត្រូវបានប្រើដោយម៉ូឌុលខាងក្រៅនៅលើ SV2, សម្រាប់ទិសដៅទិន្នន័យដែលត្រូវការជា INPUT ឬ OUTPUT (សូមមើលផ្នែក 4.1)! ®
ប្រយ័ត្ន៖ GPIOs នៃ microcontroller ATmega328P នៅលើ MCCAB Training Board ដែលត្រូវបានប្រើដោយម៉ូឌុលដែលភ្ជាប់ទៅ SV2 មិនត្រូវប្រើសម្រាប់កិច្ចការផ្សេងទៀតនៅក្នុងកម្មវិធីទេ។ ការចាត់តាំងទ្វេរដងនៃ GPIOs ទាំងនេះនឹងនាំឱ្យដំណើរការខុសប្រក្រតី ឬសូម្បីតែធ្វើឱ្យខូចក្តារបណ្តុះបណ្តាល!
4.12 ក្បាលម្ជុលសម្រាប់ការតភ្ជាប់នៃម៉ូឌុល SPI
ក្បាលម្ជុល SV11 (ព្រួញ (13) ក្នុងរូបភាពទី 1) និង SV12 (ព្រួញ (12) ក្នុងរូបភាពទី 1) អាចត្រូវបានប្រើដើម្បីភ្ជាប់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ជាមេ SPI ជាមួយនឹងម៉ូឌុលទាសករខាងក្រៅដែលមានចំណុចប្រទាក់ SPI (SPI = គ្រឿងកុំព្យូទ័រស៊េរី ចំណុចប្រទាក់) ។ Serial Peripheral Interface អនុញ្ញាតឱ្យផ្ទេរទិន្នន័យសមកាលកម្មលឿនរវាងក្តារបណ្តុះបណ្តាលនិងម៉ូឌុលគ្រឿងកុំព្យូទ័រ។
AVR microcontroller ATmega328P មាន Hardware SPI នៅលើបន្ទះឈីបរបស់វា ដែលសញ្ញា SS, MOSI, MISO និង SCLK អាចត្រូវបានភ្ជាប់នៅខាងក្នុងបន្ទះឈីប microcontroller ទៅ GPIOs D10 … D13 នៅលើក្បាលម្ជុល SV5 និង SV6 (ព្រួញ (3)) និងព្រួញ (7 ) នៅក្នុងរូបភាពទី 1) ។
នៅក្នុង Arduino IDE បណ្ណាល័យ SPI មានសម្រាប់ការគ្រប់គ្រងម៉ូឌុល SPI ដែលត្រូវបានដាក់បញ្ចូលទៅក្នុងកម្មវិធីអ្នកប្រើប្រាស់ជាមួយ #include
រូបភាពទី 16៖ ការចាត់តាំង pin នៃ SPI connector SV11
ចាប់តាំងពីម៉ូឌុល SPI ជាមួយវ៉ុលប្រតិបត្តិការtage +3.3 V ក៏ដូចជាម៉ូឌុល SPI ជាមួយនឹងវ៉ុលប្រតិបត្តិការtage +5 V គឺជារឿងធម្មតា ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ផ្តល់ជូនជាមួយ SV11 និង SV12 បន្ទះតភ្ជាប់ដែលមានខ្សែពីរដែលត្រូវគ្នា ដើម្បីគ្របដណ្តប់ជម្រើសទាំងពីរ។
ប្រសិនបើ jumper shorts pin 2 និង 3 នៃ header JP4 (មើលរូបភាពទី 17 ខាងលើ) ទាំង SPI interfaces SV11 និង SV12 ប្រើ output pin D10 ដូចគ្នានៃ microcontroller ជាបន្ទាត់ SS (Slave Select) ដូចរូបភាពទី 16 និងរូបភាពទី 17 បង្ហាញ! ដូច្នេះមានតែឧបករណ៍ភ្ជាប់មួយក្នុងចំណោមឧបករណ៍ភ្ជាប់ទាំងពីរ SV11 ឬ SV12 ប៉ុណ្ណោះដែលអាចភ្ជាប់ទៅម៉ូឌុល SPI ក្នុងពេលតែមួយ ពីព្រោះការប្រើប្រាស់ដំណាលគ្នានៃខ្សែ SS ដូចគ្នាសម្រាប់ឧបករណ៍ផ្សេងៗគ្នានឹងនាំឱ្យមានកំហុសក្នុងការបញ្ជូន និងសៀគ្វីខ្លីនៅលើខ្សែ SPI! ផ្នែកទី 4.12.3 បង្ហាញពីលទ្ធភាពពីរបៀបដែល SPI Slave ពីរអាចត្រូវបានភ្ជាប់ទៅ SV11 និង SV12 ក្នុងពេលតែមួយ។
4.12.1 ចំណុចប្រទាក់ SV11 សម្រាប់ម៉ូឌុល SPI ជាមួយនឹងវ៉ុលប្រតិបត្តិការ +3.3 Vtage
ឧបករណ៍ភ្ជាប់ SV11 (ព្រួញ (13) ក្នុងរូបភាពទី 1) អនុញ្ញាតឱ្យអ្នកប្រើប្រាស់បង្កើតការតភ្ជាប់ SPI សៀរៀល (SPI = Serial Peripheral Interface) រវាងក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB និងម៉ូឌុល SPI ខាងក្រៅដែលមានវ៉ុលប្រតិបត្តិការ +3.3 Vtage ដោយសារតែកម្រិតនៃទិន្នផល SPI សញ្ញា SS, MOSI និង SCLK នៅចំណុចប្រទាក់ SV11 ត្រូវបានកាត់បន្ថយមកត្រឹម 3.3 V ដោយវ៉ុលtage ការបែងចែក។ កម្រិត 3.3 V នៅលើបន្ទាត់បញ្ចូល SPI MISO ត្រូវបានទទួលស្គាល់ថាជាសញ្ញា HIGH ដោយ AVR microcontroller ATmega328P ដូច្នេះហើយមិនចាំបាច់ដំឡើងដល់កម្រិត 5 V ទេ។ ខ្សែភ្លើងរបស់ SV11 ត្រូវបានបង្ហាញក្នុងរូបភាពទី 16 ។
4.12.2 ចំណុចប្រទាក់ SV12 សម្រាប់ម៉ូឌុល SPI ជាមួយនឹងវ៉ុលប្រតិបត្តិការ +5 Vtage
ចំណុចប្រទាក់ SV12 (ព្រួញ (12) ក្នុងរូបភាពទី 1) អនុញ្ញាតឱ្យអ្នកប្រើបង្កើតការតភ្ជាប់ SPI សៀរៀលរវាងក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB និងទាសករ SPI ខាងក្រៅដែលមានវ៉ុលប្រតិបត្តិការ +5 Vtage ដោយសារតែសញ្ញា SS, MOSI, MISO និង SCLK នៃចំណុចប្រទាក់ SV12 ដំណើរការជាមួយនឹងកម្រិតសញ្ញា 5 V ។
ខ្សែភ្លើងរបស់ SV12 ត្រូវបានបង្ហាញក្នុងរូបភាពទី 17 ។
រូបភាពទី 17៖ ការចាត់តាំង pin នៃ SPI connector SV12
ការរៀបចំម្ជុលនៅលើបឋមកថាម្ជុល SV12 ត្រូវគ្នាទៅនឹងការកំណត់ម្ជុលដែលបានណែនាំនៃចំណុចប្រទាក់សរសេរកម្មវិធី AVR របស់ក្រុមហ៊ុនផលិត AVR Microchip ដែលត្រូវបានបង្ហាញក្នុងរូបភាពទី 18 ។ វាផ្តល់ឱ្យអ្នកប្រើប្រាស់នូវលទ្ធភាពក្នុងការរៀបចំកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធឡើងវិញនៃ ATmega328P ជាមួយនឹងឧបករណ៍សរសេរកម្មវិធីសមរម្យតាមរយៈ ចំណុចប្រទាក់ SPI ឧទាហរណ៍ ប្រសិនបើវាត្រូវការអាប់ដេតទៅកំណែថ្មី ឬត្រូវបានលុបដោយកំហុស។
រូបភាពទី 18៖ ការកំណត់ម្ជុលដែលបានណែនាំនៃចំណុចប្រទាក់កម្មវិធី AVR
ការជ្រើសរើសសញ្ញា X នៅ pin 5 នៃ SV12
អាស្រ័យលើកម្មវិធីដែលចង់បាន ការតភ្ជាប់ X នៅ pin 5 នៃ SV12 (រូបភាព 17) អាចត្រូវបានផ្តល់ដោយសញ្ញាផ្សេងៗគ្នា៖
- jumper ភ្ជាប់ pin 2 និង 3 នៃ pin header JP4 ។
ប្រសិនបើម្ជុលទី 2 និងទី 3 នៃបឋមកថា pin JP4 (សូមមើលរូបភាពទី 17 ខាងលើ និងព្រួញ (11) ក្នុងរូបភាពទី 1) ត្រូវបានកាត់ដោយ jumper នោះ GPIO D10 (signal SS) នៃ microcontroller ត្រូវបានភ្ជាប់ទៅ pin 5 នៃ connector SV12។ SV12 ត្រូវបានប្រើបន្ទាប់មកជាចំណុចប្រទាក់ SPI ធម្មតាជាមួយ SS (Slave Select) GPIO D10 ។
ក្នុងករណីនេះ ចំណុចប្រទាក់ SPI ទាំងពីរ SV11 និង SV12 ប្រើបន្ទាត់ SS ដូចគ្នា D10! ដូច្នេះមានតែបន្ទះតភ្ជាប់មួយក្នុងចំណោមបន្ទះតភ្ជាប់ទាំងពីរ SV11 ឬ SV12 ប៉ុណ្ណោះដែលអាចត្រូវបានភ្ជាប់ទៅម៉ូឌុល SPI ពីព្រោះការប្រើប្រាស់ទូទៅក្នុងពេលដំណាលគ្នានៃខ្សែ SS ដូចគ្នាដោយឧបករណ៍ផ្សេងៗគ្នានឹងនាំឱ្យមានកំហុសក្នុងការបញ្ជូន និងសៀគ្វីខ្លីនៅលើខ្សែ SPI! - jumper ភ្ជាប់ pin 1 និង 2 នៃ pin header JP4 ។ ក្នុងករណីនេះ បន្ទាត់ RESET នៃ microcontroller ត្រូវបានភ្ជាប់ទៅ pin 5 នៃ pin header SV12 ។ នៅក្នុងរបៀបនេះ SV12 ដើរតួជាចំណុចប្រទាក់សរសេរកម្មវិធីសម្រាប់ microcontroller ATmega328P ពីព្រោះសម្រាប់ដំណើរការសរសេរកម្មវិធី បន្ទាត់ RESET នៃ ATmega328P ត្រូវតែភ្ជាប់ទៅ pin X (pin 5) នៃ pin header SV12 ។ នៅក្នុងរបៀបនេះ ATmega328P គឺជាទាសករ SPI ហើយអ្នកសរសេរកម្មវិធីខាងក្រៅគឺជាមេ។
4.12.3 ការតភ្ជាប់ដំណាលគ្នានៃម៉ូឌុល SPI ទៅ SV11 និង SV12
ប្រសិនបើមានតម្រូវការភ្ជាប់ម៉ូឌុល 3.3 V និងម៉ូឌុល 5 V ទៅក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ក្នុងពេលតែមួយ នេះអាចដឹងបានជាមួយនឹងខ្សែភ្លើងដែលបង្ហាញក្នុងរូបភាពទី 19 ។ ម្ជុលលេខ 1 និងទី 3 នៃបឋមកថាម្ជុល JP4 មិនត្រូវបានភ្ជាប់។ ម្ជុល 2 នៃ JP4 ត្រូវបានភ្ជាប់ទៅមួយនៃ GPIOs ឌីជីថល D2 … D9 នៅលើបឋមកថាម្ជុល SV5 (ព្រួញ (3) ក្នុងរូបភាពទី 1) តាមរយៈខ្សែ Dupont ដូចដែលបានបង្ហាញក្នុងរូបភាពទី 19 ។ លទ្ធផលនៃ microcontroller ATmega328P នេះបន្ទាប់មកបំពេញភារកិច្ចរបស់ សញ្ញា SS បន្ថែមនៅឧបករណ៍ភ្ជាប់ X (pin 5) នៃក្បាលម្ជុល SV12 ។ រូបភាពទី 19 បង្ហាញពីនីតិវិធីដោយប្រើឧample នៃ D9 ជាឧបករណ៍ភ្ជាប់បន្ថែម SS2 ។
រូបភាពទី 19៖ ការតភ្ជាប់ដំណាលគ្នានៃម៉ូឌុល SPI ពីរទៅក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ក្នុងករណីនេះ ចំណុចប្រទាក់ SPI ទាំងពីរ SV11 និង SV12 អាចត្រូវបានតភ្ជាប់ទៅ SPI ខាងក្រៅក្នុងពេលតែមួយ ពីព្រោះទាំង SV11 និង SV12 ប្រើបន្ទាត់ SS ផ្សេងគ្នាឥឡូវនេះ៖ កម្រិតទាបនៅ GPIO D10 ធ្វើឱ្យម៉ូឌុល SPI សកម្មនៅ SV11 ហើយកម្រិតទាបនៅ GPIO D9 ធ្វើឱ្យម៉ូឌុល SPI សកម្មនៅ SV12 (សូមមើលរូបភាពទី 19) ។
microcontroller នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB អាចផ្លាស់ប្តូរទិន្នន័យជាមួយម៉ូឌុលមួយដែលបានតភ្ជាប់ទៅឡានក្រុងតាមរយៈ SV11 ឬ SV12 ក្នុងពេលតែមួយ។ ដូចដែលអ្នកអាចឃើញនៅក្នុងរូបភាពទី 19 បន្ទាត់ MISO នៃចំណុចប្រទាក់ទាំងពីរ SV11 និង SV12 ត្រូវបានភ្ជាប់ជាមួយគ្នា។ ប្រសិនបើចំណុចប្រទាក់ទាំងពីរនឹងត្រូវបានធ្វើឱ្យសកម្មក្នុងពេលតែមួយដោយកម្រិតទាបនៅឧបករណ៍ភ្ជាប់ SS របស់ពួកគេ ហើយនឹងផ្ទេរទិន្នន័យទៅ microcontroller នោះ កំហុសនៃការបញ្ជូន និងសៀគ្វីខ្លីនៅលើបន្ទាត់ SPI នឹងជាលទ្ធផល!
4.13 ក្បាលម្ជុល SV8, SV9 និង SV10 សម្រាប់ចំណុចប្រទាក់ TWI (=I2C)
តាមរយៈបឋមកថាម្ជុល SV8, SV9 និង SV10 (ព្រួញ (15), (16) និង (14) ក្នុងរូបភាពទី 1) អ្នកប្រើប្រាស់អាចបង្កើតសៀរៀល I
C = Inter-Integrated Circuit) នៃ microcontroller នៅលើក្តារហ្វឹកហាត់ជាមួយនឹងការតភ្ជាប់ខាងក្រៅ I2 C (ម៉ូឌុល I2C ។ នៅក្នុងសន្លឹកទិន្នន័យរបស់ AVR microcontroller ATmega328P ចំណុចប្រទាក់ I2C ត្រូវបានគេហៅថា TWI (Two Wire Interface) ខ្សែនៃតំណភ្ជាប់ទាំងបី។ ត្រូវបានបង្ហាញក្នុងរូបភាពទី 20 ។
រូបភាពទី 20៖ ចំណុចប្រទាក់ TWI (=I2C)-Interface នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB
ម៉ូឌុល C ដែលមានវ៉ុលប្រតិបត្តិការ +3.3 Vtage ត្រូវបានភ្ជាប់ទៅ SV8 ឬ SV9 ។ ការលៃតម្រូវកម្រិត stage នៅលើ SV8 និង SV9 កាត់បន្ថយកម្រិតសញ្ញា 5 V នៃ AVR microcontroller ATmega328P ទៅកម្រិតសញ្ញា 3.3 V នៃម៉ូឌុលខាងក្រៅ។ I At SV10 ម៉ូឌុល I 2 C ទាំងនោះត្រូវបានភ្ជាប់ ដែលដំណើរការជាមួយវ៉ុលប្រតិបត្តិការtage +5 V. I 2 C ចំណុចប្រទាក់មានតែពីរបន្ទាត់ពីរ SDA (Serial DAta) និង SCL (Serial CLock)។ សម្រាប់ភាពខុសគ្នាកាន់តែប្រសើរឡើងនៅក្នុងរូបភាពទី 20 បន្ទាត់ SDA និង SCL ត្រូវបានសម្គាល់ដោយបច្ច័យ 5V មុនពេលការលៃតម្រូវកម្រិត stage និងជាមួយបច្ច័យ 3V3 បន្ទាប់ពីការលៃតម្រូវកម្រិត stagអ៊ី AVR microcontroller ATmega328P មានផ្នែករឹង TWI (Two Wire Interface ដែលមានមុខងារដូចគ្នាបេះបិទទៅនឹង I 2 C interface) នៅលើបន្ទះឈីបរបស់វា ដែលសញ្ញា SDA និង SCL អាចភ្ជាប់នៅខាងក្នុងបន្ទះឈីប microcontroller ទៅ GPIOs A4 និង A5 នៅលើ pin header SV6 ( ព្រួញ (7) ក្នុងរូបភាពទី 1) ។
នៅក្នុង Arduino IDE បណ្ណាល័យខ្សែមានសម្រាប់ការគ្រប់គ្រងម៉ូឌុល I 2 C ដែលត្រូវបានដាក់បញ្ចូលទៅក្នុងកម្មវិធីអ្នកប្រើប្រាស់ជាមួយ #include . ២
ការណែនាំសម្រាប់ការប្រើប្រាស់ឧបករណ៍បំប្លែងអាណាឡូក/ឌីជីថលរបស់ ATmega328P
នៅក្នុងការកំណត់លំនាំដើមបន្ទាប់ពីបើកវ៉ុលប្រតិបត្តិការtage នៃម៉ូឌុល microcontroller Arduino NANO ដែលជា analog/digital converter (ADC) នៃ microcontroller មាន analog voltage ជួរ VADC = 0 … +5 V. ក្នុងករណីនេះ វ៉ុលប្រតិបត្តិការ +5 Vtage Vcc នៃម៉ូឌុល microcontroller ក៏ជាលេខយោងផងដែរ។tage VREF នៃ ADC បានផ្តល់ថាស្ថានីយ REF នៃឧបករណ៍ភ្ជាប់ SV6 (ព្រួញ (7) ក្នុងរូបភាពទី 1) មិនត្រូវបានភ្ជាប់។ ADC នៃ ATmega328P បំប្លែងវ៉ុលបញ្ចូលអាណាឡូកtage VADC នៅមួយនៃធាតុបញ្ចូលរបស់វា A0 … A7 ទៅក្នុងតម្លៃឌីជីថល 10 ប៊ីត Z ។ តម្លៃលេខ Z គឺនៅក្នុង resp គោលពីរ។ ជួរលេខគោលដប់ប្រាំមួយ ®
Z = 00 0000 00002 … 11 1111 11112 = 000 … 3FF16 ។
នេះត្រូវនឹងជួរលេខទសភាគ
Z = 0 … (2– 1) = 0….
102310 |
1024 |
ជួរដែលអនុញ្ញាតនៃវ៉ុលបញ្ចូលអាណាឡូកtage គឺ VADC = 0 V … 10 1023 REFV⋅
ភាពត្រឹមត្រូវនៃការបំប្លែងអាណាឡូក/ឌីជីថល ពឹងផ្អែកជាចម្បងទៅលើគុណភាពនៃលេខយោងtage VREF ពីព្រោះសម្រាប់តម្លៃលេខ 10 ប៊ីត Z ដែលបង្កើតដោយឧបករណ៍បំប្លែងអាណាឡូក/ឌីជីថលនៃមីក្រូកុងទ័រត្រូវបានអនុវត្ត៖
Z =.1024 (សមីការ 1)
VADC គឺជាវ៉ុលបញ្ចូលtage នៃកម្មវិធីបំប្លែងអាណាឡូក/ឌីជីថលនៅឯធាតុបញ្ចូលរបស់វា A0 … A7 និង VREF គឺជាវ៉ុលយោងtage កំណត់សម្រាប់កម្មវិធីបម្លែង។ ឯកសារយោង voltage អាចត្រូវបានវាស់ជាមួយ voltmeter ខ្ពស់ impedance រវាងស្ថានីយ REF នៃ SV6 និងដីសៀគ្វី GND ។ លទ្ធផលនៃការបំប្លែងអាណាឡូក/ឌីជីថលគឺជាតម្លៃចំនួនគត់ ពោលគឺ ខ្ទង់ទសភាគណាមួយដែលកើតចេញពីការបែងចែកវ៉ុលទាំងពីរ។tages VADC និង VREF ត្រូវបានកាត់ផ្តាច់។ វ៉ុលប្រតិបត្តិការ +5 Vtage ត្រូវបានបញ្ចូលដោយកុំព្យូទ័រតាមរយៈខ្សែ USB ត្រូវបានបង្កើតដោយការប្តូរការផ្គត់ផ្គង់ថាមពលរបស់កុំព្យូទ័រ។ ទោះយ៉ាងណាក៏ដោយ វ៉ុលលទ្ធផលtage នៃការផ្គត់ផ្គង់ថាមពលប្តូរជាធម្មតាមានវ៉ុល AC ដែលមិនធ្វេសប្រហែសtagសមាសភាគ e ដាក់លើវា ដែលកាត់បន្ថយភាពត្រឹមត្រូវនៃការបំប្លែងអាណាឡូក/ឌីជីថល។ លទ្ធផលកាន់តែប្រសើរអាចសម្រេចបានដោយប្រើវ៉ុលជំនួយ +3.3 Vtage ស្ថេរភាពដោយលីនេអ៊ែរវ៉ុលtage និយតករនៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ជាឯកសារយោងtage សម្រាប់កម្មវិធីបម្លែងអាណាឡូក/ឌីជីថល។ ចំពោះគោលបំណងនេះ ឧបករណ៍បំប្លែងអាណាឡូក/ឌីជីថលនៃ ATmega328P ត្រូវបានចាប់ផ្តើមនៅក្នុងកម្មវិធីជាមួយនឹងការណែនាំ analogReference(ខាងក្រៅ); // កំណត់វ៉ុលtage នៅ pin REF ជាឯកសារយោង voltage យោងតាមឯកសារយោងដែលបានផ្លាស់ប្តូរtage និង pin REF នៃ pin header SV6 (arrow (7) ក្នុងរូបភាពទី 1) ត្រូវបានភ្ជាប់ទៅ +3.3 V pin 3V3 ដែលនៅជាប់គ្នានៅលើ pin header SV6 តាមរយៈខ្សែ Dupont ឬ jumper ។
សូមចំណាំថាអាណាឡូកវ៉ុលtage VADC នៅឯកសារយោងលេខtage VREF = 3.3 V នៅតែត្រូវបានបំប្លែងទៅជាតម្លៃឌីជីថល 10 ប៊ីតក្នុងជួរ 0 … 102310 ប៉ុន្តែជួរវាស់នៃឧបករណ៍បំប្លែងអាណាឡូក/ឌីជីថលត្រូវបានកាត់បន្ថយទៅជួរ VADC = 0 … +3.297 V ។
ជាការតបស្នង ការសម្រេចបាននូវលទ្ធផលការបំប្លែងកាន់តែប្រសើរឡើង ពីព្រោះ LSB (តម្លៃដែលអាចដោះស្រាយបានតិចតួចបំផុត) ឥឡូវនេះមានត្រឹមតែ 3.2 mV ប៉ុណ្ណោះ។
វ៉ុលបញ្ចូលtage VADC របស់ឧបករណ៍បំប្លែងអាណាឡូក/ឌីជីថលនៅការបញ្ចូលអាណាឡូករបស់វា A0 … A7 នៅលើក្បាលម្ជុល SV6 ត្រូវតែតូចជាងតម្លៃ VREF នៅស្ថានីយ REF នៃ SV6 ជានិច្ច!
អ្នកប្រើប្រាស់ត្រូវតែធានាថា VADC < VREF!
សម្រាប់ “ភាពត្រឹមត្រូវនៃការបំប្លែង A/D” សូមមើលកំណត់ចំណាំនៅទំព័រ 11 ផងដែរ។
បណ្ណាល័យ “MCCAB_Lib” សម្រាប់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB
ដើម្បីគាំទ្រអ្នកប្រើប្រាស់ក្នុងការគ្រប់គ្រងសមាសធាតុផ្នែករឹងជាច្រើន (កុងតាក់ ប៊ូតុង LEDs ម៉ាទ្រីស 3×3 LED buzzer) នៅលើក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB បណ្ណាល័យ “MCCAB_Lib” អាចរកបាន ដែលអាចទាញយកដោយឥតគិតថ្លៃពីគេហទំព័រអ៊ីនធឺណិត។ www.elektor.com/20440 ដោយអ្នកទិញក្តារបណ្តុះបណ្តាល។
អក្សរសិល្ប៍បន្ថែមលើការប្រើប្រាស់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB
នៅក្នុងសៀវភៅ “Microcontrollers Hands-On Course for Arduino Starters” (ISBN 978-3-89576-5452) អ្នកនឹងមិនត្រឹមតែរកឃើញសេចក្តីណែនាំលម្អិតអំពីការសរសេរកម្មវិធីរបស់ microcontrollers និងភាសាសរសេរកម្មវិធី C ដែលត្រូវបានប្រើនៅក្នុង Arduino IDE នោះទេ។ សម្រាប់ការសរសេរកម្មវិធី ប៉ុន្តែក៏មានការពិពណ៌នាលម្អិតអំពីវិធីសាស្រ្តនៃបណ្ណាល័យ “MCCAB_Lib” និងកម្មវិធីផ្សេងៗជាច្រើន ឧ.amples និងកម្មវិធីលំហាត់សម្រាប់ការប្រើប្រាស់ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB ។
ឯកសារ/ធនធាន
![]() |
អ្នកជ្រើសរើសក្រុមប្រឹក្សាបណ្តុះបណ្តាល Arduino NANO MCCAB [pdf] សៀវភៅណែនាំ ក្រុមប្រឹក្សាបណ្តុះបណ្តាល Arduino NANO MCCAB, Arduino, NANO Training Board MCCAB, ក្រុមប្រឹក្សាបណ្តុះបណ្តាល MCCAB, ក្រុមប្រឹក្សាភិបាល MCCAB |