สารบัญ:

การเชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino และ ESP8266: 8 ขั้นตอน
การเชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino และ ESP8266: 8 ขั้นตอน

วีดีโอ: การเชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino และ ESP8266: 8 ขั้นตอน

วีดีโอ: การเชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino และ ESP8266: 8 ขั้นตอน
วีดีโอ: ออกแบบระบบวัดอุณหภูมิอย่างง่าย บน Arduino รวมกับ ds1820 2024, พฤศจิกายน
Anonim
เชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino และ ESP8266
เชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino และ ESP8266

เฮ้ ว่าไงพวก! Akarsh ที่นี่จาก CETech

วันนี้เราจะเพิ่มเซ็นเซอร์ใหม่ให้กับคลังแสงของเราที่รู้จักกันในชื่อ DS18B20 Temperature Sensor เป็นเซ็นเซอร์อุณหภูมิคล้ายกับ DHT11 แต่มีชุดการใช้งานที่แตกต่างกัน เราจะเปรียบเทียบกับเซ็นเซอร์อุณหภูมิประเภทต่างๆ ที่มีอยู่ และจะดูข้อกำหนดทางเทคนิคของเซ็นเซอร์เหล่านี้

ในตอนท้ายของบทช่วยสอนนี้ เราจะเชื่อมต่อ DS18B20 กับ Arduino และ ESP8266 เพื่อแสดงอุณหภูมิ ในกรณีของ Arduino อุณหภูมิจะแสดงบน Serial Monitor และสำหรับ ESP8266 เราจะแสดงอุณหภูมิบนเว็บเซิร์ฟเวอร์

มาเริ่มกันที่ความสนุกกันเลย

ขั้นตอนที่ 1: รับ PCB สำหรับโครงการของคุณที่ผลิต

รับ PCB สำหรับโครงการของคุณที่ผลิต
รับ PCB สำหรับโครงการของคุณที่ผลิต

คุณต้องตรวจสอบ OurPCB เพื่อรับ PCB สำหรับโครงการของคุณที่ผลิตทางออนไลน์

พวกเขาใช้ส่วนประกอบที่เชื่อถือได้ซึ่งมาจากซัพพลายเออร์ที่ได้รับการรับรอง เช่น Arrow, Avnet, Future Electronics เป็นต้น และเสนอราคาที่สมเหตุสมผลเพื่อเพิ่มผลกำไรสูงสุดของผู้ใช้ เชี่ยวชาญด้านเทคโนโลยี Multilayer และ Rigid-flex สิ่งสำคัญคือการรักษามาตรฐานคุณภาพสูง

OurPCB มุ่งเน้นไปที่คำสั่งซื้อขนาดเล็กถึงขนาดกลางและให้ราคาที่แข่งขันได้มากสำหรับปริมาณตั้งแต่ 1-100 ตารางเมตร คุณเพียงแค่ต้องอัปโหลดไฟล์ของคุณในรูปแบบที่มี (Gerber,.pcb,.pcbdoc หรือ.cam) แล้วต้นแบบ PCB จะถูกส่งไปยังหน้าประตูของคุณ

คุณยังสามารถตรวจสอบพันธมิตร WellPCB ของพวกเขาสำหรับข้อเสนอที่ดี

ขั้นตอนที่ 2: การเปรียบเทียบระหว่างเซ็นเซอร์อุณหภูมิประเภทต่างๆ

การเปรียบเทียบระหว่างเซนเซอร์อุณหภูมิประเภทต่างๆ
การเปรียบเทียบระหว่างเซนเซอร์อุณหภูมิประเภทต่างๆ
การเปรียบเทียบระหว่างเซนเซอร์อุณหภูมิประเภทต่างๆ
การเปรียบเทียบระหว่างเซนเซอร์อุณหภูมิประเภทต่างๆ

การเปรียบเทียบที่แสดงด้านบนมีเซ็นเซอร์สามตัว DS18B20, DHT11 และ NTC Thermistor แต่ในที่นี้ เราจะจำกัดการเปรียบเทียบกับเซ็นเซอร์ดิจิทัลเท่านั้น ไม่ได้หมายความว่าเทอร์มิสเตอร์เทอร์มิสเตอร์ NTC ไม่สำคัญเท่ากับเซ็นเซอร์ดิจิทัล อันที่จริงการพัฒนาเซ็นเซอร์ดิจิทัลทำได้เพียงเพราะ NTC Thermistor เท่านั้น เซ็นเซอร์ดิจิตอลประกอบด้วย NTC Thermistor ที่เชื่อมต่อกับไมโครโปรเซสเซอร์บางตัวซึ่งจะให้เอาต์พุตดิจิตอลในที่สุด

ประเด็นหลักของการเปรียบเทียบคือ:-

1. DS18B20 นั้นกันน้ำและทนทาน ในขณะที่ DHT11 ไม่ใช่สาเหตุนั้นในสถานการณ์และการใช้งานในชีวิตจริงที่จำเป็นต้องมีการตรวจจับแบบสัมผัส DS18B20 มักใช้ในขณะที่ DHT11 ใช้งานในสภาพแวดล้อมกลางแจ้ง

