สารบัญ:

การใช้เซ็นเซอร์อะนาล็อกกับ ESP8266: 5 ขั้นตอน
การใช้เซ็นเซอร์อะนาล็อกกับ ESP8266: 5 ขั้นตอน

วีดีโอ: การใช้เซ็นเซอร์อะนาล็อกกับ ESP8266: 5 ขั้นตอน

วีดีโอ: การใช้เซ็นเซอร์อะนาล็อกกับ ESP8266: 5 ขั้นตอน
วีดีโอ: สอนวิธีใช้ BME680 Sensor Arduino ESP8266 ESP32 ใช้ได้ใน 3 นาที จบในคลิปเดียว 2024, กรกฎาคม
Anonim
การใช้เซนเซอร์อนาล็อกกับ ESP8266
การใช้เซนเซอร์อนาล็อกกับ ESP8266

ตัวแปลงอนาล็อกเป็นดิจิตอล (ADC, A/D, A–D หรือ A-to-D) คือระบบที่แปลงสัญญาณแอนะล็อกให้เป็นสัญญาณดิจิตอล ตัวแปลง A/D แปลสัญญาณไฟฟ้าแอนะล็อกเพื่อการประมวลผลข้อมูล ด้วยผลิตภัณฑ์ที่ตรงกับประสิทธิภาพ กำลัง ต้นทุน และขนาดที่ต้องการ ตัวแปลงข้อมูลเหล่านี้ช่วยให้เกิดประสิทธิภาพการแปลงที่แม่นยำและแข็งแกร่งในการใช้งานที่หลากหลาย เช่น การสื่อสาร พลังงาน การดูแลสุขภาพ เครื่องมือวัดและการวัด การควบคุมมอเตอร์และพลังงาน ระบบอัตโนมัติทางอุตสาหกรรม และการบินและอวกาศ/การป้องกัน อุปกรณ์แปลง A/D ที่หลากหลายมีไว้เพื่อช่วยเหลือวิศวกรในทุกขั้นตอนของโครงการ ตั้งแต่การเลือกผลิตภัณฑ์ไปจนถึงการออกแบบวงจร

วันนี้ เราจะใช้ตัวแปลงอนาล็อกเป็นดิจิตอลกับ ESP8266 เริ่มกันเลย.. !!

ขั้นตอนที่ 1: อุปกรณ์ที่เราต้องการ

อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ

1. ตัวแปลง MCP3425 ADC

MCP3425 เป็นตัวแปลงอนาล็อกเป็นดิจิตอล 1 ช่องสัญญาณที่มีความละเอียด 16 บิต เหมาะอย่างยิ่งสำหรับการตรวจสอบเซ็นเซอร์ความละเอียดสูงที่มีความเร็วต่ำ MCP3425 สามารถอ่านแรงดันไฟฟ้าแอนะล็อกที่ 15 ตัวอย่างต่อวินาทีด้วยความละเอียด 16 บิต หรือ 240 ตัวอย่างต่อวินาทีที่ความละเอียด 12 บิต

2. Adafruit Huzzah ESP8266

ESP8266 เป็นแพลตฟอร์มที่น่าทึ่งสำหรับการพัฒนาแอปพลิเคชัน IoT โปรเซสเซอร์ ESP8266 จาก Espressif เป็นไมโครคอนโทรลเลอร์ 80 MHz พร้อมส่วนหน้า WiFi เต็มรูปแบบและสแต็ก TCP/IP พร้อมรองรับ DNS เช่นกัน ESP8266 เป็นแพลตฟอร์มที่สมบูรณ์สำหรับการตรวจสอบและควบคุมแอปพลิเคชันโดยใช้ Arduino Wire Language และ Arduino IDE

3. โปรแกรมเมอร์ USB ESP8266

อะแดปเตอร์โฮสต์ ESP8266 นี้สร้างขึ้นโดยเฉพาะโดย Contol Everything สำหรับรุ่น Adafruit Huzzah ของ ESP8266 ซึ่งช่วยให้สามารถเชื่อมต่อการสื่อสาร I²C

4. สายเคเบิลเชื่อมต่อ I²C

Contol Everything ยังได้ออกแบบสายเชื่อมต่อ I²C ซึ่งมีอยู่ที่ลิงค์ด้านบน

5. สาย USB ขนาดเล็ก

สายไฟ mini USB เป็นตัวเลือกในอุดมคติสำหรับการจ่ายไฟให้กับ Adafruit Huzzah ESP8266

ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

โดยทั่วไป การเชื่อมต่อเป็นส่วนที่ง่ายที่สุดของโครงการนี้ ทำตามคำแนะนำและรูปภาพ แล้วคุณจะไม่มีปัญหา

ก่อนอื่น ให้นำ Adafruit Huzzah ESP8266 ไปวางไว้บน USB Programmer (พร้อมพอร์ต I²C ที่หันเข้าด้านใน) กด ESP8266 ลงใน USB Programmer เบาๆ และเสร็จสิ้นขั้นตอนนี้ (ดูภาพ #1)

นำสายเคเบิล I²C และเชื่อมต่อกับพอร์ตอินพุตของเซ็นเซอร์ เพื่อการทำงานที่เหมาะสมของสายเคเบิลนี้ โปรดจำไว้ว่า I²C Output เสมอเชื่อมต่อกับอินพุตI²C ตอนนี้ เชื่อมต่อปลายอีกด้านของสายเคเบิล I²C เดียวกันกับโปรแกรมเมอร์ USB โดยติดตั้ง Adafruit Huzzah ESP8266 ทับ (ดูรูปที่ 2)

หมายเหตุ: สายสีน้ำตาลควรเป็นไปตามการเชื่อมต่อกราวด์ (GND) ระหว่างเอาต์พุตของอุปกรณ์เครื่องหนึ่งกับอินพุตของอุปกรณ์อื่น

เสียบสาย Mini USB เข้ากับแจ็คไฟของ Adafruit Huzzah ESP8266 การเชื่อมต่อขั้นสุดท้ายจะมีลักษณะเหมือนในรูปที่ 3

ขั้นตอนที่ 3: รหัส

รหัส ESP สำหรับ Adafruit Huzzah ESP8266 และ MCP3425 ADC Converter มีอยู่ในที่เก็บ GitHub ของเรา

ก่อนดำเนินการโค้ด โปรดอ่านคำแนะนำในไฟล์ Readme และตั้งค่า Adafruit Huzzah ESP8266 ตามลำดับ การตั้งค่า ESP ใช้เวลาเพียง 5 นาที

เพื่อความสะดวกของคุณ คุณสามารถคัดลอกรหัส ESP ที่ใช้งานได้สำหรับเซ็นเซอร์นี้จากที่นี่ด้วย:

// เผยแพร่โดยให้สิทธิ์ใช้งานตามเจตจำนงเสรี// ใช้แบบใดก็ได้ที่คุณต้องการ ไม่ว่าจะมีกำไรหรือให้เปล่า โดยให้เหมาะสมกับใบอนุญาตของงานที่เกี่ยวข้อง // MCP3425 // รหัสนี้ออกแบบมาเพื่อทำงานกับ MCP3425_I2CADC I2C Mini Module ที่มีจำหน่ายจาก ControlEverything.com //

#รวม

#รวม #รวม #รวม

// ที่อยู่ MCP3425 I2C คือ 0x68 (104)

#define แอดเดอร์ 0x68

const char* ssid = "เครือข่าย ssid ของคุณ";

const char* password = "รหัสผ่านของคุณ"; แรงดันลอย cTemp, fTemp;

ESP8266เว็บเซิร์ฟเวอร์เซิร์ฟเวอร์(80);

เป็นโมฆะ handleroot()

{ ข้อมูล int ที่ไม่ได้ลงนาม[2];

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr); // ส่งคำสั่งการกำหนดค่า // โหมดการแปลงต่อเนื่อง ความละเอียด 12 บิต Wire.write(0x10); // หยุด I2C Transmission Wire.endTransmission(); ล่าช้า (300);

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr); // เลือก data register Wire.write(0x00); // หยุด I2C Transmission Wire.endTransmission();

// ขอข้อมูล 2 ไบต์

Wire.requestFrom(Addr, 2);

// อ่านข้อมูลขนาด 2 ไบต์

// raw_adc msb, raw_adc lsb ถ้า (Wire.available() == 2) { data[0] = Wire.read(); ข้อมูล[1] = Wire.read(); }

// แปลงข้อมูลเป็น 12 บิต

int raw_adc = (ข้อมูล[0] & 0x0F) * 256 + ข้อมูล[1]; ถ้า (raw_adc > 2047) { raw_adc -= 4096; }

// ส่งออกข้อมูลไปยังมอนิเตอร์แบบอนุกรม

Serial.print("ค่าดิจิตอลของอินพุตแบบอนาล็อก: "); Serial.println(raw_adc); ล่าช้า (500);

// ส่งออกข้อมูลไปยังเว็บเซิร์ฟเวอร์

