สารบัญ:

จะทำให้เทอร์โมมิเตอร์และ LCD ทำงานร่วมกันได้อย่างไร: 10 ขั้นตอน
จะทำให้เทอร์โมมิเตอร์และ LCD ทำงานร่วมกันได้อย่างไร: 10 ขั้นตอน

วีดีโอ: จะทำให้เทอร์โมมิเตอร์และ LCD ทำงานร่วมกันได้อย่างไร: 10 ขั้นตอน

วีดีโอ: จะทำให้เทอร์โมมิเตอร์และ LCD ทำงานร่วมกันได้อย่างไร: 10 ขั้นตอน
วีดีโอ: วิธีใช้มัลติมิเตอร์แบบดิจิตอลเบื้องต้น ย่านวัดต่างๆ ที่มือใหม่ควรรู้ บอกต่อจากประสบการณ์ตรง 2024, มิถุนายน
Anonim
จะทำให้เทอร์โมมิเตอร์และ LCD ทำงานร่วมกันได้อย่างไร
จะทำให้เทอร์โมมิเตอร์และ LCD ทำงานร่วมกันได้อย่างไร

จุดมุ่งหมายของบทช่วยสอนนี้คือการแสดงวิธีใช้เทอร์โมมิเตอร์ DHT11 ซึ่งจะแสดงอุณหภูมิและความชื้นบนหน้าจอ LCD ขนาด 16 x 2

ขั้นตอนที่ 1: Arduino คืออะไร?

Arduino คืออะไร?
Arduino คืออะไร?

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

ขั้นตอนที่ 2: สายเชื่อมต่อ Arduino คืออะไร

สายเชื่อมต่อ Arduino คืออะไร?
สายเชื่อมต่อ Arduino คืออะไร?

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

ขั้นตอนที่ 3: เทอร์โมมิเตอร์คืออะไร

เทอร์โมมิเตอร์คืออะไร
เทอร์โมมิเตอร์คืออะไร

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

ขั้นตอนที่ 4: จอ LCD ขนาด 16 X 2 คืออะไร?

จอ LCD ขนาด 16 X 2 คืออะไร?
จอ LCD ขนาด 16 X 2 คืออะไร?

LCD เป็นโมดูลแสดงผลอิเล็กทรอนิกส์ที่ใช้คริสตัลเหลวเพื่อสร้างภาพที่มองเห็นได้ จอแสดงผล LCD ขนาด 16 × 2 เป็นโมดูลพื้นฐานที่ใช้กันทั่วไปใน DIY และวงจร 16×2 แปล o แสดง 16 ตัวอักษรต่อบรรทัดใน 2 บรรทัดดังกล่าว

ขั้นตอนที่ 5: Jump Wire คืออะไร?

ลวดกระโดดคืออะไร?
ลวดกระโดดคืออะไร?

สายกระโดด (เรียกอีกอย่างว่าสายจัมเปอร์หรือจัมเปอร์) เป็นสายไฟฟ้าหรือกลุ่มของพวกมันในสายเคเบิล โดยมีขั้วต่อหรือพินที่ปลายแต่ละด้าน (หรือบางครั้งก็ไม่มี - เพียงแค่ "กระป๋อง") ซึ่งปกติจะใช้ เพื่อเชื่อมต่อส่วนประกอบของเขียงหั่นขนมหรือต้นแบบอื่น ๆ หรือเพื่อทดสอบวงจร

ขั้นตอนที่ 6: โพเทนชิออมิเตอร์คืออะไร?

โพเทนชิออมิเตอร์คืออะไร?
โพเทนชิออมิเตอร์คืออะไร?

เครื่องมือสำหรับวัดแรงเคลื่อนไฟฟ้าโดยการปรับสมดุลกับความต่างศักย์ที่เกิดจากการส่งกระแสที่ทราบผ่านความต้านทานแปรผันที่ทราบ

ขั้นตอนที่ 7: แอพ Arduino คืออะไร

แอพ Arduino คืออะไร?
แอพ Arduino คืออะไร?

แอพ Arduino เป็นแอปพลิเคชั่นที่ใช้ในการส่งรหัสจากคอมพิวเตอร์ไปยังตัวควบคุม Arduino mini ใด ๆ สามารถดาวน์โหลดได้ที่

ขั้นตอนที่ 8: วิธีตั้งโปรแกรม LCD

วิธีการตั้งโปรแกรม LCD
วิธีการตั้งโปรแกรม LCD

หน้าจอ LCD มีพอร์ตหลายประเภทดังที่แสดงด้านบน มีพินหลายประเภท แต่เราจะใช้งานต่อไปนี้

Rs pin- พินนี้ใช้เป็นหลักในการควบคุมหน่วยความจำของ LCD ซึ่งหมายความว่าโดยทั่วไปจะควบคุมสิ่งที่เกิดขึ้นบนหน้าจอและเมื่อไปที่หน้าจอ

R/W pin- ควบคุมว่าจะใช้ LCD สำหรับการอ่านหรือเขียนหรือไม่

E pin- พินนี้ตรงกับพิน Rs โดยตรง เนื่องจากใช้เพื่อเปิดใช้งานการเขียนบนไดเร็กทอรี

8 Data Pins (0-7)- หมุดข้อมูลเหล่านี้ใช้เพื่ออ่านหรือเขียนสิ่งต่าง ๆ ที่อาจเป็นหนึ่งในรีจิสทรี

นอกจากนี้ยังมีพินหลายประเภทที่เหลือซึ่งจ่ายไฟให้กับ LCD เช่น พิน 5v และ Gnd ซึ่งใช้ตามที่ระบุไว้ก่อนหน้านี้เพื่อจ่ายไฟให้กับ LCD

ต่อไปนี้คือประเภทของหมุดและตำแหน่งที่เชื่อมต่อขั้นต่ำ และมีไดอะแกรมด้านบนหากคุณต้องการดูบอร์ดในลักษณะที่มองเห็นได้

LCD RS พินเป็นพินดิจิตอล 12

LCD เปิดใช้งานพินกับพินดิจิตอล 11

ขา LCD D4 เป็นขาดิจิตอล 5

ขา LCD D5 เป็นขาดิจิตอล 4

ขา LCD D6 เป็นขาดิจิตอล 3

ขา LCD D7 ถึงขาดิจิตอล 2"

เพื่อให้หน้าจอทำงาน คุณต้องใส่คริสตัลเหลว

ฉันได้โพสต์รหัสด้านล่างเพื่อให้คุณคัดลอกและวาง เพียงตรวจสอบให้แน่ใจว่าใน const int rs และพินที่เหลือนั้นถูกต้อง

#รวม

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal lcdrs, en, d4, d5, d6, d7);

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

lcd.begin(16, 2);

lcd.print("สวัสดีชาวโลก!");

}

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

lcd.setCursor(0, 1);

lcd.print(มิลลิวินาที() / 1000);

}

ขั้นตอนที่ 9: วิธีใช้เทอร์โมมิเตอร์กับ LCD

วิธีใช้เทอร์โมมิเตอร์กับ LCD
วิธีใช้เทอร์โมมิเตอร์กับ LCD

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

ในการใช้เทอร์โมมิเตอร์ คุณจะต้องเปิดแอพ Arduino และดาวน์โหลดไลบรารี่ DHT.h, DHT ที่เรียบง่าย และ liquid.crystal หลังจากติดตั้งไลบรารี่เหล่านี้แล้ว คุณจะต้องสร้างวงจรที่แสดงด้านบนในขณะที่มีวงจร LCD ที่เราทำ ในขั้นตอนก่อนหน้านี้บนเขียงหั่นขนม

หลังจากต่อเทอร์โมมิเตอร์และ LCD เข้ากับวงจรแล้ว คุณจะต้องเปิดแอพ Arduino และป้อนรหัสต่อไปนี้

//เราจะเริ่มด้วยการเพิ่มไลบรารี่ของเรา #include

#รวม

//ประกาศขาดิจิตอลหมายเลข 6 เป็นขาข้อมูล dht11

int pinDHT11 = 6;

SimpleDHT11 dht11;

//ประกาศหมุดจอแอลซีดี

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal LCD (rs, en, d4, d5, d6, d7);

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

// อย่าลืมเลือก 9600 ที่หน้าจอพอร์ต Serial.begin(9600); //บอกให้ LCD ของเราเริ่มทำงาน lcd.begin(16, 2); }

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

// รหัสซีเรียลเหล่านี้ใช้สำหรับอ่านค่าบนหน้าจอพอร์ตและจอ LCD เนื่องจากจะให้อินเทอร์เฟซที่มีรายละเอียดมากขึ้น

Serial.println("================================="); Serial.println("การอ่าน DHT11…"); อุณหภูมิไบต์ = 0; ไบต์ความชื้น = 0; int ผิดพลาด = SimpleDHTERrSuccess;

//บิตนี้จะบอก Arduino ของเราว่าต้องทำอย่างไรหากมีข้อผิดพลาดในการอ่านค่าจากเซ็นเซอร์ของเรา

if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTERrSuccess) { Serial.print("ไม่มีการอ่าน, err="); Serial.println(err);ล่าช้า(1000); กลับ; } Serial.print("การอ่าน: "); Serial.print ((int) อุณหภูมิ); Serial.print(" เซลเซียส "); Serial.print ((int) ความชื้น); Serial.println(" %"); //บอกให้ LCD รีเฟรชตัวเองทุกๆ 0.75 วินาที lcd.clear(); //การเลือกบรรทัดแรกและแถว lcd.setCursor(0, 0); //พิมพ์ Temp: ไปยังบรรทัดแรกโดยเริ่มจากแถวแรก lcd.print("Temp: "); //พิมพ์การอ่านค่าอุณหภูมิหลัง "Temp: " lcd.print((int)temperature); //การเลือกบรรทัดที่สองและแถวแรก lcd.setCursor(0, 1); //กำลังพิมพ์ Humidity(%): ไปยังบรรทัดที่สองโดยเริ่มจากแถวแรก lcd.print("Humidity(%): "); //พิมพ์ค่าความชื้นหลัง "Humidity(%): " lcd.print((int)humidity); ล่าช้า (750); }

ขั้นตอนที่ 10: สิ้นสุด

ขอบคุณทุกท่านที่อ่านบทช่วยสอนนี้

หากเพื่อนๆ มีคำถามเพิ่มเติมที่ต้องการคำตอบ โปรดส่งอีเมลมาที่ [email protected]

ขอขอบคุณ

แนะนำ: