จะต่อเซ็นเซอร์ความชื้นในดินกับ Arduino ได้อย่างไร?

สารบัญ:

จะต่อเซ็นเซอร์ความชื้นในดินกับ Arduino ได้อย่างไร?
จะต่อเซ็นเซอร์ความชื้นในดินกับ Arduino ได้อย่างไร?
Anonim

เมื่อไรคุณไปที่ไหนสักแห่งที่ห่างไกลในช่วงเวลาหนึ่ง? ไม่มีใครรดน้ำดอกไม้ในร่มของคุณ ดังนั้นคุณต้องขอความช่วยเหลือจากเพื่อนบ้าน ที่อาจละเลยเรื่องนี้ เป็นผลให้เมื่อคุณมาถึงต้นไม้จะรู้สึกแย่ เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น คุณสามารถสร้างระบบชลประทานอัตโนมัติ เพื่อจุดประสงค์นี้ เราจำเป็นต้องมี Arduino และเซ็นเซอร์ความชื้นในดิน ในบทความ เราจะพิจารณาตัวอย่างการเชื่อมต่อและการทำงานกับเซ็นเซอร์ FC-28 เขาได้พิสูจน์ตัวเองในด้านบวกด้วยความช่วยเหลือจากโครงการนับพันที่ถูกสร้างขึ้น

เกี่ยวกับ FC-28

มีเซนเซอร์มากมายสำหรับกำหนดความชื้นของโลก แต่ที่นิยมมากที่สุดคือรุ่น FC-28 มันมีราคาต่ำเนื่องจากนักวิทยุสมัครเล่นทุกคนใช้กันอย่างแพร่หลายในโครงการของพวกเขา ใช้เซ็นเซอร์ความชื้นในดินกับ Arduino เขามีโพรบสองตัวที่นำกระแสไฟฟ้าผ่านพื้นดินปรากฎว่าถ้าดินเปียกความต้านทานระหว่างโพรบก็จะน้อยลง ด้วยพื้นดินแห้งความต้านทานจะมากขึ้นตามลำดับ Arduino ยอมรับค่าเหล่านี้ เปรียบเทียบ และเปิดเครื่อง ตัวอย่างเช่น ปั๊ม หากจำเป็น เซ็นเซอร์สามารถทำงานได้ทั้งในโหมดดิจิตอลและอนาล็อก เราจะพิจารณาตัวเลือกการเชื่อมต่อทั้งสองแบบ FC-28 ใช้เป็นหลักในโครงการขนาดเล็ก เช่น เมื่อรดน้ำต้นไม้หนึ่งต้นโดยอัตโนมัติ เนื่องจากไม่สะดวกที่จะใช้ขนาดใหญ่เนื่องจากขนาดและข้อเสีย ซึ่งเราจะพิจารณาด้วย

เซ็นเซอร์ความชื้นในดิน FC-28
เซ็นเซอร์ความชื้นในดิน FC-28

หาซื้อได้ที่ไหน

ความจริงก็คือในร้านค้าของรัสเซีย เซ็นเซอร์สำหรับการทำงานกับ Arduino นั้นค่อนข้างแพง ราคาเฉลี่ยสำหรับเซ็นเซอร์นี้ในรัสเซียแตกต่างกันไปจาก 200 ถึง 300 รูเบิลในขณะที่ Aliexpress เซ็นเซอร์เดียวกันมีราคาเพียง 30-50 เท่านั้น มาร์กอัปมีขนาดใหญ่มาก แน่นอน คุณยังสามารถสร้างเซ็นเซอร์สำหรับวัดความชื้นในดินด้วยมือของคุณเอง แต่ดูรายละเอียดเพิ่มเติมด้านล่าง

เกี่ยวกับการเชื่อมต่อ

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

Pinout เซ็นเซอร์ความชื้นในดิน
Pinout เซ็นเซอร์ความชื้นในดิน

กำลังเชื่อมต่อกับเอาท์พุตดิจิตอล

เชื่อมต่อในลักษณะเดียวกับแอนะล็อก:

  • VCC - 5V บน Arduino
  • D0 - D8 บนบอร์ด Arduino
  • GND -เอิร์ธ.

ดังที่กล่าวไว้ข้างต้น ตัวเปรียบเทียบและโพเทนชิออมิเตอร์จะอยู่บนโมดูลเซ็นเซอร์ ทุกอย่างทำงานดังนี้: เราตั้งค่าขีดจำกัดของเซ็นเซอร์โดยใช้โพเทนชิออมิเตอร์ FC-28 เปรียบเทียบค่ากับขีดจำกัดแล้วส่งค่าไปยัง Arduino สมมติว่าค่าเซ็นเซอร์อยู่เหนือเกณฑ์ ซึ่งในกรณีนี้ เซ็นเซอร์ความชื้นในดินบน Arduino จะส่งสัญญาณ 5V ถ้าน้อยกว่า - 0V ทุกอย่างเรียบง่ายมาก แต่โหมดแอนะล็อกมีค่าที่แม่นยำกว่า ดังนั้นจึงขอแนะนำให้ใช้

การเชื่อมต่อโดยใช้โหมดดิจิตอล
การเชื่อมต่อโดยใช้โหมดดิจิตอล

แผนภาพการเดินสายไฟดูเหมือนภาพด้านบน ทาง

รหัสการเขียนโปรแกรมสำหรับ Arduino เมื่อใช้โหมดดิจิทัลแสดงอยู่ด้านล่าง


int led_pin=13; int sensor_pin=8; การตั้งค่าเป็นโมฆะ () {pinMode (led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } วงเป็นโมฆะ () { if(digitalRead (sensor_pin)==สูง) { digitalWrite (led_pin, สูง); } อื่น ๆ { digitalWrite (led_pin, LOW); ล่าช้า (1000); } }

รหัสของเราใช้ทำอะไร? ขั้นแรกให้ระบุตัวแปรสองตัว ตัวแปรแรก - led_pin - ใช้เพื่อกำหนด LED และตัวที่สอง - เพื่อกำหนดเซ็นเซอร์ความชื้นบนพื้นดิน ต่อไป เราประกาศพิน LED เป็นเอาต์พุต และพินเซ็นเซอร์เป็นอินพุต นี่เป็นสิ่งจำเป็นเพื่อให้เราได้รับค่า และหากจำเป็น ให้เปิด LED เพื่อดูว่าค่าเซ็นเซอร์อยู่เหนือเกณฑ์ ในลูปเราอ่านค่าจากเซ็นเซอร์ หากค่าสูงกว่าขีดจำกัด ให้เปิด LED หากต่ำกว่า ให้ปิด แทนที่จะเป็น LEDอาจจะเป็นปั๊มก็ได้ แล้วแต่เธอ

โหมดอนาล็อก

ในการเชื่อมต่อโดยใช้เอาต์พุตอนาล็อก คุณต้องใช้งาน A0 เซ็นเซอร์ความชื้นในดินแบบ capacitive ใน Arduino ใช้ค่าตั้งแต่ 0 ถึง 1023 เชื่อมต่อเซ็นเซอร์ดังนี้:

  • VCC ต่อ 5V กับ Arduino
  • GND บนเซ็นเซอร์เชื่อมต่อกับ GND บนบอร์ด Arduino
  • A0 เชื่อมต่อกับ A0 บน Arduino

ถัดไป เขียนโค้ดด้านล่างใน Arduino

int sensor_pin=A0; int output_value; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Serial.println("การอ่านเซ็นเซอร์"); ล่าช้า (2000); } วงเป็นโมฆะ () { output_value=analogRead (เซ็นเซอร์_pin); output_value=แผนที่ (output_value, 550, 0, 0, 100); Serial.print("ความชื้น"); Serial.print(output_value); Serial.println("%"); ล่าช้า (1000); }