server.sendContent ("<meta http-equiv='refresh' content='3'""

ควบคุมทุกอย่าง

www.controleverything.com

MCP3425 เซนเซอร์ I2C โมดูลขนาดเล็ก

"); server.sendContent ("

ค่าดิจิตอลของอินพุตอนาล็อก: " + String(raw_adc)); }

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

{ // เริ่มต้นการสื่อสาร I2C เป็น MASTER Wire.begin (2, 14); // เริ่มต้นการสื่อสารแบบอนุกรม กำหนดอัตรารับส่งข้อมูล = 115200 Serial.begin(115200);

// เชื่อมต่อกับเครือข่าย WiFi

WiFi.begin(ssid, รหัสผ่าน);

// รอการเชื่อมต่อ

ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); Serial.print("."); } Serial.println(""); Serial.print("เชื่อมต่อกับ"); Serial.println(ssid);

// รับที่อยู่ IP ของ ESP8266

Serial.print("ที่อยู่ IP:"); Serial.println(WiFi.localIP());

// เริ่มเซิร์ฟเวอร์

server.on("/", แฮนเดิลรูท); เซิร์ฟเวอร์.begin(); Serial.println("เซิร์ฟเวอร์ HTTP เริ่มทำงาน"); }

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

{ server.handleClient(); }

ขั้นตอนที่ 4: การทำงาน

การทำงาน
การทำงาน

ดาวน์โหลด (gitpull) หรือคัดลอกโค้ดแล้วเปิดใน Arduino IDE

รวบรวมและอัปโหลดรหัสและดูผลลัพธ์บน Serial Monitor ของคุณ

หมายเหตุ: ก่อนอัปโหลด ตรวจสอบให้แน่ใจว่าคุณป้อนเครือข่าย SSID และรหัสผ่านในรหัส

คัดลอกที่อยู่ IP ของ ESP8266 จาก Serial Monitor แล้ววางลงในเว็บเบราว์เซอร์ของคุณ คุณจะเห็นหน้าเว็บที่มีเอาต์พุตดิจิตอลของการอ่านอินพุตแบบอะนาล็อก เอาต์พุตของเซ็นเซอร์บน Serial Monitor และ Web Server แสดงในภาพด้านบน

ขั้นตอนที่ 5: แอปพลิเคชันและคุณสมบัติ

อุปกรณ์ MCP3425 สามารถใช้สำหรับแอปพลิเคชันการแปลงข้อมูลแอนะล็อกเป็นดิจิทัลที่มีความแม่นยำสูงหลายแบบ โดยคำนึงถึงความเรียบง่ายในการออกแบบ ใช้พลังงานต่ำ และมีขนาดเล็กเป็นปัจจัยสำคัญ การใช้งานที่สำคัญ ได้แก่ เครื่องมือวัดแบบพกพา เครื่องชั่งน้ำหนักและมาตรวัดน้ำมันเชื้อเพลิง การตรวจจับอุณหภูมิด้วย RTD เทอร์มิสเตอร์และเทอร์โมคัปเปิล การตรวจจับสะพานสำหรับแรงดัน ความเครียด และแรง

ตัวแปลง ADC ช่วยให้ประสิทธิภาพการแปลงที่แม่นยำและเชื่อถือได้ในการใช้งานต่างๆ เช่น การสื่อสาร พลังงาน การดูแลสุขภาพ เครื่องมือวัดและการวัด การควบคุมมอเตอร์และพลังงาน ระบบอัตโนมัติทางอุตสาหกรรม และการบินและอวกาศ/การป้องกัน

ด้วยความช่วยเหลือของ ESP8266 เราสามารถเพิ่มความจุให้มีความยาวมากขึ้น เราสามารถควบคุมเครื่องใช้ของเราและตรวจสอบประสิทธิภาพได้จากเดสก์ท็อปและอุปกรณ์เคลื่อนที่ของเรา เราสามารถจัดเก็บและจัดการข้อมูลออนไลน์และศึกษาข้อมูลเหล่านี้ได้ตลอดเวลาเพื่อแก้ไข แอปพลิเคชันอื่นๆ ได้แก่ ระบบอัตโนมัติในบ้าน, เครือข่ายแบบตาข่าย, การควบคุมแบบไร้สายสำหรับอุตสาหกรรม, จอภาพสำหรับเด็ก, เครือข่ายเซ็นเซอร์, อุปกรณ์อิเล็กทรอนิกส์ที่สวมใส่ได้, อุปกรณ์รับรู้ตำแหน่ง Wi-Fi, บีคอนระบบตำแหน่ง Wi-Fi

นอกจากนี้ คุณยังสามารถตรวจสอบบล็อกของเราเกี่ยวกับ Home Automation with Light Sensor และ ESP8266

แนะนำ: