ជើង AREF ឫ Analog Reference គឺជាជើងដែលអាចឲ្យយើងផ្លាស់ប្តូរបត់ស្យុងធៀបសម្រាប់ការអាន Read Analog របស់ Arduino បាន។ លក្ខខ័ណ្ឌដើមរបស់ Arduino គឺ Aanalog អានបានចន្លោះ 0-1023 (10-bit analog to digital converter ឫ ADC) ប្រែប្រួលតង់ស្យុងអតិប្បរមា 5V ឫ 3.3V ទៅតាមបត។
ទីតាំងជើង AREF |
ការប្រើប្រាស់ជើង AREF គឺភ្ជាប់ជើងនោះទៅតង់ស្យុងណាមួយនោះ តង់ស្យុងអតិប្បរមានរបស់ analogRead() នឹងស្មើនឹងតង់ស្យុងដែលបានផ្តល់ឲ្យទៅជើង AREF នោះ។ ការធ្វើបែបនេះគឺងាយស្រួលដល់ការដែលចង់បានភាពសុក្រិតរបស់ការទាញយកតង់ស្យុងដែលទាបជាងលក្ខខ័ណ្ឌដើមឲ្យបានច្បាស់លាស់ជាងមុន។
ការសាកល្បងប្រើ AREF ទៅ 3.3V លើ UNO |
រូបខាងលើជាការសាកល្បងរបស់ខ្ញុំ ដោយភ្ជាប់ជើង AREF ទៅ 3.3Vហើយប្រើ analogRead() ឃើញថា នៅតង់ស្យុង 3.25V analogRead() បង្ហាញលេខ 1012 ឫស្មើនឹងលេខអតិប្បរមារបស់ ADC។ ការសាកល្បងនេះ បានប្រើកូដដូចខាងក្រោម៖
void setup() { Serial.begin(9600); analogReference(EXTERNAL); } void loop() { int a = analogRead(A0); float voltage = ((float)a/1024.0) * 3.3; Serial.print("analogRead: "); Serial.print(a); Serial.print(" Volt: "); Serial.print(voltage); Serial.println(" V"); }
ដើម្បីប្រើប្រាស់ AREF បាន នៅក្នុង Setup() បានមានកូដមួយបន្ទាត់៖
analogReference(EXTERNAL);
ដែលកូដបន្ទាត់នេះបញ្ជាក់ថាយកតង់ស្យុងធៀបរបស់ analogRead() ទៅតាមតង់ស្យុងដែលបានភ្ជាប់ទៅជើង AREF។ ពត៌លម្អិតអាចអានបាននៅ analogReference()។