สารบัญ:

การโทรปลุกอัตโนมัติเมื่อหิมะตก: 6 ขั้นตอน (พร้อมรูปภาพ)
การโทรปลุกอัตโนมัติเมื่อหิมะตก: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การโทรปลุกอัตโนมัติเมื่อหิมะตก: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การโทรปลุกอัตโนมัติเมื่อหิมะตก: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การพ่นทรายลงบนรางเมื่อรถไฟวิ่ง 2024, กรกฎาคม
Anonim
การโทรปลุกอัตโนมัติด้วยหิมะ
การโทรปลุกอัตโนมัติด้วยหิมะ
การโทรปลุกอัตโนมัติด้วยหิมะ
การโทรปลุกอัตโนมัติด้วยหิมะ

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

โปรเจ็กต์นี้ใช้ Arduino, เซ็นเซอร์วัดระยะทาง และ IFTTT (เว็บไซต์ที่ใช้งานง่าย) เพื่อปลุกโทรศัพท์ของคุณโดยอัตโนมัติหากมีหิมะตกในชั่วข้ามคืน เมื่อพร้อมแล้ว คุณจะต้องวางอุปกรณ์ที่คุณสร้างไว้บนที่สูง (เช่น บนขาตั้งกล้อง) แล้วชี้ลงที่พื้น จากนั้นจะวัดระยะห่างระหว่างตัวมันกับพื้นอย่างต่อเนื่อง ขณะที่หิมะตก "พื้นดิน" จะเคลื่อนขึ้นสู่พื้น ดังนั้นระยะทางที่วัดได้จึงลดลง หากตอนเย็นและตอนเช้ามีความแตกต่างกันมากพอ อุปกรณ์จะเตือนคุณว่าหิมะตก!

อุปกรณ์อิเล็กทรอนิกส์นั้นง่ายต่อการเชื่อมต่อ และฉันจะให้รหัส ไปกันเลย!

เสบียง

  1. ไมโครชิปที่เข้ากันได้กับ Arduino ที่เปิดใช้งาน Wifi สำหรับโครงการนี้ ฉันคิดว่าคุณจะใช้ ESP8266 NodeMCU Development Board ซึ่งฉันแนะนำด้วยเหตุผลหลายประการ:

    • มี Wifi ในตัว
    • มันเผยให้เห็นหมุดทั้งหมดที่คุณอาจต้องการ
    • มีอินเทอร์เฟซ USB ที่ใช้งานง่ายสำหรับการเขียนโปรแกรม
    • จะจัดการการรีเซ็ตบอร์ดเมื่ออัปโหลดโค้ด และแสดงปุ่มรีเซ็ตสำหรับการดีบัก
  2. เซ็นเซอร์ช่วง TF Mini Lidar

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

  3. เขียงหั่นขนมขนาดเล็ก
  4. ขาตั้งกล้องหรือวิธีแก้ปัญหาใดๆ สำหรับติดตั้งเซ็นเซอร์เหนือหิมะไม่กี่ฟุต
  5. สายไมโครยูเอสบี
  6. สายต่อ.
  7. ที่ชาร์จ usb
  8. ภาชนะพลาสติก

หมายเหตุ สามารถซื้อรายการที่ 5 ขึ้นไปที่ Dollar Tree ได้อย่างง่ายดาย

ราคาแตกต่างกันไป แต่ฉันสามารถทำโครงการนี้ได้ประมาณ 50 เหรียญ (ไม่นับขาตั้งกล้อง) โดยการซื้อชิ้นส่วนง่ายๆ ที่ Dollar Tree ส่วนที่แพงที่สุดคือเซ็นเซอร์ Lidar ซึ่งสามารถนำมาใช้ซ้ำสำหรับโครงการอื่นได้อย่างแน่นอน

ขั้นตอนที่ 1: อิเล็กทรอนิกส์ (ฮาร์ดแวร์)

อิเล็กทรอนิกส์ (ฮาร์ดแวร์)
อิเล็กทรอนิกส์ (ฮาร์ดแวร์)
อิเล็กทรอนิกส์ (ฮาร์ดแวร์)
อิเล็กทรอนิกส์ (ฮาร์ดแวร์)
อิเล็กทรอนิกส์ (ฮาร์ดแวร์)
อิเล็กทรอนิกส์ (ฮาร์ดแวร์)

อุปกรณ์อิเล็กทรอนิกส์สำหรับโครงการนี้น่าจะประกอบได้อย่างรวดเร็ว เพียงเชื่อมต่อ TF Mini Lidar Distance Sensor เข้ากับชิป สายไฟควรเชื่อมต่อตามที่อธิบายไว้ในคู่มือ SparkFun ที่ยอดเยี่ยมนี้

ข้อมูลสรุปโดยย่อมีดังนี้

เซนเซอร์ -> ESP8266

สีเขียว -> D2 (aka GPIO 4 ซึ่งเราจะใช้เป็น RX ของเรา)

สีขาว -> D1 (aka GPIO 5 ซึ่งเราจะใช้เป็น TX ของเรา)

สีแดง -> วิน

สีดำ -> Gnd

ขั้นตอนที่ 2: อิเล็กทรอนิกส์ (ซอฟต์แวร์)

อิเล็กทรอนิกส์ (ซอฟต์แวร์)
อิเล็กทรอนิกส์ (ซอฟต์แวร์)

ไมโครชิปตัดสินใจส่งการปลุกให้คุณ ดังนั้นเราจึงต้องตั้งโปรแกรมให้เหมาะสม! ในการเขียนโปรแกรมชิปของคุณ เราจะใช้ภาษาที่เรียกว่า Arduino ซึ่งคุณสามารถอัปโหลดไปยังชิปของคุณโดยใช้ Arduino IDE (ซอฟต์แวร์ที่ทำงานบนคอมพิวเตอร์ของคุณ)

1. ดาวน์โหลดซอฟต์แวร์ Arduino ที่นี่ คู่มือนี้จะอ้างอิงถึงเมนู Arduino Desktop IDE ดังนั้นให้ดาวน์โหลดเลย เว้นแต่คุณจะคุ้นเคยกับ Web IDE มาก

2. ตั้งค่า Arduino Desktop IDE ของคุณเพื่อทำงานกับไมโครชิป ESP8266 คำแนะนำสำหรับสิ่งนั้นสามารถพบได้ที่นี่ ต่อจากนี้ไป คู่มือนี้จะถือว่าคุณมีไฟ LED กะพริบและรู้วิธีอัปโหลดสคริปต์ไปยัง ESP8266

3. ดาวน์โหลดสคริปต์เพื่ออัปโหลดไปยังไมโครชิปจาก https://github.com/robertclaus/snowalert ไม่จำเป็นต้องแก้ไขสคริปต์ ทุกสิ่งที่คุณต้องกำหนดค่าจะสามารถกำหนดค่าได้หลังจากที่คุณอัปโหลดรหัส

4. เปิดสคริปต์ใน Arduino และติดตั้งไลบรารีที่ขึ้นอยู่กับระบบของคุณ ที่ด้านบนของ IDE ให้คลิก: Sketch -> Include Libraries -> Manage Libraries

จากนั้นค้นหาและติดตั้งไลบรารีเหล่านี้:

  • WifiManager โดย tzapu (เวอร์ชัน 0.14.0)
  • ArduinoJson โดย Benoit Blanchon (เวอร์ชั่น 6.14.1)
  • TFminiArduino โดย Hideakitai (เวอร์ชั่น 0.1.1)
  • NTPClient โดย Fabrice Weinberg (เวอร์ชัน 3.2.0)
  • ESP_DoubleResetDetector โดย Khoi Hoang (เวอร์ชัน 1.0.1)

5. กำหนดค่าบอร์ดของคุณสำหรับโครงการนี้ ที่ด้านบนของ IDE คลิกเครื่องมือและปรับการตั้งค่าเหล่านี้:

  • ขนาดแฟลช - 4M (1M SPIFFS) -- สงวนพื้นที่สำหรับการกำหนดค่าของเราที่จะบันทึก
  • ลบ Flash - เนื้อหาทั้งหมด - ทำให้แน่ใจว่าไม่มีข้อมูลก่อนหน้าบนชิป

    หมายเหตุ หากคุณต้องการอัปเดตโค้ด การตั้งค่านี้เป็น Sketch Only จะคงการกำหนดค่าของคุณไว้

6. ตรวจสอบให้แน่ใจว่าได้เสียบไมโครชิป ESP เข้ากับคอมพิวเตอร์แล้วและมีพอร์ตที่กำหนด เลือกพอร์ตที่ถูกต้องใน IDE แล้วอัปโหลด!

7. เปิด Serial Monitor (เครื่องมือ -> Serial Monitor) ใน Arduino IDE จากนั้นคลิกปุ่มรีเซ็ตบนชิปของคุณ ยืนยันว่าคุณได้รับข้อความที่แสดงใน Serial Monitor

ขั้นตอนที่ 3: การกำหนดค่า IFTTT

การกำหนดค่า IFTTT
การกำหนดค่า IFTTT
การกำหนดค่า IFTTT
การกำหนดค่า IFTTT
การกำหนดค่า IFTTT
การกำหนดค่า IFTTT

ตอนนี้ Arduino ของคุณกำลังทำงาน เราต้องกำหนดค่าให้ทำในสิ่งที่เราต้องการ สำหรับบทช่วยสอนนี้ เราจะใช้บริการที่เรียกว่า IFTTT ซึ่งช่วยให้เราแปลข้อความง่ายๆ จาก Arduino เป็นการดำเนินการที่ซับซ้อนยิ่งขึ้น

ตัวอย่างเช่น หาก Arduino ของเราบอกว่า "หิมะตก!" จากนั้น IFTTT ควรโทรหาโทรศัพท์มือถือของเราด้วยการโทรปลุก

1. คุณจะต้องมีบัญชี IFTTT ฟรี ซึ่งคุณสามารถสร้างได้ที่

2. ในการสร้าง Applet ใหม่ที่ใช้ตรรกะนี้ ให้ไปที่ Create หรือเพียงไปที่ลิงก์นี้:

3. คลิกที่สิ่งนี้ -> ค้นหาและเลือก Webhooks -> หากระบบขอให้คุณคลิก เชื่อมต่อ -> ป้อน snow_alert ในช่อง

4. คลิกที่นั่น -> ค้นหาและเลือกการโทร (สหรัฐฯ เท่านั้น) -> หากระบบขอให้คุณทำ ให้คลิกเชื่อมต่อ -> หากคุณได้รับป๊อปอัป ให้ปฏิบัติตามข้อความแจ้ง -> ป้อนข้อความเหมือนหิมะตกเมื่อคืนนี้! ที่คุณต้องการให้โทรศัพท์อ่านให้คุณฟัง

5. คลิก เสร็จสิ้น เพื่อเปิดใช้งานแอปเพล็ตของคุณ

6. ทดสอบ Webhook ของคุณโดยไปที่การตั้งค่าบริการ Webhooks ใน IFTTT และค้นหา URL ทดสอบที่แสดงอยู่ที่นั่น ไปที่ URL นั้นและแทนที่ {event} ด้วย snow_alert จากนั้นคลิกทดสอบ หากทุกอย่างใช้งานได้คุณควรรับสาย!

7. ในหน้าทดสอบ ให้บันทึก URL ไว้ที่ด้านล่างของหน้า คุณจะต้องใช้มันในขั้นตอนต่อไป ควรมีลักษณะดังนี้:

maker.ifttt.com/trigger/snow_alert/with/key/d-Y8rXge5kibp0dkdrCgxu

สำหรับปัญหาการดีบัก ผู้ใช้อาจต้องการบันทึกความสูงของหิมะเมื่อเวลาผ่านไป พวกเขาสามารถกำหนดค่าแอปเพล็ต IFTTT แยกต่างหากที่ยอมรับเว็บฮุค snow_measurement และบันทึกไปยัง Google ชีต ในการดำเนินการนี้ เพียงทำซ้ำขั้นตอนข้างต้น แต่แทนที่ snow_alert ด้วย snow_measurement ในขั้นตอน Webhooks ด้านบน และแทนที่ขั้นตอนการโทรศัพท์ด้วยบริการ Google ชีต -> เพิ่มแถวในสเปรดชีต

ขั้นตอนที่ 4: การกำหนดค่า SnowAlert

การกำหนดค่า SnowAlert
การกำหนดค่า SnowAlert

ณ จุดนี้ขั้นตอนซอฟต์แวร์สุดท้ายคือการกำหนดค่ารหัสบน ESP ของคุณเพื่อส่งข้อความไปยังแอปเพล็ต IFTTT ใหม่ของคุณ

สำหรับการกำหนดค่านี้ เราขอแนะนำให้คุณปฏิบัติตามคำแนะนำของ SnowAlert บน Github เนื่องจากคำแนะนำในที่นี้อาจล้าสมัยหาก SnowAlert ได้รับคุณลักษณะใหม่

ในขณะที่เขียนคำแนะนำเหล่านี้ คุณจะต้องดำเนินการดังต่อไปนี้

ที่สำคัญ ทุกครั้งที่คุณกำหนดค่าจะต้องอยู่ในเขตเวลา UTC และอยู่ในรูปแบบเวลา 24 ชั่วโมง (ไม่ใช่ AM/PM)

  1. เลือกเวลาที่คุณต้องการรับสายในตอนเช้า นี่คือเวลาสิ้นสุดของคุณ
  2. ตัดสินใจว่าจะเริ่มวัดเวลาใดในเย็นวันก่อน นี่คือเวลาเริ่มต้นของคุณ
  3. เสียบปลั๊ก ESP ของคุณและเปิด Serial Monitor ใน Arduino IDE เหมือนที่เราทำก่อนหน้านี้
  4. เชื่อมต่อกับเครือข่าย wifi SnowMeasure บนคอมพิวเตอร์ของคุณ คุณควรเห็นกิจกรรมบางอย่างใน Serial Monitor เมื่อคุณเชื่อมต่อ
  5. คุณควรถูกนำไปยังหน้าการตั้งค่าในเบราว์เซอร์ของคุณโดยอัตโนมัติหลังจากผ่านไปสองสามวินาที
  6. คลิกกำหนดค่า Wifi
  7. ป้อนค่าต่อไปนี้:

    1. SSID - เครือข่าย wifi ที่ ESP ควรเชื่อมต่อสำหรับอินเทอร์เน็ต
    2. รหัสผ่าน - รหัสผ่านเพื่อเชื่อมต่อกับเครือข่าย wifi นั้น
    3. Start Hour - ชั่วโมงที่คุณต้องการวัดความสูงของหิมะในตอนเย็น
    4. นาทีเริ่มต้น - องค์ประกอบนาทีของเวลาที่คุณต้องการวัดในตอนเย็น
    5. End Hour - ชั่วโมงที่คุณต้องการวัดความสูงของหิมะในตอนเช้า (และอาจโทรหาคุณ)
    6. นาทีสิ้นสุด - องค์ประกอบนาทีของเวลาที่คุณต้องการวัดในตอนเช้า
    7. Alert Webhook URL - นี่ควรเป็น url ที่คุณบันทึกไว้ในขั้นตอนก่อนหน้าซึ่งมีลักษณะดังนี้:
    8. URL เว็บฮุคสำหรับการวัด - ควรเป็น URL เดียวกับด้านบน แต่แทนที่ snow_alert ด้วย snow_measurement

ขั้นตอนที่ 5: ติดตั้งเซนเซอร์

ติดตั้งเซนเซอร์
ติดตั้งเซนเซอร์
ติดตั้งเซนเซอร์
ติดตั้งเซนเซอร์
ติดตั้งเซนเซอร์
ติดตั้งเซนเซอร์

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

  • ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ของคุณคว่ำลงที่มุมเล็กน้อย คุณไม่ต้องการให้มองลงมาตรงๆ เพราะกล่องของคุณจะทำให้เกิดเงาในที่ที่หิมะไม่กระทบพื้น
  • คุณจะต้องให้เซ็นเซอร์ขึ้นจากหิมะประมาณ 2-3 ฟุต
  • หิมะละลายเป็นน้ำ ดังนั้นตรวจสอบให้แน่ใจว่าการตั้งค่าของคุณกันน้ำได้พอสมควร
  • ให้แน่ใจว่าคุณมีพลัง! อาจเป็นสาย USB ยาวหรือสายต่อเพื่อพาคุณออกจากหลังคาเพื่อไปยังจุดที่มีประโยชน์ ไม่ว่าจะด้วยวิธีใด ตรวจสอบให้แน่ใจว่าข้างนอกนั้นปลอดภัย

ขั้นตอนที่ 6: รับสาย

รับสาย!
รับสาย!

หากทุกอย่างเป็นไปตามแผน คุณควรรับสายในตอนเช้าหากหิมะตก หากมีบางอย่างใช้ไม่ได้ผล ให้ตรวจสอบบันทึกระยะทางใน Google ชีตเพื่อดูว่าวัดอะไร

ท้าทายหิมะ
ท้าทายหิมะ
ท้าทายหิมะ
ท้าทายหิมะ

วิ่งขึ้นในความท้าทายหิมะ

แนะนำ: