สารบัญ:
- ขั้นตอนที่ 1: รวบรวมวัสดุ
- ขั้นตอนที่ 2: การตั้งค่าเขียงหั่นขนม
- ขั้นตอนที่ 3: การตั้งค่าจอ LCD
- ขั้นตอนที่ 4: การตั้งค่า Piezo Buzzer
- ขั้นตอนที่ 5: การตั้งค่าเซ็นเซอร์อุณหภูมิ DHT
- ขั้นตอนที่ 6: การตั้งค่า RGB
- ขั้นตอนที่ 7: ตัวเลือกการรองรับการพิมพ์ 3 มิติ
- ขั้นตอนที่ 8: รหัสและไฟล์
- ขั้นตอนที่ 9: รหัส Arduino
วีดีโอ: Arduino LCD ระบบเตือนความปลอดภัยจากอัคคีภัย: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
โปรเจ็กต์นี้เป็นโครงงานที่นักเรียนสร้างขึ้นซึ่งรวมเอาฟังก์ชันต่างๆ ของหน้าจอ LCD, Buzzer, RGB และเซ็นเซอร์อุณหภูมิ DHT
อุณหภูมิโดยรอบปัจจุบันจะแสดงและปรับปรุงบนหน้าจอ LCD
ข้อความที่พิมพ์บนหน้าจอ LCD จะแจ้งให้ผู้ใช้ทราบถึงระดับ "อันตรายจากไฟไหม้"
หน้าจอจะหรี่ลงและกะพริบเพื่อเตือนผู้ใช้ถึงอันตราย
ออดจะดังขึ้นและเร็วขึ้นเพื่อเตือนผู้ใช้ถึงอันตรายขึ้นอยู่กับระดับของความเสี่ยงในปัจจุบัน
RGB เปลี่ยนสีเขียว เหลือง ส้ม และแดง ขึ้นอยู่กับระดับความเสี่ยงในปัจจุบัน
สามารถใส่ลงในกล่องพิมพ์ 3 มิติเพื่อให้ดูเป็นมืออาชีพมากขึ้น
นี้แก้ปัญหาโลกความจริงของคนไม่รู้ว่าเมื่อไรจะเสี่ยงไฟจนจะสายเกินไป
ขั้นตอนที่ 1: รวบรวมวัสดุ
วัสดุที่ใช้ในโครงการนี้:
1x LCD แสดงผล
1x DHT_11 เซนเซอร์วัดอุณหภูมิ
1x RGB
1x Piezo Passive Buzzer 1.0v
2x เขียงหั่นขนมขนาดเล็ก
3x ตัวต้านทานมาตรฐาน
1x เขียงหั่นขนมขนาดปกติ
1x Arduino UNO
Bluetack เพื่อล็อคสายไฟให้เข้าที่
ลวดเชื่อม แบบปลายเปิดและปลายเดี่ยว มีให้เลือกหลายแบบ
อุปกรณ์สำหรับรันโค้ด
เข้าถึงเครื่องพิมพ์ 3D หากคุณต้องการเปลือกนอกและรูปลักษณ์ที่สวยงามยิ่งขึ้น
ขั้นตอนที่ 2: การตั้งค่าเขียงหั่นขนม
1. เชื่อมต่อสายสีส้มจากพินที่ระบุว่า "GND" บนบอร์ด Arduino และเชื่อมต่อกับด้านลบ (สีน้ำเงิน) ของเขียงหั่นขนม จากจุดนี้เป็นต้นไป หากเราจำเป็นต้องใช้ GND สำหรับอุปกรณ์ภายนอกใดๆ เราจะใส่ไว้ในคอลัมน์เดียวกันกับบอร์ดนี้บนเขียงหั่นขนม
2. เชื่อมต่อสายสีแดงจากพินที่ระบุว่า "5V" บนบอร์ด Arduino และเชื่อมต่อกับด้านบวก (สีแดง) ของเขียงหั่นขนม จากจุดนี้เป็นต้นไป หากเราต้องการใช้ 5V สำหรับอุปกรณ์ภายนอกใดๆ เราจะใส่มันลงในคอลัมน์เดียวกันกับบอร์ดนี้บนเขียงหั่นขนม
ขั้นตอนที่ 3: การตั้งค่าจอ LCD
1. พลิกกระดานให้คว่ำโดยให้หมุดทั้งหมดอยู่ทางด้านซ้าย
2. ต่อสาย 5 จากด้านบนซ้ายบนแถวบนของพินและเชื่อมต่อกับพินหมายเลข 4 บน Arduino UNO
3. ต่อสาย 6 จากด้านบนซ้ายบนแถวบนของพินแล้วเชื่อมต่อกับพินหมายเลข 5 บน Arduino UNO
4. เชื่อมต่อสาย 7 จากด้านบนซ้ายบนแถวบนของพิน และเชื่อมต่อกับพินหมายเลข 6 บน Arduino UNO
5. เชื่อมต่อสาย 8 จากด้านบนซ้ายบนแถวบนของพินและเชื่อมต่อกับพินหมายเลข 7 บน Arduino UNO
6. เชื่อมต่อสาย 9 จากด้านบนซ้ายบนแถวบนของพินและเชื่อมต่อกับพินหมายเลข 8 บน Arduino UNO
7. ต่อสาย 10 จากด้านบนซ้ายบนแถวบนของพินแล้วเชื่อมต่อกับพินหมายเลข 9 บน Arduino UNO
8. ต่อสาย 3 จากด้านล่างขวาและเชื่อมต่อกับแถว 5V บนเขียงหั่นขนม
9. ต่อสาย 4 จากด้านล่างขวาและเชื่อมต่อกับแถว GND บนเขียงหั่นขนม
ดูภาพตามแผนภาพวงจรแสดง LCD ที่แตกต่างกัน
ขั้นตอนที่ 4: การตั้งค่า Piezo Buzzer
1. ต่อสายไฟจากพิน GND บนออดกับคอลัมน์ GND (สีน้ำเงิน) บนเขียงหั่นขนม
2. ต่อสายไฟจากพิน VCC บนออดกับคอลัมน์ 5V (สีแดง) บนเขียงหั่นขนม
3. ต่อสายไฟจากพิน SIG บนออดกับพินหมายเลข "10" บนบอร์ด Arduino UNO
ดูภาพด้านบนตามแผนภาพวงจรแสดงออดที่แตกต่างกัน
ขั้นตอนที่ 5: การตั้งค่าเซ็นเซอร์อุณหภูมิ DHT
1. ตั้งค่าเซ็นเซอร์ DHT ในเขียงหั่นขนมตามที่แสดงด้านบน
2. เชื่อมต่อพินแรกทางด้านซ้ายของเซ็นเซอร์ DHT (ที่มีป้ายกำกับว่า VCC ในแผนภาพชิ้นส่วน) กับคอลัมน์ 5V (สีแดง) บนเขียงหั่นขนม
3. เชื่อมต่อพินที่สองทางด้านซ้ายของเซ็นเซอร์ DHT (Labelled DATA ในแผนภาพชิ้นส่วน) เข้ากับพอร์ต A0 บน Arduino UNO
4. เชื่อมต่อพินแรกทางด้านขวาของเซ็นเซอร์ DHT (ติดป้าย GND ในแผนภาพชิ้นส่วน) กับคอลัมน์ GND (สีน้ำเงิน) บนเขียงหั่นขนม
5. ดูบทช่วยสอนและเพิ่ม dht.h Library ที่ส่วนท้ายของคำสั่ง Arduino (นี่เป็นข้อบังคับ)
ขั้นตอนที่ 6: การตั้งค่า RGB
1. วาง RGB ในเขียงหั่นขนมขนาดเล็กดังที่แสดงด้านบนโดยเน้นที่ขาที่สองจากด้านซ้ายของ RGB เป็นหนึ่งช่องที่ใกล้กว่าอีกสามช่อง
2. วางตัวต้านทานมาตรฐานบนพินที่หนึ่ง สาม และสี่ เว้นที่ว่างไว้สำหรับลวดอีกอย่างน้อยหนึ่งเส้น (ตามที่แสดงด้านบน)
3. ต่อสายไฟจากด้านหลังตัวต้านทานบนพินด้านซ้ายของ RGB เข้ากับพิน Labeled 2 บน Arduino UNO
4. ต่อสายไฟจากด้านหลังเส้นที่สองจากพินซ้ายของ RGB เข้ากับคอลัมน์ GND (สีน้ำเงิน) ของเขียงหั่นขนม
5. ต่อสายไฟจากด้านหลังตัวต้านทานบนตัวที่สองจากพินขวาของ RGB ไปยังพินที่ติดป้าย 1 บน Arduino UNO
6. ต่อสายไฟจากด้านหลังตัวต้านทานบนพินด้านขวาของ RGB เข้ากับพิน Labeled 3 บน Arduino UNO
ขั้นตอนที่ 7: ตัวเลือกการรองรับการพิมพ์ 3 มิติ
1. ค้นหาบทช่วยสอนเกี่ยวกับวิธีการพิมพ์ 3 มิติ
2. พิมพ์การออกแบบที่แนบมาด้านล่างซึ่งสร้างขึ้นบน Autodesk Fusion 360 (ไฟล์.stl)
3. ขูดวัสดุ 3D ส่วนเกินออกแล้วเกลี่ยให้เรียบ
4. ดูภาพด้านบนเพื่อเป็นแนวทางในการวางชิ้นส่วน Arduino
ขั้นตอนที่ 8: รหัสและไฟล์
- แนบไลบรารี DHT.h (UNZIP)
-The Code พร้อมความคิดเห็นโดยละเอียดถูกแนบมา แต่ยังอยู่ในขั้นตอนต่อไป
-แนบไฟล์.stl สำหรับเคส 3 มิติ
- มีการแนบแผนภาพวงจรอีกครั้ง ตรวจสอบให้แน่ใจว่าได้อ้างอิงถึงขั้นตอนจริงสำหรับหน้าจอ LCD และ Piezo Buzzer เนื่องจากมีการใช้ส่วนประกอบต่างๆ
ขั้นตอนที่ 9: รหัส Arduino
//LCD FIRE WARNING SYSTEM//อ่านอินพุตจาก DHT Temperature Pin และเปลี่ยน rgb และลำโพงเพื่อระบุว่าผู้ใช้มีอันตรายจากไฟไหม้หรือไม่ ทั้งนี้ขึ้นอยู่กับว่าร้อนหรือไม่ //แสดงอุณหภูมิบนหน้าจอ LCD ด้วย
// DHT SETUP
#include // รวมไลบรารี DHT
#define dht_dpin A0 // บอกบอร์ดว่าพิน DHT อยู่ในอินพุตอนาล็อก 0
ดีเอชที ดีเอชที; // dht = DHT
// การตั้งค่าคริสตัลเหลว
#include // รวมไลบรารี Liquid Crystal
LiquidCrystal LCD (8, 9, 4, 5, 6, 7); //ย่อให้เหลือ LCD / บอก Arduino ว่าพอร์ตใดที่ LCD ใช้
// กำหนด RGB + BUZZER
#define redpin 1 // กำหนด redpin ของ RGB ในพอร์ต 1
#define greenpin 2 // กำหนด greenpin ของ RGB ในพอร์ต 2
#define bluepin 3 // กำหนด bluepin ของ RGB ในพอร์ต 3
#define buzzerpin 10 // กำหนด buzzerpin ในพอร์ต 10
// ตัวแปร/S
int temp = analogRead (DHT.temperature); // สร้างจำนวนเต็ม "temp" ซึ่งเป็นค่าจากคำสั่ง DHT.temperature
การตั้งค่าเป็นโมฆะ () {
// เอาท์พุท/อินพุต
analogWrite (หมุดสีแดง, เอาต์พุต); // ประกาศ/กำหนด redpin เป็น Output
analogWrite (กรีนพิน, เอาต์พุต); // ประกาศ/กำหนดกรีนพินเป็นเอาต์พุต
analogWrite (บลูพิน, เอาต์พุต); // ประกาศ/กำหนด bluepin เป็น Output
โหมดพิน (buzzerpin, OUTPUT); // ประกาศ/กำหนด buzzerpin เป็น Output
// หน้าจอ LCD
lcd.begin (16, 2); // กำหนดหน้าจอ LCD เป็น 16 คอลัมน์และ 2 แถว }
วงเป็นโมฆะ () {
// รหัส LCD โดยไม่มีตัวแปร
DHT.read11(dht_dpin); // อ่านอินพุตจาก dht_dpin ด้วย (A0)
lcd.setCursor(0, 0); //ตั้งค่าเคอร์เซอร์เป็นคอลัมน์ 0, แถว 0
lcd.print("มันคือ"); //เขียนว่า "It's" บนหน้าจอ LCD
lcd.print(DHT.อุณหภูมิ); // พิมพ์ค่า DHT.temperature จากพิน DHT บนคอลัมน์ 0, แถว 0
lcd.print(" "); // พิมพ์ช่องว่างหลังอุณหภูมิ
lcd.print((ถ่าน)223); // พิมพ์เครื่องหมายองศาหลังอุณหภูมิ
lcd.print ("C"); // พิมพ์ "c" หลังเครื่องหมายองศาเพื่อเป็นสัญลักษณ์ของเซลเซียส
// LCD กระพริบ
lcd.setCursor(0, 1); // ตั้งค่าเคอร์เซอร์เป็นคอลัมน์ 0, แถว 1
lcd.noDisplay();
lcd.print("ไม่มีอันตรายจากไฟไหม้"); // พิมพ์ว่า "No Chance of Fire"
lcd.noDisplay(); // ปิดจอแสดงผล LCD (ส่วนหนึ่งของแฟลช)
ล่าช้า(1000);// หยุดนิ่งเป็นเวลา 1 วินาที
lcd.display(); // เปิดจอ LCD อีกครั้ง
ล่าช้า(1000);// เปิดค้างไว้ 1 วินาที
// RGB + BUZZER CODE
analogWrite (หมุดสีแดง, 0); // ไม่มีเอาต์พุตจากหมุดสีแดง
analogWrite (กรีนพิน 255); // 255 เอาต์พุตจาก greenpin (ทำให้ RGB เป็นสีเขียว)
analogWrite (สีน้ำเงิน, 0); // ไม่มีเอาต์พุตจากพินสีน้ำเงิน
โทนเสียง(Buzzerpin, 20, 20); // // ปล่อยความถี่ 20 เฮิรตซ์เป็นเวลา 0.02 วินาทีจากออด
// ถ้าอุณหภูมิ 25-30
ถ้า ((int (DHT.temperature) >= 25.00) && (int (DHT.temperature) <= 30.00)) {
lcd.clear(); //ล้างหน้าจอ LCD
lcd.setCursor(0, 1); //ตั้งค่าเคอร์เซอร์เป็นคอลัมน์ 0, แถว 1
lcd.print("การแจ้งเตือนขนาดเล็ก"); // พิมพ์ "Small Alert" ในคอลัมน์ 0, แถว 1
lcd.noDisplay(); // ปิดจอแสดงผล LCD (ส่วนหนึ่งของแฟลช)
ล่าช้า(1000);// หยุดนิ่งเป็นเวลา 1 วินาที
lcd.display(); // เปิดจอ LCD อีกครั้ง
ล่าช้า(1000);// เปิดค้างไว้ 1 วินาที
analogWrite (หมุดสีแดง 255); // 255 เอาต์พุตจาก redpin (ทำให้ RGB เป็นสีเหลือง)
analogWrite (กรีนพิน 255); // 255 เอาต์พุตจากหมุดสีเขียว (ทำให้ RGB เป็นสีเหลือง)
analogWrite (สีน้ำเงิน, 0); // ไม่มีเอาต์พุตจากพินสีน้ำเงิน
โทนเสียง(Buzzerpin, 200, 100); // ปล่อยความถี่ 200 เฮิรตซ์เป็นเวลา 0.1 วินาทีจากออด
ล่าช้า (300); //.3 วินาทีล่าช้า
} // IF TEMP เป็น 31-37 อย่างอื่น if ((int(DHT.temperature) = 37.00)) {
lcd.clear(); //ล้างหน้าจอ LCD
lcd.setCursor(0, 1); //ตั้งค่าเคอร์เซอร์เป็นคอลัมน์ 0, แถว 1
lcd.print("การแจ้งเตือนระดับกลาง"); // พิมพ์ "Medium Alert" ในคอลัมน์ 0, แถว 1
lcd.noDisplay(); // ปิดจอแสดงผล LCD (ส่วนหนึ่งของแฟลช)
ล่าช้า(500);// หยุดทำงานเป็นเวลา 0.5 วินาที
lcd.display(); // เปิดจอ LCD อีกครั้ง
ล่าช้า(500);// เปิดค้างไว้ 0.5 วินาที
analogWrite (หมุดสีแดง 255); // 255 เอาต์พุตจาก redpin (ทำให้ RGB เป็นสีส้ม)
analogWrite (กรีนพิน 165); // เอาต์พุต 165 จากหมุดสีเขียว (ทำให้ RGB เป็นสีส้ม)
analogWrite (สีน้ำเงิน, 0); // ไม่มีเอาต์พุตจาก bluepin
โทนเสียง(buzzerpin, 500, 900); // ปล่อยความถี่ 500 เฮิรตซ์เป็นเวลา 0.9 วินาทีจากออด
ล่าช้า (300); //.3 วินาทีล่าช้า
} // ถ้าอุณหภูมิเป็น 38-100
อื่นถ้า ((int (DHT.temperature) = 100.00)) {
lcd.clear(); //ล้างหน้าจอ LCD
lcd.setCursor(0, 1); //ตั้งค่าเคอร์เซอร์เป็นคอลัมน์ 0, แถว 1
lcd.print("โทร 000"); // พิมพ์ "Call 000" ในคอลัมน์ 0, แถว 1
lcd.noDisplay(); // ปิดจอแสดงผล LCD (ส่วนหนึ่งของแฟลช)
ล่าช้า(250);// หยุดทำงานเป็นเวลา 0.25 วินาที
lcd.display(); // เปิดจอ LCD อีกครั้ง
ล่าช้า (250); // เปิดค้างไว้ 0.25 วินาที
analogWrite (หมุดสีแดง 255); // 255 เอาต์พุตจาก redpin (ทำให้ RGB เป็นสีแดง)
analogWrite (กรีนพิน, 0); // ไม่มีเอาต์พุตจาก greenpin
analogWrite (สีน้ำเงิน, 0); // ไม่มีเอาต์พุตจาก bluepin
โทนเสียง(buzzerpin, 1000, 900); // ปล่อยความถี่ 1,000 เฮิรตซ์เป็นเวลา 0.9 วินาทีจากออด
ล่าช้า (300); //.3 วินาทีล่าช้า
}}
แนะนำ:
LCD Invaders: Space Invaders Like Game บนจอแสดงผล LCD ขนาด 16x2: 7 ขั้นตอน
LCD Invaders: Space Invaders Like Game บนจอแสดงผล LCD ขนาด 16x2: ไม่จำเป็นต้องแนะนำเกม "Space Invaders" ในตำนาน คุณลักษณะที่น่าสนใจที่สุดของโครงการนี้คือการใช้การแสดงข้อความสำหรับการแสดงผลแบบกราฟิก ทำได้โดยใช้อักขระที่กำหนดเอง 8 ตัว คุณสามารถดาวน์โหลด Arduino
Arduino LCD 16x2 บทช่วยสอน - การเชื่อมต่อจอแสดงผล LCD 1602 กับ Arduino Uno: 5 ขั้นตอน
Arduino LCD 16x2 บทช่วยสอน | การเชื่อมต่อจอแสดงผล LCD 1602 กับ Arduino Uno: สวัสดีทุกคนเนื่องจากหลายโครงการต้องการหน้าจอเพื่อแสดงข้อมูลไม่ว่าจะเป็นมิเตอร์แบบ DIY หรือการแสดงจำนวนการสมัคร YouTube หรือเครื่องคิดเลขหรือล็อคปุ่มกดพร้อมจอแสดงผลและหากโครงการประเภทนี้ทั้งหมดถูกสร้างขึ้นด้วย Arduino พวกเขาจะกำหนด
จอ LCD I2C / IIC - ใช้ SPI LCD กับจอแสดงผล LCD I2C โดยใช้โมดูล SPI เป็น IIC กับ Arduino: 5 ขั้นตอน
จอ LCD I2C / IIC | ใช้ SPI LCD กับจอแสดงผล LCD I2C โดยใช้โมดูล SPI เป็น IIC กับ Arduino: สวัสดีทุกคน เนื่องจาก SPI LCD 1602 ปกติมีสายเชื่อมต่อมากเกินไป ดังนั้นจึงยากมากที่จะเชื่อมต่อกับ Arduino แต่มีโมดูลเดียวในตลาดที่สามารถทำได้ แปลงจอแสดงผล SPI เป็นจอแสดงผล IIC ดังนั้นคุณต้องเชื่อมต่อเพียง 4 สายเท่านั้น
จอ LCD I2C / IIC - แปลง SPI LCD เป็นจอแสดงผล LCD I2C: 5 ขั้นตอน
จอ LCD I2C / IIC | แปลง SPI LCD เป็น I2C LCD Display: การใช้จอแสดงผล spi lcd จำเป็นต้องมีการเชื่อมต่อมากเกินไป ซึ่งทำได้ยากมาก ดังนั้นฉันจึงพบโมดูลที่สามารถแปลง i2c lcd เป็น spi lcd ได้ ดังนั้นมาเริ่มกันเลย
SENSOR SUHU DENGAN LCD DAN LED (สร้างเซ็นเซอร์อุณหภูมิด้วย LCD และ LED): 6 ขั้นตอน (พร้อมรูปภาพ)
SENSOR SUHU DENGAN LCD DAN LED (การทำเซ็นเซอร์อุณหภูมิด้วย LCD และ LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD และ LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda… เพิ่มเติม