สารบัญ:

การตรวจสอบปัจจุบันผ่าน Arduino Nano (I2C): 5 ขั้นตอน
การตรวจสอบปัจจุบันผ่าน Arduino Nano (I2C): 5 ขั้นตอน

วีดีโอ: การตรวจสอบปัจจุบันผ่าน Arduino Nano (I2C): 5 ขั้นตอน

วีดีโอ: การตรวจสอบปัจจุบันผ่าน Arduino Nano (I2C): 5 ขั้นตอน
วีดีโอ: EP.4 สอนการใช้งาน I2C Arduino | สอนการสื่อสาร Arduino Communication Protocols 2024, กรกฎาคม
Anonim
การตรวจสอบปัจจุบันผ่าน Arduino Nano (I2C)
การตรวจสอบปัจจุบันผ่าน Arduino Nano (I2C)

สวัสดี, สวัสดี..!!

ที่นี่ฉัน (Somanshu Choudhary) ในนามของการลงทุนด้านเทคโนโลยีของ Dcube ที่จะตรวจสอบกระแสโดยใช้ Arduino nano เป็นหนึ่งในแอปพลิเคชันของโปรโตคอล I2C เพื่ออ่านข้อมูลแอนะล็อกของ Current Sensor TA12-200

ขั้นตอนที่ 1: ภาพรวม

ภาพรวม
ภาพรวม
  1. TA12-200 เป็นเซ็นเซอร์กระแสสลับ
  2. ลิงก์เอกสารข้อมูล:https://berg.hatenablog.com/entry/2013/2044-21-0441
  3. โครงการนี้วัดค่ากระแสไฟ AC

ขั้นตอนที่ 2: สิ่งที่คุณต้องการ / ลิงค์

สิ่งที่คุณต้องการ / ลิงค์
สิ่งที่คุณต้องการ / ลิงค์
  1. Arduino นาโน
  2. I²C Shield สำหรับ Arduino Nano
  3. สาย USB Type A ถึง Micro Type B ยาว 6 ฟุต
  4. สายเคเบิล I²C
  5. I²C เซ็นเซอร์กระแสไฟ AC ผ่าน ADC121C 12-Bit ADC I²C Mini Module
  6. CFL หรือหลอดไฟ
  7. สายพีซีวี

ขั้นตอนที่ 3: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม
แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

ขั้นตอนที่ 4: การเขียนโปรแกรม / รหัส

การเขียนโปรแกรม / รหัส
การเขียนโปรแกรม / รหัส

#รวม

การตั้งค่าเป็นโมฆะ ()

{

// ที่อยู่ I2C ของ ADC121C021, 0x50 ที่เชื่อมต่อกับ TA12-200

#define ADC_ADDR 0x50

// เข้าร่วม I2c Bus ในฐานะมาสเตอร์

Wire.begin();

// เริ่มการสื่อสารแบบอนุกรมสำหรับเอาต์พุตคอนโซลอนุกรม

Serial.begin(9600);

}

วงเป็นโมฆะ ()

{

// เริ่มส่งด้วยอุปกรณ์ที่กำหนดบนบัส I2C

Wire.beginTransmission (ADC_ADDR);

// การลงทะเบียนผลการแปลงการโทร 0x00(0)

Wire.write(0x00);

// ล่าช้า (500);

// ขอ 2 ไบต์

Wire.requestFrom(ADC_ADDR, 2);

// อ่านไบต์หากมีอยู่

ถ้า(Wire.available() == 2)

{

int msb = Wire.read();

int lsb = Wire.read();

// สิ้นสุดการส่งและปล่อยบัส I2C

Wire.endTransmission();

// กำลังคำนวณค่า

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// ส่งออกไปยังหน้าจอ

Serial.print("ค่า ADC: ");

Serial.println (rawADC);

}

อื่น

{

Serial.println("มีไบต์ไม่เพียงพอในสาย");

}

ล่าช้า (100);

}

/////////////////////////////////////////////////////////////////////// /////////////////////////บันทึก//////////////////////// /////////////////////////////////////////////////////////////////////// ////////////////////////

// ค่าเหล่านี้อยู่ในหน่วย mili amps

// คุณยังสามารถหาค่า rms ของกระแสได้โดยหาค่าที่อ่านได้สูงสุดแล้วหารด้วย 1.414

ขั้นตอนที่ 5:

ต้องการข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ของเรา:

www.dcubetechnologies.com

แนะนำ: