สารบัญ:
- ขั้นตอนที่ 1: การรับชิ้นส่วนทั้งหมด
- ขั้นตอนที่ 2: เชื่อมต่อทุกส่วนเข้าด้วยกัน
- ขั้นตอนที่ 3: การเขียนโค้ด
- ขั้นตอนที่ 4: การใช้ Arduino. ของคุณ
วีดีโอ: โครงการเซนเซอร์ Arduino DHT22 และความชื้นในดินพร้อมเมนู: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
สวัสดีทุกคน วันนี้ฉันกำลังนำเสนอโครงการที่สองของฉันเกี่ยวกับการสอน โครงการนี้นำเสนอส่วนผสมของโครงการแรกของฉันที่ฉันใช้เซ็นเซอร์ความชื้นในดินและเซ็นเซอร์ DHT22 ซึ่งใช้สำหรับวัดอุณหภูมิและความชื้น โครงการนี้ทำได้ง่าย และคนที่ใช้ Arduino จะรู้สึกว่าน่าสนใจที่จะทำ ความแตกต่างระหว่างโปรเจ็กต์นี้กับโปรเจ็กต์แรกคือในโปรเจ็กต์นี้ผู้ใช้จะมีเมนูที่เขาสามารถเลือกสิ่งที่ต้องการดูได้ในขณะนี้ จะมีสี่ตัวเลือก คว้าชุดคิทของคุณแล้วเริ่มทำโปรเจ็กต์นี้ซึ่งสามารถใช้ได้ในบ้านทุกหลัง
ขั้นตอนที่ 1: การรับชิ้นส่วนทั้งหมด
โครงการนี้ใช้บางส่วน ชิ้นส่วนเหล่านี้มีราคาถูกมากดังนั้นไม่ต้องกังวลกับราคา บางส่วนของชิ้นส่วนที่ใช้ในโครงการนี้สามารถเปลี่ยนแปลงได้เพื่อให้โครงการถูกกว่าที่จะทำ ขึ้นอยู่กับคุณว่าจะใช้ส่วนใดของคำแนะนำและทำให้โครงการนี้ดียิ่งขึ้น ชิ้นส่วนที่ใช้ในโครงการนี้:
- Arduino uno rev3 (คุณสามารถใช้ Arduino อื่น ๆ ได้)
- เขียงหั่นขนม
- LCD 1602 จอแสดงผลสีเขียวพร้อม I2C (คุณสามารถใช้จอแสดงผลที่ไม่มี I2C ได้ แต่คุณจะต้องใช้พินเพิ่มเติมเพื่อเชื่อมต่อ)
- ปุ่มกด 16 ปุ่ม (เปลี่ยนได้)
- FC-28-d โมดูลตรวจจับความชื้นในดิน + เซ็นเซอร์ความชื้นในดิน
- เซ็นเซอร์อุณหภูมิและความชื้น DHT22 (คุณสามารถใช้ DHT11 ซึ่งถูกกว่าได้)
- ไดโอด LED สีแดง
- ไดโอด LED สีน้ำเงิน
- ตัวต้านทาน 2 ตัว 220 โอห์ม (ใช้สำหรับไดโอด)
- ตัวต้านทาน 4k7 ใช้สำหรับ DHT22 บนแผนผัง
- ขั้วต่อแบตเตอรี่ Arduino
- สายจัมเปอร์ไม่กี่สายเพื่อเชื่อมต่อชิ้นส่วนทั้งหมด
สิ่งหนึ่งที่ฉันต้องบอกคุณก่อนเริ่มสร้างโครงการนี้คือ แป้นพิมพ์ไม่จำเป็น ฉันใช้ปุ่มกดในครั้งนี้เพราะตัวเข้ารหัสแบบหมุนของฉันเสีย ฉันคิดว่าโปรเจ็กต์นี้จะสมบูรณ์แบบถ้ามีเครื่องเข้ารหัสแบบโรตารี่ เพราะมันจะใช้พินน้อยกว่า หรือใช้ 3 ปุ่มก็ได้
ขั้นตอนที่ 2: เชื่อมต่อทุกส่วนเข้าด้วยกัน
ในขั้นตอนนี้ คุณจะเห็นแผนผังที่ฉันสร้างด้วยการฟริทซ์ ฉันจะเขียนลงไปเพื่อเชื่อมต่อทุกส่วนสำคัญของโครงการนี้
อย่างที่คุณเห็นเรากำลังใช้ 5V และ GND จาก Arduino เพื่อจ่ายพลังงานให้กับเขียงหั่นขนม
จอแอลซีดี:
- VCC ถึง 5v (+ ส่วนบนเขียงหั่นขนม)
- GND ถึง gnd (- ส่วนบนเขียงหั่นขนม)
- SDA เป็นขาอะนาล็อก A4
- SCL เป็นขาอนาล็อก A5
ปุ่มกด 16 ปุ่ม:
เราใช้พิน 9, 8, 7, 6, 5, 4, 3, 2 เพื่อเชื่อมต่อปุ่มกด (นี่คือเหตุผลที่ฉันจะใช้ตัวเข้ารหัสแบบหมุนเพราะมันใช้เพียง 3 พินบนบอร์ด)
เซ็นเซอร์ความชื้นในดิน:
- VCC ถึง 5v (+ ส่วนบนเขียงหั่นขนม)
- GND ถึง gnd (-ส่วนหนึ่งบนเขียงหั่นขนม)
- D0 เป็นพินดิจิตอล 0
- A0 ถึงพินอะนาล็อก A0
DHT22:
- VCC ถึง 5v (+ ส่วนบนเขียงหั่นขนม)
- GND ถึง gnd (-ส่วนหนึ่งบนเขียงหั่นขนม)
- ขาออกเชื่อมต่อกับพิน 12
การเชื่อมต่อไดโอด:
- ส่วนหนึ่งของไดโอดเข้าสู่ - ส่วนหนึ่งของเขียงหั่นขนม
- ส่วนที่สองผ่านตัวต้านทาน 220 โอห์ม และหลังจากนั้นเชื่อมต่อกับพิน 10 (ไดโอดสีน้ำเงิน) หรือ 11 (ไดโอดสีแดง)
ขั้นตอนที่ 3: การเขียนโค้ด
ฉันจะพยายามอธิบายรหัสในบางส่วน นอกจากนี้ยังมีการเขียนโค้ดแบบเต็มเพื่อให้คุณสามารถคัดลอกและเปลี่ยนได้หากต้องการ นอกจากนี้ ในโค้ดนี้ยังมีวิธีเขียนสองสามวิธีสำหรับการทำงานของเซ็นเซอร์ แต่คราวนี้เน้นที่การสร้างเมนูที่เข้าใจง่ายสำหรับผู้ที่ยังใหม่กับ Arduino ครั้งนี้ฉันไม่ได้ใช้อินเตอร์รัปต์ใดๆ แต่ในโปรเจ็กต์ถัดไป ฉันจะใช้ ดังนั้นโปรดทราบว่าโค้ดนี้จะดีขึ้นมากเมื่อใช้อินเตอร์รัปต์
- ส่วนแรกของรหัสจะรวมไลบรารีที่ใช้ทั้งหมดสำหรับโครงการนี้ โปรดทราบว่าสำหรับทุกส่วนที่ฉันบอกว่าฉันกำลังใช้อยู่ คุณต้องมีไลบรารีถัดไป: Wire, LiquidCrystal_I2C, Keypad และ DHT ไลบรารีทั้งหมดสามารถพบได้บน Arduino IDE หากคุณไปที่ส่วนสเก็ตช์แล้วรวมไลบรารี่ไว้ พึงระลึกไว้เสมอว่าหากคุณใช้บางอย่าง เช่น ตัวเข้ารหัสแบบโรตารี่ คุณอาจจำเป็นต้องได้รับไลบรารีใหม่แทนแป้นกด ซึ่งน่าจะเป็นแบบโรตารี่.h และปุ่ม หากคุณใช้เซ็นเซอร์ DHT11 ไลบรารียังคงเป็น DHT
- ในส่วนที่สองของรหัสจะมีการกำหนดส่วนที่ใช้ทั้งหมด อย่างแรกคือ LCD หลังจากนั้นจะมีเซ็นเซอร์ DHT ซึ่งเป็นตัวแทนของวัตถุที่มีเซ็นเซอร์ประเภท dht และพินที่เชื่อมต่อ เซ็นเซอร์ความชื้นในดินและไดโอดเป็นตัวที่สาม
- ฉันจะอธิบายปุ่มกดอีกเล็กน้อย อย่างที่ฉันบอกว่าเครื่องเข้ารหัสแบบโรตารี่เสีย ฉันเลยตัดสินใจใช้ สำหรับโครงการนี้ แค่มีปุ่มสี่ปุ่มก็เพียงพอแล้ว แม้แต่ปุ่มสามปุ่มก็ยังดี ดังนั้นฉันจึงใช้ปุ่มสี่ปุ่มบนแป้นกดเพียงตัวเลือกเดียว คุณสามารถใช้ปุ่มบางปุ่มได้หากต้องการอย่างอื่นหากคุณมีไอเดีย คุณต้องกำหนดแถวและคอลัมน์ในส่วนนี้ หลังจากนั้น hexaKeys จะแสดงตัวเลือกที่คุณใช้สำหรับโครงการนี้ ในโครงการของฉันมี B (ย้อนกลับ), U(ขึ้น), D(ลง) และ A(ยอมรับ) คุณสามารถทำให้ทุกปุ่มทำอย่างอื่นได้ ปุ่มเดียวสามารถเปิดไฟแบ็คไลท์ หนึ่งปุ่มสามารถปิดได้ ดังนั้นอย่าลังเลที่จะเล่นกับมันมากขึ้น
- ในส่วนนี้เป็นตัวแปรส่วนกลางที่ใช้ในโค้ด ตัวแปรบูลใช้สำหรับเปลี่ยนหน้าจอ ตัวแปรต้อนรับเป็นจริงเพียงไม่กี่วินาทีเมื่อเปิด Arduino หลังจากนั้นจะเป็นเท็จในช่วงเวลาที่เหลือ จุดสนใจหลักอยู่ที่ตัวแปรหน้าจอหลัก ตัวแปรนี้ใช้เพื่อนำทางคุณจากเมนูไปยังตัวเลือกอื่นในโค้ด หากตัวแปรนี้เป็นเท็จ แสดงว่าผู้ใช้ตัดสินใจใช้หนึ่งในสี่ตัวเลือกของโครงการนี้
- นี่คือที่ที่เขียนวิธีการทั้งหมดที่ใช้ในรหัสนี้ ฉันจะพยายามอธิบายวิธีการเขียนทั้งหมดในส่วนนี้
- เป็นโมฆะ startScreen(); // วิธีการเริ่มต้นโครงการและ arduino
- int choiceNumber (ตัวเลือก int); // สิ่งนี้จะเปลี่ยนตัวเลือกของโปรเจ็กต์ของคุณ ตัวเลขเริ่มจาก 1 ถึง 4
- เป็นโมฆะ mainScreenP (ตัวเลือก int); // จะมีการเขียนสี่ตัวเลือกของอุปกรณ์ที่ทำขึ้น
- บูล mainScreenCS (บูล mainScreen); //สิ่งนี้เปลี่ยน mainScreen เป็น false
- bool mainScreenBack (bool หน้าจอหลัก); //สิ่งนี้เปลี่ยน mainScreen เป็น true
- โมฆะ tempCelsius (); // อ่านอุณหภูมิในตัวเลือกเซ็นเซอร์ CD DHT
- โมฆะ tempFarenheit(); // อ่านอุณหภูมิในตัวเลือกเซ็นเซอร์ F DHT
- โมฆะ printHumidity(); // อ่านตัวเลือกเซ็นเซอร์ DHT ความชื้น
- เป็นโมฆะ readSensorData(); // อ่านข้อมูลบนเซ็นเซอร์ที่เชื่อมต่อ
- สตริง getTemperatureC();
- สตริง getTemperatureF();
- สตริง getHumidity();
- โมฆะดินความชื้น(); // นี่สำหรับเซ็นเซอร์และไดโอดอื่น
- เป็นโมฆะ printSensorSoilMoisture(); // พิมพ์ส่วนความชื้นในดินบนจอ LCD
- เป็นโมฆะ diodeLights (ค่า int); // เปิดปิดไดโอด
- เป็นโมฆะ printValue (ค่า int);
6. การตั้งค่าสำหรับ Arduino เป็นส่วนหนึ่งที่คุณตั้งค่าเซ็นเซอร์ LCD และ DHT และไดโอด
7.ส่วนหลักคือส่วนที่ใช้วิธีการเขียนข้างต้นทั้งหมด
รหัสเต็มของโครงการนี้จะอยู่ในไฟล์แนบของขั้นตอนนี้ โปรดทราบว่ามีความเป็นไปได้ที่พินอาจไม่เชื่อมต่อเหมือนในแผนผัง ฉันคิดว่าไดโอดเปลี่ยนไป
ขั้นตอนที่ 4: การใช้ Arduino. ของคุณ
นี่อาจเป็นส่วนที่สนุกที่สุด อย่างน้อยมันก็สนุกกว่าหลังจากเขียนโค้ดทั้งหมดแล้ว ในส่วนนี้ คุณสามารถดูรูปภาพของวิธีการทำงานของโครงการได้ มี 4 ตัวเลือก
- อ่านอุณหภูมิในเซลเซียส
- อ่านอุณหภูมิในฟาเรนไฮต์
- อ่านความชื้น
- การเปิดไดโอดและการอ่านค่าของเซ็นเซอร์ความชื้นในดิน
คุณสามารถเลือกตัวเลือกที่เป็นไปได้ และคุณสามารถย้อนกลับและเลือกอีกครั้งหากต้องการดูอย่างอื่น เรียบง่ายและใช้งานง่าย
หากมีคำถามอื่นใดที่คุณสามารถถามฉันได้ ขอบคุณพวกคุณที่ดูโครงการของฉัน ด้วยความเคารพ. เซบาสเตียน
แนะนำ:
วิธีใช้เซ็นเซอร์ความชื้นและอุณหภูมิ DHT22 กับ Arduino: 6 ขั้นตอน
วิธีใช้เซ็นเซอร์ความชื้นและอุณหภูมิ DHT22 กับ Arduino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้เซ็นเซอร์ความชื้นและอุณหภูมิ DHT22 กับ Arduino และแสดงค่าบนจอแสดงผล OLED ดูวิดีโอ
วัดอุณหภูมิและความชื้นโดยใช้ DHT11 / DHT22 และ Arduino: 4 ขั้นตอน
วัดอุณหภูมิและความชื้นโดยใช้ DHT11 / DHT22 และ Arduino: ในบทช่วยสอน Arduino นี้ เราจะเรียนรู้วิธีการใช้เซ็นเซอร์ DHT11 หรือ DHT22 สำหรับการวัดอุณหภูมิและความชื้นด้วยบอร์ด Arduino
คู่มือสำหรับผู้เริ่มต้นใช้งานเซ็นเซอร์ DHT11/DHT22 พร้อม Arduino: 9 ขั้นตอน
คู่มือสำหรับผู้เริ่มต้นใช้งานเซ็นเซอร์ DHT11/DHT22 พร้อม Arduino: คุณสามารถอ่านบทแนะนำนี้และบทช่วยสอนที่น่าทึ่งอื่นๆ ได้จากเว็บไซต์ทางการของ ElectroPeak ภาพรวมในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีตั้งค่าเซ็นเซอร์ DHT11 และ DHT22 และวัดอุณหภูมิและความชื้นของสิ่งแวดล้อม เรียนรู้: DHT11 และ DHT22
สร้างอุปกรณ์ Apple HomeKit Temperature Sensor (DHT22) โดยใช้ RaspberryPI และ DHT22: 11 ขั้นตอน
สร้างอุปกรณ์ Apple HomeKit Temperature Sensor (DHT22) โดยใช้ RaspberryPI และ DHT22: ฉันกำลังมองหาเซ็นเซอร์อุณหภูมิ / ความชื้นราคาประหยัดที่ฉันสามารถใช้เพื่อตรวจสอบสิ่งที่เกิดขึ้นในพื้นที่รวบรวมข้อมูลของฉัน เนื่องจากฉันพบว่าฤดูใบไม้ผลินี้เปียกมาก และมีความชื้นมาก ดังนั้นฉันจึงมองหาเซ็นเซอร์ราคาสมเหตุสมผลที่ฉันสามารถ
Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] ข้อมูลเซ็นเซอร์หลายตัว!: 3 ขั้นตอน
Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] MULTIPLE SENSOR DATA!: สวัสดี ฉันเห็นว่าไม่มีข้อมูลเกี่ยวกับวิธีการโพสต์ข้อมูลเซ็นเซอร์หลายตัวไปยัง Thingspeak โดย Arduino Uno พร้อมโมดูล SIM900 ดังนั้นฉันจึงสั่งการเชื่อมต่อและกำหนดค่า Arduino UNO ด้วยเซ็นเซอร์ SIM900 และ DHT22 สั้น ๆ ข้อมูลจาก DHT22 (อุณหภูมิ