2. DS18B20 แยกข้อมูลออกเป็นข้อมูล 9-12 บิตในขณะที่ DHT11 ให้ข้อมูล 8 บิต

3. DS18B20 ให้อุณหภูมิเท่านั้น ในขณะที่ DHT11 สามารถใช้รับอุณหภูมิและความชื้นได้

4. DS18B20 ครอบคลุมช่วงอุณหภูมิที่กว้างกว่าเมื่อเปรียบเทียบกับ DHT11 และยังมีความแม่นยำที่ดีกว่าเมื่อเปรียบเทียบกับ DHT (+ 0.5 องศาเมื่อเทียบกับ + 2 องศาสำหรับ DHT11)

5. เมื่อพูดถึงการกำหนดราคา เซ็นเซอร์เหล่านี้มีความแตกต่างกันเล็กน้อย เนื่องจาก DS18B20 สองรุ่นที่แตกต่างกันซึ่งเป็นประเภทสายบรรจุและแพ็คเกจ TO92 มีราคาประมาณ 1 ดอลลาร์และ 0.4 ดอลลาร์ ในขณะที่ DHT11 มีราคาประมาณ 0.6 ดอลลาร์

ดังนั้นเราจึงสามารถพูดได้ว่า DS18B20 ค่อนข้างดีกว่า DHT11 แต่สามารถเลือกได้ดีกว่าโดยพิจารณาจากการใช้งานที่จำเป็นต้องใช้เซ็นเซอร์เท่านั้น

คุณสามารถรับความรู้เพิ่มเติมเกี่ยวกับ DS18B20 ได้โดยการอ่านเอกสารข้อมูลจากที่นี่

ขั้นตอนที่ 3: เชื่อมต่อ DS18B20 กับ Arduino

การเชื่อมต่อ DS18B20 กับ Arduino
การเชื่อมต่อ DS18B20 กับ Arduino
การเชื่อมต่อ DS18B20 กับ Arduino
การเชื่อมต่อ DS18B20 กับ Arduino

ที่นี่เราจะเชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20 กับ Arduino เพื่อรับอุณหภูมิและแสดงบนจอภาพแบบอนุกรม

สำหรับขั้นตอนนี้เราต้องการ - Arduino UNO, DS18B20 Temperature sensor (Packaged type หรือ TO92 package อะไรก็ได้ที่มี) และตัวต้านทาน 4.7kohm

เซนเซอร์ DS18B20 มีสายไฟ 3 เส้น คือ สีดำ สีแดง และสีเหลือง สีดำสำหรับ GND สีแดงสำหรับ Vcc ในขณะที่สีเหลืองคือพินสัญญาณ

1. เชื่อมต่อพิน GND หรือสายสีดำของเซ็นเซอร์เข้ากับ GND

2. เชื่อมต่อพิน Vcc หรือสายสีแดงของเซ็นเซอร์กับแหล่งจ่ายไฟ 5V

3. เชื่อมต่อพินสัญญาณหรือสายสีเหลืองเข้ากับ 5V ผ่านตัวต้านทาน 4.7kohm และเชื่อมต่อพินสัญญาณนี้กับ Digital Pin no-12 ของ Arduino

คุณสามารถอ้างถึงแผนผังที่แสดงด้านบนเพื่อความเข้าใจที่ดีขึ้น

ขั้นตอนที่ 4: การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ

การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ
การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ
การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ
การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ
การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ
การเข้ารหัส Arduino เพื่อแสดงอุณหภูมิ

ในขั้นตอนนี้ เราจะเขียนโค้ดบอร์ด Arduino เพื่อรับและแสดงอุณหภูมิผ่าน Serial Monitor

1. เชื่อมต่อบอร์ด Arduino UNO กับพีซี

2. ย้ายไปยังที่เก็บ Github สำหรับโครงการนี้จากที่นี่

3. ในที่เก็บ GitHub คุณจะเห็นไฟล์ชื่อ " รหัสพื้นฐาน " เปิดไฟล์นั้น คัดลอกโค้ดและวางลงใน Arduino IDE ของคุณ

4. เลือกบอร์ดที่ถูกต้องและพอร์ต COM ใต้แท็บเครื่องมือแล้วกดปุ่มอัปโหลด

5. หลังจากอัปโหลดโค้ดแล้ว ให้เปิด Serial Monitor และเลือกอัตราบอดที่ถูกต้อง (9600 ในกรณีของเรา) และคุณจะสามารถดูอุณหภูมิที่ DS18B20 ตรวจจับได้ที่นั่น

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

ขั้นตอนที่ 5: เชื่อมต่อ DS18B20 ด้วย ESP8266

เชื่อมต่อ DS18B20 ด้วย ESP8266
เชื่อมต่อ DS18B20 ด้วย ESP8266
เชื่อมต่อ DS18B20 ด้วย ESP8266
เชื่อมต่อ DS18B20 ด้วย ESP8266

ในขั้นตอนนี้ เราจะเชื่อมต่อ DS18B20 กับโมดูล ESP8266 เพื่อรับอุณหภูมิ

