สารบัญ:
- ขั้นตอนที่ 1: ทฤษฎีบางอย่าง
- ขั้นตอนที่ 2: ชิ้นส่วนสำหรับโครงการนี้
- ขั้นตอนที่ 3: The Rain Collector
- ขั้นตอนที่ 4: วงจร
- ขั้นตอนที่ 5: รหัส
- ขั้นตอนที่ 6: การสอบเทียบและการทดสอบ
- ขั้นตอนที่ 7: ความคิดภายหลัง & การรับทราบ
วีดีโอ: การสอบเทียบมาตรวัดปริมาณน้ำฝน Arduino: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
บทนำ:
ในคำแนะนำนี้ เรา 'สร้าง' มาตรวัดปริมาณน้ำฝนด้วย Arduino และปรับเทียบเพื่อรายงานปริมาณน้ำฝนรายวันและรายชั่วโมง ที่ปัดน้ำฝนที่ฉันใช้อยู่คือเกจวัดปริมาณน้ำฝนที่นำกลับมาใช้ใหม่ของประเภทถังให้ทิป มันมาจากสถานีตรวจอากาศส่วนบุคคลที่เสียหาย อย่างไรก็ตามมีคำแนะนำที่ดีมากมายเกี่ยวกับวิธีการสร้างตั้งแต่เริ่มต้น
คำแนะนำนี้เป็นส่วนหนึ่งของสถานีตรวจอากาศที่ฉันทำและเป็นเอกสารเกี่ยวกับกระบวนการเรียนรู้ของฉันที่ปลอมแปลงเป็นบทช่วยสอน:)
ลักษณะของเครื่องวัดปริมาณน้ำฝน:
- การวัดปริมาณน้ำฝนรายวันและรายชั่วโมงเป็นนิ้วเพื่อให้อัปโหลดไปยัง Weather Underground ได้ง่าย
- ไม่รวมรหัส debounding สำหรับสวิตช์แม่เหล็กเพื่อให้รหัสง่าย
- การเป็นบทช่วยสอนมากกว่านั้น ผลิตภัณฑ์สำเร็จรูปจึงเป็นต้นแบบของต้นแบบมากกว่า
ขั้นตอนที่ 1: ทฤษฎีบางอย่าง
มีการรายงาน/วัดปริมาณน้ำฝนเป็นมิลลิเมตรหรือนิ้วซึ่งมีขนาดความยาว บ่งบอกถึงความสูง ทุกส่วนของพื้นที่ฝนตก ถ้าน้ำฝนไม่กระจายและระบายออกไป ดังนั้น ปริมาณน้ำฝน 1.63 มม. จะหมายความว่าถ้าฉันมีแท็งก์ราบเรียบที่มีรูปร่างใดๆ น้ำฝนที่เก็บสะสมไว้จะสูง 1.63 มม. จากก้นถัง
มาตรวัดปริมาณน้ำฝนทั้งหมดมีพื้นที่กักเก็บน้ำฝนและการวัดปริมาณน้ำฝน พื้นที่เก็บกักน้ำคือพื้นที่เก็บน้ำฝน วัตถุที่ใช้วัดจะเป็นการวัดปริมาตรของของเหลว
ดังนั้นปริมาณน้ำฝนในหน่วยมิลลิเมตรหรือนิ้วจะเป็น
ความสูงของน้ำฝน = ปริมาณน้ำฝนสะสม / พื้นที่เก็บกักน้ำ
ในตัวเก็บฝนของฉัน ยาวและกว้าง 11 ซม. คูณ 5 ซม. ตามลำดับ โดยให้พื้นที่เก็บน้ำ 55 ตร.ซม. ดังนั้นปริมาณฝนสะสม 9 มิลลิลิตรจะหมายถึง 9 ซีซี/55 ตร.ซม. = 0.16363… ซม. = 1.6363… มม. = 0.064 นิ้ว
ในเกจวัดปริมาณน้ำฝนแบบให้ทิป ทิปของบุ้งกี๋ 4 ครั้งสำหรับ 9 มล. (หรือ 0.064… นิ้วของฝน) และดังนั้น ทิปเดียวสำหรับ (9/4) มล. = 2.25 มล. (หรือ 0.0161.. นิ้ว) หากเราอ่านค่ารายชั่วโมง (24 ค่าต่อวันก่อนรีเซ็ต) การรักษาความถูกต้องของตัวเลขสำคัญสามหลักก็เพียงพอแล้ว
ดังนั้น ในแต่ละส่วนปลาย/การปั่นป่วน โค้ดจะเข้าถึงได้เป็น 1 ลำดับการเปิด-ปิด หรือคลิกเพียงครั้งเดียว ใช่ เราได้รายงานปริมาณน้ำฝนแล้ว 0.0161 นิ้ว ย้ำนะครับ จากมุมมองของ Arduino
คลิกเดียว = ฝน 0.0161 นิ้ว
หมายเหตุ 1: ฉันชอบระบบหน่วยสากล แต่ Weather Underground ชอบหน่วยอิมพีเรียล/สหรัฐฯ ดังนั้นการแปลงนี้เป็นนิ้ว
หมายเหตุ 2: หากการคำนวณไม่ใช่ถ้วยชาของคุณ ให้ไปที่ Volume of Rainfall ซึ่งให้ความช่วยเหลืออย่างเต็มที่สำหรับเรื่องดังกล่าว
ขั้นตอนที่ 2: ชิ้นส่วนสำหรับโครงการนี้
ชิ้นส่วนส่วนใหญ่วางอยู่รอบ ๆ และรายการยุติธรรม (สำหรับพิธีการ) คือ
- Arduino Uno (หรืออื่น ๆ ที่เข้ากันได้)
- มาตรวัดปริมาณน้ำฝนจากสถานีตรวจอากาศเก่าที่เสียหาย
- เขียงหั่นขนม
- RJ11 เพื่อเชื่อมต่อ Rain Gauge ของฉันกับเขียงหั่นขนม
- ตัวต้านทาน 10K หรือสูงกว่าเพื่อทำหน้าที่เป็นตัวต้านทานแบบดึงขึ้น ผมใช้ไป 15K
- สายจัมเปอร์ชาย-หญิง 2 ชิ้น
- สายจัมเปอร์ตัวผู้-ตัวผู้ 2 เส้น
- สาย USB; A ชายไป B ชาย
เครื่องมือ:
กระบอกฉีดยา (ใช้ความจุ 12 มล.)
ขั้นตอนที่ 3: The Rain Collector
รูปถ่ายของคนเก็บฝนของฉันน่าจะทำให้หลายๆ คนเห็นชัดเจน อย่างไรก็ตาม ฝนที่ตกลงมาบนพื้นที่เก็บกักน้ำจะถูกส่งไปยังถังให้ทิปหนึ่งในสองถังที่อยู่ข้างใน ถังให้ทิปสองถังเชื่อมต่อกันเหมือนกระดานหก และเมื่อน้ำหนักน้ำฝน (ปริมาณน้ำฝน 0.0161 นิ้วสำหรับฉัน) เทลงถังหนึ่งถังจึงเทออก และถังอีกถังลอยขึ้นและวางตำแหน่งตัวเองเพื่อเก็บน้ำฝนครั้งต่อไป การเคลื่อนที่ของแม่เหล็กจะเคลื่อนแม่เหล็กไปไว้เหนือ 'สวิตช์แม่เหล็ก' และวงจรจะเชื่อมต่อด้วยไฟฟ้า
ขั้นตอนที่ 4: วงจร
เพื่อสร้างวงจร
- เชื่อมต่อขาดิจิตอล #2 ของ Arduino กับปลายด้านหนึ่งของตัวต้านทาน
- เชื่อมต่อปลายอีกด้านของตัวต้านทานเข้ากับกราวด์พิน (GND)
- เชื่อมต่อปลายด้านหนึ่งของแจ็ค RJ11 เข้ากับพินดิจิทัล #2 ของ Arduino
- เชื่อมต่อปลายอีกด้านของแจ็ค RJ11 เข้ากับพิน +5V ของ Arduino (5V)
- เสียบมาตรวัดปริมาณน้ำฝนเข้ากับ RJ11
วงจรเสร็จสมบูรณ์ สายจัมเปอร์และเขียงหั่นขนมทำให้การเชื่อมต่อง่ายขึ้น
เพื่อให้โครงการเสร็จสมบูรณ์ให้เชื่อมต่อ Arduino กับพีซีโดยใช้สาย USB และโหลดภาพร่างที่ให้ไว้ด้านล่าง
ขั้นตอนที่ 5: รหัส
ภาพสเก็ตช์ RainGauge.ino (ฝังไว้ที่ส่วนท้ายของขั้นตอนนี้) ได้รับการแสดงความคิดเห็นอย่างดี ดังนั้นฉันจะชี้ให้เห็นสามส่วนเท่านั้น
ส่วนหนึ่งนับจำนวนทิปทิป
if(bucketPositionA==false && digitalRead(RainPin) == สูง){
… … }
อีกส่วนหนึ่งตรวจสอบเวลาและคำนวณปริมาณน้ำฝน
if(now.minute()==0 && first == true){
hourlyRain = dailyRain - รายวันRain_till_LastHour; …… ……
และอีกส่วนหนึ่งจะทำให้ฝนโปรยปรายในตอนกลางวัน เวลาเที่ยงคืน
ถ้า(ตอนนี้.ชั่วโมง() == 0){
ฝนรายวัน = 0; …..
ขั้นตอนที่ 6: การสอบเทียบและการทดสอบ
ถอด Rain Collector ออกจากวงจรที่เหลือและทำตามขั้นตอนต่อไปนี้
- เติมกระบอกฉีดยาด้วยน้ำ ฉันเติมของฉันด้วย 10 มล.
- เก็บ Rain Collector ไว้บนพื้นผิวที่เรียบและเทน้ำออกจากกระบอกฉีดยาทีละน้อย
- ฉันนับถังให้ทิป สี่เคล็ดลับก็เพียงพอแล้วสำหรับฉัน และระบาย 9 มล. จากกระบอกฉีดยา จากการคำนวณ (ดูส่วนทฤษฎี) ฉันได้รับปริมาณฝน 0.0161 นิ้วต่อทิป
- ฉันรวมข้อมูลนี้ไว้ในรหัสของฉันในตอนเริ่มต้น
const double bucketAmount = 0.0161;
แค่นั้นเอง เพื่อความแม่นยำที่มากขึ้น เราสามารถใส่ตัวเลขได้มากกว่านี้ เช่น 0.01610595 แน่นอนว่าตัวเลขที่คำนวณได้ของคุณนั้นคาดว่าจะแตกต่างกันไปหาก Rain Collector ของคุณไม่เหมือนกับของฉัน
สำหรับวัตถุประสงค์ในการทดสอบ
- เชื่อมต่อ Rain Collector เข้ากับช่องเสียบ RJ11
- เชื่อมต่อ Arduino กับพีซีโดยใช้สาย USB
- เปิดจอภาพอนุกรม
- เทน้ำตามปริมาณที่วัดได้ก่อนหน้านี้และสังเกตผลลัพธ์เมื่อครบชั่วโมง
- อย่าเทน้ำใด ๆ แต่รอหนึ่งชั่วโมงถัดไปให้เสร็จ ในกรณีนี้ ปริมาณน้ำฝนรายชั่วโมงต้องเป็นศูนย์
- ให้พีซีที่มีวงจรที่เชื่อมต่ออยู่ข้ามคืนและดูว่าฝนรายวันและฝนรายชั่วโมงจะรีเซ็ตเป็นศูนย์ในเวลาเที่ยงคืนหรือไม่ สำหรับขั้นตอนนี้ คุณสามารถเปลี่ยนนาฬิกาของพีซีให้เป็นค่าที่เหมาะสมได้ (เพื่อดูเอาต์พุตบนจอภาพแบบอนุกรมแบบสด)
ขั้นตอนที่ 7: ความคิดภายหลัง & การรับทราบ
ความละเอียดของการอ่านปริมาณน้ำฝนในกรณีของฉันคือ 0.0161 นิ้ว และไม่แม่นยำมากขึ้น สถานการณ์ในทางปฏิบัติอาจลดความแม่นยำลงอีก การวัดสภาพอากาศไม่มีความแม่นยำของกลศาสตร์ควอนตัม
ส่วนหนึ่งของรหัสถูกยืมมาจาก Lazy Old Geek's Instructable
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino