สารบัญ:

เทอร์โมมิเตอร์ดิจิตอลพร้อม Arduino & DS18B20: 7 ขั้นตอน
เทอร์โมมิเตอร์ดิจิตอลพร้อม Arduino & DS18B20: 7 ขั้นตอน

วีดีโอ: เทอร์โมมิเตอร์ดิจิตอลพร้อม Arduino & DS18B20: 7 ขั้นตอน

วีดีโอ: เทอร์โมมิเตอร์ดิจิตอลพร้อม Arduino & DS18B20: 7 ขั้นตอน
วีดีโอ: DS18B20 เซ็นเซอร์วัดอุณหภูมิ ใช้งานง่ายมากครับ 2024, กรกฎาคม
Anonim
เทอร์โมมิเตอร์แบบดิจิตอลพร้อม Arduino & DS18B20
เทอร์โมมิเตอร์แบบดิจิตอลพร้อม Arduino & DS18B20
เทอร์โมมิเตอร์แบบดิจิตอลพร้อม Arduino & DS18B20
เทอร์โมมิเตอร์แบบดิจิตอลพร้อม Arduino & DS18B20

เพียงสร้างเทอร์โมมิเตอร์แบบดิจิตอลพร้อมบอกอุณหภูมิห้องปัจจุบันบนหน้าจอ LCD นี่เป็นโครงการสำหรับผู้เริ่มต้น อุปกรณ์ที่คุณต้องการ: 1. Arduino UNO R3 2. เซ็นเซอร์อุณหภูมิ DS18B20 3. จอ LCD 16X2 4. การต่อสายไฟ 5. คณะกรรมการโครงการ ตอนนี้มาทำเทอร์โมมิเตอร์แบบดิจิตอล….. นี่คือพิน Atmega168 สำหรับ Arduino เพียงข้ามสิ่งนี้หากคุณต้องการทำเทอร์โมมิเตอร์นี้ด้วย Arduino ของคุณ

ขั้นตอนที่ 1: สร้าง Arduino บน Breadboard

สร้าง Arduino บนเขียงหั่นขนม
สร้าง Arduino บนเขียงหั่นขนม

การสร้าง Arduino บนเบรียบอร์ดนั้นง่ายมาก ตอนนี้ขั้นตอนการเดินสายทีละขั้นตอนได้รับด้านล่าง: 1. ขา 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> ตัวเก็บประจุ 22pF -> GND 4. Pin10-> Crystal -> ตัวเก็บประจุ 22pF -> GND 5. พิน 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> รีจิสเตอร์ 10K ไปที่ GND + กดปุ่มไปที่ +5V ตอนนี้คุณพร้อม……………..

ขั้นตอนที่ 2: เชื่อมต่อ LCD

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

ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์อุณหภูมิ DS18B20

การเชื่อมต่อ DS18B20 เซ็นเซอร์อุณหภูมิ
การเชื่อมต่อ DS18B20 เซ็นเซอร์อุณหภูมิ

ขั้นตอนที่ 4: การเตรียมวงจร

การเตรียมวงจร
การเตรียมวงจร

เชื่อมต่อ LCD กับ atmega หรือ arduino ตามตัวอย่าง LCD เริ่มต้นบน arduino IDE ตอนนี้เชื่อมต่อบัสข้อมูล DS1307 กับ DIGITAL PIN 7 (Atmega pin 13)

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

#รวม #รวม #รวม int DS18S20_Pin = 7; // DS18S20 พินสัญญาณบนดิจิตอล 7 โดย rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //ชิปอุณหภูมิ i/o OneWire ds(DS18S20_Pin); // บนพินดิจิตอล 7 โดย rahulmitra void setup (void) { Serial.begin (9600); lcd.begin(16, 2); // พิมพ์ข้อความไปยัง LCD lcd.print("ราหุล มิตรา"); } วงโมฆะ (เป็นโมฆะ) { อุณหภูมิลอย = getTemp (); Serial.println (อุณหภูมิ); lcd.setCursor(0, 1); lcd.print("อุณหภูมิ: "); lcd.print (อุณหภูมิ); lcd.print(" *C"); ล่าช้า (100); //แค่นี่เพื่อลดความเร็วของเอาต์พุตเพื่อให้อ่านง่ายขึ้น } float getTemp(){ //ส่งคืนอุณหภูมิจาก DS18S20 หนึ่งตัวในข้อมูล DEG Celsius ไบต์[12]; ไบต์ addr[8]; if (!ds.search(addr)) { //ไม่มีเซ็นเซอร์ใน chain อีกต่อไป ให้รีเซ็ตการค้นหา ds.reset_search(); ผลตอบแทน -1000; } if (OneWire::crc8(addr, 7) != addr[7]) { Serial.println("CRC is not valid!"); ผลตอบแทน -1000; } if (addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("ไม่รู้จักอุปกรณ์"); ผลตอบแทน -1000; } ds.reset(); ds.select(เพิ่ม); ds.write(0x44, 1); // เริ่มการแปลงโดยเปิดการทำงานของปรสิตที่ส่วนท้ายของไบต์ปัจจุบัน = ds.reset(); ds.select(addr); ds.write(0xBE); // อ่าน Scratchpad สำหรับ (int i = 0; i <9; i++) { // เราต้องการข้อมูล 9 ไบต์ = ds.read(); } ds.reset_search(); ไบต์ MSB = ข้อมูล[1]; ไบต์ LSB = ข้อมูล[0]; float tempRead = ((MSB << 8) | LSB); // ใช้สองคำชมลอย TemperatureSum = tempRead / 16; ส่งคืน TemperatureSum; }

ขั้นตอนที่ 6: ในที่สุดคุณก็ทำเสร็จแล้ว

ในที่สุดคุณก็ทำสำเร็จ
ในที่สุดคุณก็ทำสำเร็จ
ในที่สุดคุณก็ทำสำเร็จ
ในที่สุดคุณก็ทำสำเร็จ

ขั้นตอนที่ 7: ดูสด

www.youtube.com/watch?v=7718FODdtio&list=UUY916I6z4Y3QQhzjHsIhR8w

แนะนำ: