การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

สัญญาณแอนะล็อกและการบันทึกค่า

ตัวอย่างสัญญาณแอนะล็อก
การบันทึกข้อมูลแบบดิจิทัล 2 ระดับ (1 บิต)
การบันทึกข้อมูลแบบดิจิทัล 1024 ระดับ (10 บิต)

การอ่านสัญญาณแอนะล็อก

ใช้ฟังก์ชันต่อไปนี้ในการอ่านสัญญาณแอนะล็อกจากขาของพอร์ท C โดยระบุหมายเลขขาเป็นพารามิเตอร์ของฟังก์ชัน

uint16_t read_adc(uint8_t channel)
{
    ADMUX = 0x40;
    ADMUX |= channel;
    ADCSRA = 0xC6;
    while ((ADCSRA & (1<<ADSC)))
        ;
    return ADCL + ADCH*256;
}

ไมโครคอนโทรลเลอร์เบอร์ ATMega168 รุ่นที่เป็นขา DIP 28 ขานั้นสามารถประมวลผลอินพุทที่เป็นสัญญาณแอนะล็อกผ่านทางขา ADC0 ถึง ADC5 (ซึ่งคือขา PC0 ถึง PC5) เท่านั้น