สารบัญ:

ดินชุ่มชื้นด้วยโหนด: 7 ขั้นตอน
ดินชุ่มชื้นด้วยโหนด: 7 ขั้นตอน

วีดีโอ: ดินชุ่มชื้นด้วยโหนด: 7 ขั้นตอน

วีดีโอ: ดินชุ่มชื้นด้วยโหนด: 7 ขั้นตอน
วีดีโอ: นิทาน เรื่อง แรงพิโรธจากฟ้าดิน - สื่อการเรียนการสอน 2024, พฤศจิกายน
Anonim
Image
Image
ดินชุ่มชื้นด้วยโหนด
ดินชุ่มชื้นด้วยโหนด
ดินชุ่มชื้นด้วยโหนด
ดินชุ่มชื้นด้วยโหนด
ดินชุ่มชื้นด้วยโหนด
ดินชุ่มชื้นด้วยโหนด

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

ในตอนท้ายของคำแนะนำ คุณจะทราบวิธีการเปลี่ยนสีของแถบนำเมื่อดินเปียก เปียกเล็กน้อย หรือแห้ง

ในคู่มือนี้ฉันจะใช้:

  • Arduino เวอร์ชัน 1.8.9
  • ห้องสมุด Adafruit_NeoPixel.h

เสบียง

คุณจะต้อง:

  • NodeMCU 1.0 (โมดูล ESP-12E)
  • สายเคเบิลตัวเมียถึงตัวเมีย 1 เส้น
  • แถบ LED
  • (ไม่บังคับ) เซ็นเซอร์ดิน Homade (ดูวิดีโอด้านบนจนถึง 00:36)

ขั้นตอนที่ 1: ตั้งค่า

ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
  • ใช้โหนดและเซ็นเซอร์ดินของคุณ
  • เชื่อมต่อเซ็นเซอร์ดินกับ A0.(ภาพที่ 1) (หรือจะใช้สายเคเบิลตัวเมียแบบรางและเชื่อมต่อกับ A0 (ภาพที่ 3)

นำแถบ LED ของคุณและใส่ GND ใน G, 5V บน 3V และสายกลางใน D5 (ภาพที่ 2)

ตอนนี้มันจะดูเหมือนรูปสุดท้าย

ขั้นตอนที่ 2: การเพิ่มรหัสสำหรับเซ็นเซอร์ดิน

การเพิ่มรหัสสำหรับเซ็นเซอร์ดิน
การเพิ่มรหัสสำหรับเซ็นเซอร์ดิน
  • สร้างโครงการใหม่ใน arduino IDE
  • ที่ผ่านมาในรหัสต่อไปนี้:

/* อินพุตอะนาล็อก, เอาต์พุตอะนาล็อก, เอาต์พุตอนุกรม

อ่านพินอินพุตแบบอะนาล็อก จับคู่ผลลัพธ์กับช่วงตั้งแต่ 0 ถึง 255 และใช้ผลลัพธ์เพื่อตั้งค่าการปรับความกว้างพัลส์ (PWM) ของพินเอาต์พุต ยังพิมพ์ผลลัพธ์ไปยัง Serial Monitor

วงจร: - โพเทนชิออมิเตอร์เชื่อมต่อกับพินอะนาล็อก 0 พินกลางของโพเทนชิออมิเตอร์ไปที่พินอะนาล็อก หมุดด้านข้างของโพเทนชิออมิเตอร์ไปที่ +5V และกราวด์ - LED เชื่อมต่อจากพินดิจิตอล 9 ถึงกราวด์

สร้างขึ้น 29 ธ.ค. 2551 แก้ไขเมื่อ 9 เม.ย. 2555 โดย Tom Igoe

รหัสตัวอย่างนี้เป็นสาธารณสมบัติ

www.arduino.cc/en/Tutorial/AnalogInOutSeri… *

/ ค่าคงที่เหล่านี้จะไม่เปลี่ยนแปลง ใช้เพื่อตั้งชื่อพินที่ใช้: const int analogInPin = A0; // พินอินพุตแบบอะนาล็อกที่ต่อโพเทนชิออมิเตอร์กับ const int analogOutPin = D5; // พินเอาต์พุตแบบอะนาล็อกที่ต่อ LED ไว้

int sensorValue = 0; // ค่าที่อ่านจากหม้อ

การตั้งค่าเป็นโมฆะ () {// เริ่มต้นการสื่อสารแบบอนุกรมที่ 9600 bps: Serial.begin (9600); }

วงเป็นโมฆะ () {// อ่านค่าแอนะล็อก: sensorValue = analogRead (analogInPin);

// พิมพ์ผลลัพธ์ไปยัง Serial Monitor: Serial.print("sensor = "); Serial.print(เซ็นเซอร์ค่า); Serial.print("\n"); // Serial.println(outputValue);

// รอ 1 มิลลิวินาทีก่อนวนรอบถัดไปสำหรับตัวแปลงแอนะล็อกเป็นดิจิทัล // ตัวแปลงจะชำระหลังจากการอ่านครั้งล่าสุด: ล่าช้า (1000); }

ตอนนี้คุณสามารถตรวจสอบว่าเซ็นเซอร์ของคุณมีค่าหรือไม่

แตะปลายสกรูหรือสายเคเบิลแล้วคุณจะเห็นบางอย่างเช่นภาพที่ 1

หากไม่ได้ผล ให้ตรวจสอบสายเคเบิลของคุณ เชื่อมต่อถูกต้องหรือไม่?

ขั้นตอนที่ 3: Neopixel Library

Neopixel Library
Neopixel Library
  • ดาวน์โหลดไลบรารี adafruit_neopixel (หากยังไม่ได้ดำเนินการ)

    • ไปที่เครื่องมือ>จัดการไลบรารี
    • ค้นหา adafruit neopixel photo 1
    • ติดตั้งเวอร์ชัน 1.2.5

ขั้นตอนที่ 4: การตั้งค่าโค้ด Neopixel

  • เพิ่มสิ่งต่อไปนี้ที่ด้านบนของโครงการของคุณ

    • #รวม
    • #รวม
    • #รวม "Adafruit_NeoPixel.h"
  • ด้านล่างนั้น:

ถ่าน ssid = "SSID"; // SSID เครือข่ายของคุณ (ชื่อ)

รหัสผ่านถ่าน = "รหัสผ่าน"; // รหัสผ่านเครือข่ายของคุณ

และด้านล่างนั้น

#define PIXEL_PIN D5#define PIXEL_COUNT 30 // เปลี่ยนเป็น maney led's บนแถบของคุณ

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

Adafruit_NeoPixel พิกเซล = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

ขั้นตอนที่ 5: โมฆะการตั้งค่า

ใส่รหัสต่อไปนี้ในการตั้งค่าโมฆะ ()

พิกเซล.begin(); // เริ่มต้นวัตถุแถบ NeoPixel (จำเป็น)pixels.show(); // ปิดพิกเซลทั้งหมดโดยเร็วที่สุด

พิกเซล.setBrightness(50); //ต้องอยู่ระหว่าง 0 ถึง 255 หากคุณต้องการให้แถบไฟ LED สว่างขึ้น คุณสามารถเพิ่มจำนวนได้

ขั้นตอนที่ 6: Void Loop

ใน void loop() และต่ำกว่า delay(1000); ป้อนรหัสต่อไปนี้

ถ้า (sensorValue == 0 || sensorValue <= 200) {

สำหรับ(int i=0; i

พิกเซล.setPixelColor(i, 255, 0, 0);

พิกเซล.show();

}

} else if (sensorValue > 200 || sensorValue <= 500) {

สำหรับ (int i=0; i

พิกเซล.setPixelColor(i, 0, 255, 0);

พิกเซล.show();

}

} else if (sensorValue > 500) {

สำหรับ(int i=0; i

พิกเซล.setPixelColor(i, 0, 0, 255);

พิกเซล.show();

}

}

}

ขั้นตอนที่ 7: ตรวจสอบ

ตรวจสอบ
ตรวจสอบ
ตรวจสอบ
ตรวจสอบ

ยินดีด้วย! คุณเพิ่งสร้างระบบที่สามารถระบุได้ว่าดินเปียกหรือแห้ง

ตอนนี้เมื่อคุณใส่เซ็นเซอร์ในดินเปียก ไฟ LED จะเปลี่ยนเป็นสีเขียว และเมื่ออยู่ในดินแห้ง มันจะเปลี่ยนเป็นสีแดง เช่นเดียวกับภาพด้านบน

แนะนำ: