Wednesday, December 21, 2022

[Video] រៀនប្រើជើង AREF នៅលើ Arduino

ជើង 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()