โค้ดตัวอย่างนี้แสดงวิธีการตั้งค่าและอ่านค่าจาก MCP3421 ADC 1CH 18bit Delta Sigma I2C interface module บน Arduino
ไลบรารี:
ก่อนอื่น คุณต้องติดตั้งไลบรารี Adafruit_MCP3421 จาก Arduino IDE Manager คุณสามารถค้นหาไลบรารีได้โดยป้อน "Adafruit_MCP3421" ในช่องค้นหาของตัวจัดการไลบรารี
การเชื่อมต่อ:
VCC: เชื่อมต่อกับ Arduino 5V
GND: เชื่อมต่อกับ Arduino GND
SCL: เชื่อมต่อกับ Arduino SCL (ขา A4)
SDA: เชื่อมต่อกับ Arduino SDA (ขา A5)
โค้ด:
#include <Adafruit_MCP3421.h>
// Create an instance of the MCP3421 object
Adafruit_MCP3421 mcp(0x1F); // Change to your I2C address if necessary
void setup() {
// Initialize the serial port
Serial.begin(9600);
// Initialize the MCP3421
if (mcp.begin()) {
Serial.println("MCP3421 connected!");
} else {
Serial.println("Failed to connect to MCP3421!");
while (1);
}
// Set the gain to 1x (gain options are 1x, 2x, 4x, and 8x)
mcp.setGain(MCP3421_GAIN_1X);
// Set the conversion rate to 240SPS (options are 240SPS, 60SPS, 15SPS, and 3.75SPS)
mcp.setConversionRate(MCP3421_CONVERSION_RATE_240);
}
void loop() {
// Read the ADC value
uint16_t value = mcp.read16();
// Convert the ADC value to voltage
float voltage = value * (2.048 / 65536.0); // 2.048V is the reference voltage, 65536 is the maximum ADC value
// Print the voltage to the serial port
Serial.print("Voltage: ");
Serial.println(voltage);
delay(1000);
}
คำอธิบายโค้ด:
โค้ดเริ่มต้นด้วยการรวมไลบรารี Adafruit_MCP3421
สร้างอินสแตนซ์ของวัตถุ MCP3421
ฟังก์ชัน setup() ใช้สำหรับตั้งค่าการเชื่อมต่อ I2C และกำหนดค่า MCP3421
ฟังก์ชัน loop() ใช้สำหรับอ่านค่าจาก MCP3421 แปลงค่าเป็นแรงดันไฟฟ้า และพิมพ์ค่าไปยังพอร์ตอนุกรม
ฟังก์ชัน mcp.begin() ใช้สำหรับเริ่มต้นการเชื่อมต่อ I2C กับ MCP3421
ฟังก์ชัน mcp.setGain() ใช้สำหรับตั้งค่าค่าเกนของ ADC
ฟังก์ชัน mcp.setConversionRate() ใช้สำหรับตั้งค่าอัตราการแปลงของ ADC
ฟังก์ชัน mcp.read16() ใช้สำหรับอ่านค่า 16 บิตจาก ADC
การคำนวณ voltage = value * (2.048 / 65536.0) แปลงค่า ADC เป็นแรงดันไฟฟ้าโดยใช้แรงดันอ้างอิง 2.048V และค่า ADC สูงสุด 65536