สำหรับขั้นตอนนี้ เราต้องการ= โมดูล ESP8266, ตัวต้านทาน 4.7kohm และเซ็นเซอร์อุณหภูมิ DS18B20 (ประเภทแพ็คเกจหรือแพ็คเกจ TO92 อะไรก็ได้ที่มี)

การเชื่อมต่อสำหรับขั้นตอนนี้คล้ายกับการเชื่อมต่อที่ทำกับ Arduino

1. เชื่อมต่อพิน GND หรือสายสีดำของเซ็นเซอร์เข้ากับ GND

2. เชื่อมต่อพิน Vcc หรือสายสีแดงของเซ็นเซอร์กับแหล่งจ่ายไฟ 3.3V

3. เชื่อมต่อพินสัญญาณหรือสายสีเหลืองเข้ากับ 3.3V ผ่านตัวต้านทาน 4.7kohm และเชื่อมต่อพินสัญญาณนี้กับ GPIO12 ซึ่งเป็นพิน D5 ของโมดูล

คุณสามารถอ้างถึงแผนผังที่แสดงด้านบนเพื่อความเข้าใจที่ดีขึ้น

ขั้นตอนที่ 6: ตั้งค่า Arduino IDE

ตั้งค่า Arduino IDE
ตั้งค่า Arduino IDE

สำหรับการเข้ารหัส ESP8266 โดยใช้ Arduino IDE เราจำเป็นต้องติดตั้งบอร์ด ESP8266 ในบอร์ดเพิ่มเติมของ Arduino IDE เนื่องจากไม่ได้ติดตั้งไว้ล่วงหน้า เพื่อจุดประสงค์นี้ เราต้องทำตามขั้นตอนที่ระบุไว้ด้านล่าง:-

1. ไปที่ ไฟล์ > การตั้งค่า

2. เพิ่ม https://arduino.esp8266.com/stable/package_esp8266com_index.json ไปยัง URL ของตัวจัดการบอร์ดเพิ่มเติม

3. ไปที่ เครื่องมือ > บอร์ด > ตัวจัดการบอร์ด

4. ค้นหา esp8266 แล้วติดตั้งบอร์ด

5. รีสตาร์ท IDE

ขั้นตอนที่ 7: การเข้ารหัส ESP8266 เพื่อแสดงอุณหภูมิ

การเข้ารหัส ESP8266 เพื่อแสดงอุณหภูมิ
การเข้ารหัส ESP8266 เพื่อแสดงอุณหภูมิ
การเข้ารหัส ESP8266 เพื่อแสดงอุณหภูมิ
การเข้ารหัส ESP8266 เพื่อแสดงอุณหภูมิ

ในขั้นตอนนี้ เราจะใช้รหัส ESP8266 เพื่ออ่านอุณหภูมิ และหลังจากนั้น แทนที่จะแสดงอุณหภูมินั้นบนจอภาพแบบอนุกรม เราจะแสดงข้อมูลนั้นบนเว็บเซิร์ฟเวอร์

1. ย้ายไปยังที่เก็บ Github สำหรับโครงการนี้จากที่นี่

2. ใน Repository คุณจะเห็นโค้ดชื่อ "ESP8266 Temperature Web Server" คุณเพียงแค่ต้องคัดลอกโค้ดนั้นแล้ววางลงใน Arduino IDE

3. หลังจากวางรหัสแล้ว ให้เปลี่ยน SSID และรหัสผ่านในรหัสเป็นรหัสของเครือข่าย Wifi ของคุณ

4. ใต้แท็บ เครื่องมือ ให้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง จากนั้นให้กดปุ่มอัปโหลด

5. เมื่อโค้ดได้รับการอัปโหลด ให้เปิดมอนิเตอร์แบบอนุกรมของ IDE จากนั้นกดปุ่มรีเฟรชบนโมดูล ESP8266 คุณจะได้รับภาษาที่ไม่รู้จักเขียนที่นั่นและด้านล่างจะมีที่อยู่ IP คุณต้องคัดลอกที่อยู่ IP นั้นเนื่องจากเป็นที่อยู่ของเว็บเซิร์ฟเวอร์ซึ่งจะแสดงอุณหภูมิ

ขั้นตอนที่ 8: และเสร็จแล้ว

เสร็จแล้ว
เสร็จแล้ว

เมื่อรหัสได้รับการอัปโหลดและได้รับที่อยู่ IP เปิดเว็บเซิร์ฟเวอร์โดยใช้ที่อยู่ IP นั้น

บนเว็บเซิร์ฟเวอร์ จะมีการอ่านค่าอุณหภูมิที่แสดงเป็นองศาเซลเซียสและองศาฟาเรนไฮต์

นอกจากเว็บเซิร์ฟเวอร์แล้ว การอ่านค่าอุณหภูมิยังสามารถสังเกตได้บนจอภาพแบบอนุกรม

คุณจะสังเกตได้ว่าเมื่ออุณหภูมิใกล้เซ็นเซอร์เปลี่ยนแปลง ค่าที่อ่านได้บนเว็บเซิร์ฟเวอร์ก็เปลี่ยนไปเช่นกัน

นั่นมันสำหรับการสาธิต

แนะนำ: