Un ពហុគុណ គឺជាសៀគ្វីរួមបញ្ចូលគ្នាដែលមានធាតុបញ្ចូលជាច្រើននិងលទ្ធផលទិន្នន័យតែមួយ។ ជាមួយនេះវាអាចជ្រើសរើសការឆ្លងកាត់ច្រកចូលតែមួយរបស់វាដើម្បីបញ្ជូនវាទៅច្រកចេញរបស់វា។ នោះគឺអ្នកអាចជ្រើសរើសការបញ្ចូលមួយណាដើម្បីយកទិន្នន័យឬប៊ីតដែលកំពុងបញ្ចូលហើយមិនអើពើនឹងធាតុបញ្ចូលផ្សេងទៀត។ នេះជារឿងធម្មតាណាស់នៅក្នុងអេឡិចត្រូនិចនៅពេលដែលការតភ្ជាប់ជាច្រើនត្រូវការចែករំលែកខ្សែឬឡានក្រុងតែមួយ។
នោះគឺដោយការគ្រប់គ្រងមេគុណដែលអ្នកអាចធ្វើបាន ជ្រើសរើសធាតុបញ្ចូលដែលសមរម្យគ្រប់ពេល។ អ្វីដែលធ្វើឱ្យមានលទ្ធភាពថាទោះបីជាមានការតភ្ជាប់តែមួយក៏ដោយអ្នកអាចធ្វើការជាមួយឧបករណ៍បញ្ចូលជាច្រើនក្នុងពេលតែមួយដោយមិនចាំបាច់រំខានដល់គ្នាទៅវិញទៅមក។ ដូចគ្នានេះផងដែរអ្នកគួរតែដឹងថាដេប៉ូឌីស៊ែលជាទូទៅត្រូវបានគេប្រើរួមគ្នាជាមួយមេគុណនៅក្នុងគម្រោងជាច្រើន ...
លិបិក្រម
តើអ្វីទៅជាពហុគុណ?
សេវាកម្មរួមបញ្ចូលគ្នាទាំងនេះហៅថា ឧបករណ៍បំលែងច្រើន ពួកវាមិនស្មុគស្មាញទេ។ ពួកវាត្រូវបានផ្សំដោយច្រកទ្វារតក្កវិជ្ជាមួយចំនួនអាស្រ័យលើចំនួនទឹកប្រាក់នៃការបញ្ចូលទិន្នន័យនិងការត្រួតពិនិត្យអាចបង្កើនភាពស្មុគស្មាញ។ ជាធម្មតាពួកគេរួមបញ្ចូល 2n ធាតុចូលនិងលទ្ធផលតែមួយក៏ដូចជាបណ្តាញបញ្ជា។ ហើយភាគច្រើននៃពួកគេអាចត្រូវបានប្រើនៅក្នុងការរួមបញ្ចូលគ្នាដើម្បីបង្កើនចំនួនសំបុត្រដែលមាន។
វាអាចត្រូវបានគេយល់ថាជា អ្នកជ្រើសរើស។ ជាឧទាហរណ៍សូមស្រមៃគិតថាអ្នកមានរបស់មួយដ៏សាមញ្ញដែលមានធាតុចូលពីរគឺសាមញ្ញបំផុតដែលអាចត្រូវបានសាងសង់។ សៀគ្វីនោះនឹងមានការបញ្ចូលនិងទិន្នផលតែមួយ។ ប្រសិនបើធាតុបញ្ចូលគឺ A និង B ដែលមានធាតុបញ្ចូលបញ្ជាអ្នកអាចគ្រប់គ្រងបានប្រសិនបើវាជាអ្នកដែលបញ្ជូនតម្លៃរបស់វាទៅទិន្នផល S ឬប្រសិនបើវាជា B ដែលធ្វើវា។ ដើម្បីធ្វើដូចនេះអ្នកត្រូវផ្លាស់ប្តូរតម្លៃនៃខ្សែបញ្ជា C. ឧទាហរណ៍ប្រសិនបើ C = 0 វានឹងជា A ហើយប្រសិនបើ C = 1 វានឹងជាខ។
ដូចដែលអ្នកនឹងយល់ប្រសិនបើមានធាតុចូលកាន់តែច្រើននឹងត្រូវការ ត្រួតពិនិត្យធាតុចូល សម្រាប់ការជ្រើសរើស។ តាមពិតមេគុណគឺជាប្រភេទឌិកូឌ័រពិសេសមួយដែលមានសញ្ញាបើកដំណើរការសម្រាប់ច្រកនីមួយៗដែលមានបញ្ចូលនិងច្រកទ្វារ OR រវាងទិន្នផលនិងច្រកទ្វារ AND ។ វិធីនោះវាអាចត្រូវបានជ្រើសរើសយ៉ាងងាយស្រួល។
សម្រាប់កម្មវិធីរបស់វាអ្នកអាចប្រើវាបាន សម្រាប់រឿងជាច្រើន:
- ឧបករណ៍ជ្រើសរើសបញ្ចូលដើម្បីចែករំលែកឡានក្រុងឬខ្សែតែមួយនៅពេលអ្នកមានធាតុចូលច្រើន។
- សៀរៀលដូច្នេះវាត្រូវយកតម្លៃនៃធាតុចូលនីមួយៗតាមលំដាប់លំដោយ។
- សម្រាប់ការបញ្ជូនពហុមេគុណដោយប្រើបណ្តាញតភ្ជាប់ដូចគ្នាសម្រាប់ទិន្នន័យផ្សេងៗពីឧបករណ៍ផ្សេងៗគ្នា។ ឧទាហរណ៍ស្រមៃថាអ្នកចង់ប្រើលេខកូដទិន្នន័យដូចគ្នានៃឧបករណ៍ត្រួតពិនិត្យ microcontroller ដើម្បីភ្ជាប់លទ្ធផលនៃឧបករណ៍ជាច្រើនប៉ុន្តែវាអាចផ្ញើព័ត៌មានតែមួយប៉ុណ្ណោះក្នុងពេលតែមួយ ...
- អនុវត្តមុខងារឡូជីខល។ ល។
ប្រភេទពហុមុខងារ
អាស្រ័យលើវិធីដែលការបញ្ជូនត្រូវបានបែងចែកមាន ប្រភេទផ្សេងៗគ្នា មេគុណឬប៊្លុយតូយៈ
- ដោយការបែងចែកប្រេកង់
- តាមការបែងចែកពេលវេលា
- តាមការបែងចែកលេខកូដ
- ដោយការបែងចែក រលកពន្លឺ
ដូចដែលអ្នកអាចស្រមៃពួកគេត្រូវបានគ្រប់គ្រងដោយប្រេកង់តាមពេលវេលាដោយនាឡិកាលេខកូដគោលពីរនិងដោយរលក។ ប៉ុន្តែនៅទីនេះខ្ញុំចាប់អារម្មណ៍តែរឿងធម្មតាទេ ...
បន្ថែមពីលើប្រភេទដូចគ្នានឹងដេប៉ាតឺម៉ីតអ្នកអាចរកវាជាមួយ ឆានែលច្រើនឬតិច ២, ៤, ៨, ១៦, លអាស្រ័យលើអ្វីដែលអ្នកត្រូវការសម្រាប់គំរោង DIY របស់អ្នក។
ភាពខុសគ្នាជាមួយឌីស្កូលីប
នៅក្នុងអេឡិចត្រូនិចឌីជីថលមាន demultiplexerដែលជាសៀគ្វីផ្សំគ្នាដែលជាអ្នកប្រឆាំងនឹងមេគុណ។ ក្នុងករណីនេះមានតែព័ត៌មានបញ្ចូលតែមួយប៉ុណ្ណោះប៉ុន្តែវាអាចត្រូវបានបញ្ជូនតាមរយៈលទ្ធផលផ្សេងៗរបស់វា។ និយាយម្យ៉ាងទៀតក្នុងករណីនេះវានឹងត្រូវបានសំរេចដោយមធ្យោបាយនៃសញ្ញាបញ្ជាដែលទិន្នផលទិន្នន័យបញ្ចូលត្រូវបានផ្ទេរ។
Si អ្នកភ្ជាប់ដេប៉ាតឺឡេនឌឺទៅនឹងលទ្ធផលនៃមេគុណអ្នកអាចមានប្រព័ន្ធមានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ការរៀនពីរបៀបដែលឧបករណ៍ទាំងពីរដំណើរការ។
ទិញនៅកន្លែងណា?
ឧបករណ៍ទាំងនេះត្រូវបានអនុវត្តជាធម្មតានៅក្នុង ជ្រលក់ឈីប សាមញ្ញណាស់។ អ្នកអាចរកឃើញវានៅក្នុងម៉ាកផ្សេងៗគ្នានិងមានធាតុចូលឬលទ្ធផលមួយចំនួនក្នុងករណីដែលត្រូវបានគេធ្វើឱ្យថោកទាប។ លើសពីនេះទៀតពួកគេត្រូវបានរកឃើញយ៉ាងងាយស្រួលនៅក្នុងប្រព័ន្ធផ្សព្វផ្សាយឯកទេសផ្សេងៗឬហាងលក់តាមអ៊ីនធឺណិត។ ប្រសិនបើអ្នកចាប់អារម្មណ៍ទិញវាក្នុងតម្លៃដ៏ល្អទាំងនេះអាចជាគំរូល្អដើម្បីចាប់ផ្តើមជាមួយគម្រោងរបស់អ្នក៖
- ពហុមេឌាអាយធី ៨ ឆានែល
- perel ពហុមេឌា ៨ ឆានែល
- រកមិនឃើញផលិតផល។
- CD74HC4067 ១៦- ឆានែលពហុមេឌា / ដេអ៊ីលបឺលីប
ខ្ញុំណែនាំអ្នកឱ្យអាន សំណុំទិន្នន័យ ពីក្រុមហ៊ុនផលិតរបស់ពួកគេដើម្បីទទួលបានគំនិតច្បាស់លាស់ពីពួកគេ ខ្ទាស់ចេញដូចដែលពួកគេអាចខុសគ្នាអាស្រ័យលើក្រុមហ៊ុនផលិតឬប្រភេទដែលអ្នកបានទិញ។
ស៊ីឌី ៧៤hc ៤០៦៧
លើសពីនេះទៀតដូចដែលអ្នកអាចឃើញមានម៉ូឌុលល្អ ៗ ជាច្រើនដែលអនុញ្ញាតឱ្យអ្នកមានឧបករណ៍ទាំងពីរនៅក្នុងមួយ។ វាជាករណីរបស់ ស្គាល់ CD74HC4067ដែលជាម៉ូឌុលតូចមួយដែលមានបច្ចេកវិទ្យា TTL ដែលអាចជួយអ្នកធ្វើការជាមួយបដាចំនួន ១៦ របស់វាតាមរបៀបជំរុញទឹកចិត្តដោយមាន MUX / DEMUX ។ នោះគឺអ្នកអាចប្រើវាជាប្រភេទនៃកុងតាក់ឆ្លាត។
ដូច្នេះ Arduino របស់អ្នកអាចអាននិងសរសេររហូតដល់ ១ឧបករណ៍ ៥ ផ្សេងៗគ្នា ដោយប្រើតែ ៥ ម្ជុលមាន ៤ របស់វាប្រើសម្រាប់បញ្ជានិងបន្ថែមមួយទៀតដើម្បីប្រមូលសញ្ញាដែលចង់អានឬសរសេរយោងតាមប៉ុស្តិ៍ដែលបានជ្រើសរើស។
រឿងល្អអំពីបន្ទះឈីបនេះគឺថា ធ្វើការទាំងសញ្ញាឌីជីថលនិងអាណាឡូកដូច្នេះវាឆបគ្នាជាមួយឧបករណ៍ចាប់សញ្ញាជាច្រើនដែលដំណើរការលើអាណាឡូកនិងបន្ទះសៀគ្វីឌីជីថលផ្សេងៗក៏ដូចជាធាតុអេឡិចត្រូនិចជាច្រើន។ វាផ្តល់នូវភាពបត់បែនដ៏អស្ចារ្យ។ នោះហើយជាមូលហេតុដែលពួកគេត្រូវបានគេស្គាល់ថាជាអ្នកពង្រីក I / O ឬពង្រីកនិងបញ្ចូលនិងបង្កើតលទ្ធផល ...
អ្នកក៏អាចប្រើវាបានដែរ ការទំនាក់ទំនងតាមរយៈច្រកសៀរៀល, ឡានក្រុង I2C ឬ SPI ដែលយើងបាននិយាយរួចហើយនៅក្នុងឱកាសផ្សេងទៀត។
ជាការពិតមុនពេលធ្វើការជាមួយគាត់អ្នកត្រូវប្រាកដថារឿងនោះ ជួបវ៉ុលនិងចរន្ត ដែលទទួលស្គាល់សៀគ្វីនេះដើម្បីកុំអោយវាខូច។ ឧទាហរណ៍ក្នុងករណីនេះវាអាចផ្តល់ថាមពលរហូតដល់ 20 mA ក៏ដូចជាវ៉ុលពី 2 ទៅ 6 វ៉។ ទោះយ៉ាងណាក៏ដោយប្រសិនបើអ្នកចង់ធ្វើការជាមួយចរន្តខ្ពស់ អ្នកអាចប្រើការបញ្ជូនតមួយ ឬតាមរយៈត្រង់ស៊ីស្ទ័រ។
ការរួមបញ្ចូលជាមួយ Arduino
សំណុំបែបបទនៃការមួយ មានធាតុចូលច្រើននៅលើក្តារអារុណីណូរបស់អ្នកឬលទ្ធផលជាច្រើនទៀតគឺត្រូវប្រើមេគុណឌីជីថលនិងឌុយហ្សីពែរទាំងនេះ។ ជាមួយពួកគេអ្នកនឹងជៀសវាងការទិញក្តារដែលមានតម្លៃខ្ពស់ដែលមានម្ជុលច្រើនឬត្រូវប្រើល្បិចផ្សេងទៀតដើម្បីភ្ជាប់អ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវការ។
ឧទាហរណ៍អ្នកអាចប្រើក ម៉ូឌុល MUX និង DEMUX ដើម្បីអាចមានទាំងធាតុតែមួយហើយបន្ទាប់មកបញ្ចូលវាទៅក្នុងគម្រោងរបស់អ្នកជាមួយអារីដូណូ។ ជាមួយ CD74HC4067 អ្នកអាចភ្ជាប់វាបានយ៉ាងងាយដូច្នេះអ្នកត្រូវតែអនុវត្តតាមច្បាប់ទាំងនេះ៖
- Vcc នៃបន្ទះឈីប MUX / DEMUX អ្នកត្រូវភ្ជាប់វាទៅ Vcc នៃ Arduino ឬ 5V ។
- GND, ដី, អ្នកត្រូវតែភ្ជាប់វាទៅ GND នៃ Arduino ។
- ម្ជុលសម្គាល់ S0, S1, S2, S3 គឺជាឧបករណ៍ដែលគ្រប់គ្រងប៉ុស្តិ៍សកម្មដោយមាន Arduino ឌីជីថល I / O ចំនួនបួនដូចជា D8, D9, D10 និង D11 ។
- អេន។ អេ។ ឌី។ អេក៏អាចប្រើបានដែរដូច្នេះវាធ្វើការជាមេគុណអ្នកអាចភ្ជាប់វាទៅហ្គ្រេនឌីនៃអារីដូណូ។
- ហើយ SIG គឺជាសញ្ញាលទ្ធផលដែលនឹងកំណត់ឆានែលដែលបានជ្រើសរើស។ វាអាចភ្ជាប់ទៅនឹងអារីដូណូឬឧបករណ៍ណាមួយដែលត្រូវការអានលទ្ធផល។ ក្នុងករណីនេះខ្ញុំបានភ្ជាប់វាទៅ A0 ដើម្បីទទួលបានតម្លៃពី Arduino ខ្លួនឯង។
- នៅចុងម្ខាងទៀតនៃម៉ូឌុលអ្នកនឹងមានធាតុចូលក្នុងករណីនេះដែលជា C0-C10 ដែលអ្នកអាចភ្ជាប់ទៅឧបករណ៍របស់អ្នក។
នៅពេលភ្ជាប់រួចកូដ Arduino អាចមានលក្ខណៈសាមញ្ញ។ នេះ គំនូរព្រាង Arduino អាយ។ អេ។ អេ វាអាចដូចខាងក្រោម (កូដនេះនឹងបិទនិងបើកឆានែលរបស់ពួកវារៀងៗខ្លួនប៉ុន្តែអ្នកអាចកែប្រែវាដើម្បីធ្វើឱ្យគម្រោងដែលអ្នកចង់បាន)៖
const int muxSIG = A0; const int muxS0 = 8; const int muxS1 = 9; const int muxS2 = 10; const int muxS3 = 11; int SetMuxChannel(byte channel) { digitalWrite(muxS0, bitRead(channel, 0)); digitalWrite(muxS1, bitRead(channel, 1)); digitalWrite(muxS2, bitRead(channel, 2)); digitalWrite(muxS3, bitRead(channel, 3)); } void setup() { pinMode(muxSIG, OUTPUT); pinMode(muxS0, OUTPUT); pinMode(muxS1, OUTPUT); pinMode(muxS2, OUTPUT); pinMode(muxS3, OUTPUT); } void loop() { for (byte i = 0; i < 16; i++) { SetMuxChannel(i); digitalWrite(muxSIG, HIGH); delay(200); digitalWrite(muxSIG, LOW); delay(200); } }
ប្រសិនបើអ្នកចង់ប្រើវាជា DEMUX អ្នកគួរតែពិចារណាថា C0-C10 នឹងជាលទ្ធផលហើយ SIG នឹងក្លាយជាធាតុបញ្ចូល។ ក្នុងករណីដែលអ្នកចង់បាន ប្រើវាជា demultiplexer មួយ, កូដនឹងផ្លាស់ប្តូរដូចនេះ:
onst int muxSIG = A0; const int muxS0 = 8; const int muxS1 = 9; const int muxS2 = 10; const int muxS3 = 11; int SetMuxChannel(byte channel) { digitalWrite(muxS0, bitRead(channel, 0)); digitalWrite(muxS1, bitRead(channel, 1)); digitalWrite(muxS2, bitRead(channel, 2)); digitalWrite(muxS3, bitRead(channel, 3)); } void setup() { Serial.begin(9600); pinMode(muxS0, OUTPUT); pinMode(muxS1, OUTPUT); pinMode(muxS2, OUTPUT); pinMode(muxS3, OUTPUT); } void loop() { for (byte i = 0; i < 16; i++) { SetMuxChannel(i); byte muxValue = analogRead(muxSIG); Serial.print(muxValue); Serial.print("\t"); } Serial.println(); delay(1000); }
ចងចាំថាអ្នកអាចទទួលបានព័ត៌មានបន្ថែមដោយមានជំនួយពីយើង វគ្គសរសេរកម្មវិធី Arduino ឥតគិតថ្លៃ.
មតិយោបល់សូមចាកចេញពីអ្នក
ជំរាបសួរ, ខ្ញុំកំពុងធ្វើគម្រោងមួយ, អ្វីដែលខ្ញុំធ្វើដើម្បីប្រើ 74hc4067 សម្រាប់ការបញ្ចូលនៃឧបករណ៍ចាប់សញ្ញាឧបសគ្គអ៊ីនហ្វ្រារ៉េដ 16, និងថាឧបករណ៍ចាប់សញ្ញាគ្នាបង្វែរខ្ញុំនៅលើទិន្នផលផ្សេងគ្នា។ ជាការប្រសើរណាស់ប្រសិនបើខ្ញុំអាចធ្វើវាជាមួយមេឌ្រីហ្គូណូប៉ុន្តែខ្ញុំត្រូវប្រើឧបករណ៍ចាប់សញ្ញាអ៊ីនហ្វ្រារ៉េដចំនួន ៥០ ហើយឧបករណ៍នីមួយៗបើកលើទិន្នផលមួយនោះគឺលទ្ធផល ៥០ ខ្ញុំកំពុងគិតពីការប្រើប្រាស់ជាច្រើន ៧៤៤០៦៧ សម្រាប់ធាតុបញ្ចូលរបស់ឧបករណ៍ចាប់សញ្ញានិង tlc50 សម្រាប់លទ្ធផល។ ប៉ុន្តែអ្វីដែលជាកូដសរសេរកូដខ្ញុំបាត់បន្តិចហើយសូមអរគុណជាមុនសម្រាប់ជំនួយរបស់អ្នក។