แล้วโค้ดนี้ใช้ทำอะไร? ขั้นตอนแรกคือการตั้งค่าตัวแปร จำเป็นต้องใช้ตัวแปรแรกเพื่อกำหนดหน้าสัมผัสของเซ็นเซอร์ และอีกตัวแปรหนึ่งจะเก็บผลลัพธ์ที่เราจะได้รับโดยใช้เซ็นเซอร์ ต่อไปเราจะอ่านข้อมูล ในลูป เราเขียนค่าจากเซ็นเซอร์ไปยังตัวแปร output_value ที่เราสร้างขึ้น จากนั้นคำนวณเปอร์เซ็นต์ของความชื้นในดินหลังจากนั้นเราแสดงบนหน้าจอพอร์ต แผนภาพการเดินสายไฟแสดงอยู่ด้านล่าง

การเชื่อมต่ออนาล็อกเซ็นเซอร์ความชื้นในดิน
การเชื่อมต่ออนาล็อกเซ็นเซอร์ความชื้นในดิน

DIY

มีการพูดถึงวิธีเชื่อมต่อเซ็นเซอร์ความชื้นในดินกับ Arduino ข้างต้นแล้ว ปัญหาของเซ็นเซอร์เหล่านี้คือเซ็นเซอร์มีอายุสั้น ความจริงก็คือพวกเขามีแนวโน้มที่จะการกัดกร่อน บางบริษัทผลิตเซ็นเซอร์ด้วยการเคลือบพิเศษเพื่อเพิ่มอายุการใช้งาน แต่ก็ยังไม่เหมือนเดิม ถือว่ายังเป็นตัวเลือกในการใช้เซ็นเซอร์ไม่บ่อยนักแต่เฉพาะเมื่อจำเป็นเท่านั้น ตัวอย่างเช่น มีรหัสโปรแกรมที่เซ็นเซอร์อ่านค่าความชื้นในดินทุกวินาที คุณสามารถยืดอายุการใช้งานได้หากเปิดเครื่อง เช่น วันละครั้ง แต่ถ้าไม่เหมาะกับคุณคุณสามารถสร้างเซ็นเซอร์ความชื้นในดินด้วยมือของคุณเอง Arduino จะไม่รู้สึกถึงความแตกต่าง โดยพื้นฐานแล้วระบบจะเหมือนกัน แทนที่จะใช้เซ็นเซอร์สองตัว คุณสามารถใส่เซ็นเซอร์ของคุณเองและใช้วัสดุที่ไวต่อการกัดกร่อนน้อยกว่า แน่นอนว่าควรใช้ทองคำ แต่เมื่อพิจารณาจากราคาแล้ว มันจะออกมาแพงมาก โดยทั่วไปแล้วจะซื้อถูกกว่าเมื่อพิจารณาจากราคาของ FC-28

DIY เซ็นเซอร์ความชื้นในดิน
DIY เซ็นเซอร์ความชื้นในดิน

ข้อดีและข้อเสีย

บทความกล่าวถึงตัวเลือกในการเชื่อมต่อเซ็นเซอร์ความชื้นในดินกับ Arduino และยังมีการนำเสนอตัวอย่างรหัสโปรแกรมอีกด้วย FC-28 เป็นเซ็นเซอร์ความชื้นในดินที่ดีจริงๆ แต่ข้อดีและข้อเสียของเซ็นเซอร์นี้คืออะไร

ข้อดี:

  • ราคา. เซ็นเซอร์นี้มีราคาต่ำมาก ดังนั้นนักวิทยุสมัครเล่นทุกคนจึงสามารถซื้อและสร้างระบบรดน้ำต้นไม้อัตโนมัติของตนเองได้ แน่นอนว่าเมื่อทำงานกับเครื่องชั่งขนาดใหญ่ เซ็นเซอร์นี้ไม่เหมาะ แต่ไม่ได้มีไว้สำหรับสิ่งนี้ หากคุณต้องการเซ็นเซอร์ที่ทรงพลังกว่านี้ - SM2802B คุณจะต้องจ่ายเงินจำนวนมากสำหรับเซ็นเซอร์นั้น
  • ความเรียบง่าย. ควบคุมงานด้วยเซ็นเซอร์ความชื้นในดินใน Arduino canแต่ละ. สายไฟเพียงไม่กี่เส้น โค้ดสองสามบรรทัด - แค่นั้นเอง ควบคุมความชื้นในดินเสร็จแล้ว

ข้อเสีย:

แนะนำ: