สารบัญ:

การตรวจสอบเครื่องป้อนนก: 7 ขั้นตอน (พร้อมรูปภาพ)
การตรวจสอบเครื่องป้อนนก: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การตรวจสอบเครื่องป้อนนก: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การตรวจสอบเครื่องป้อนนก: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การหาค่าปอนด์หรือค่าเเรงขันของน็อตเเละการดูรายละเอียดความเเข็งของน็อค 2024, กรกฎาคม
Anonim
จอภาพป้อนนก
จอภาพป้อนนก

นี้เป็นโครงการตรวจสอบจำนวนนกที่มาเยี่ยมชมเครื่องให้อาหารนกของฉัน รวมทั้งบันทึกระยะเวลาที่ใช้ในการให้อาหาร ฉันใช้ Arduino Yún และเซ็นเซอร์สัมผัสแบบ capacitive Adafruit CAP1188 เพื่อตรวจจับและบันทึกการให้อาหารนก เป็นประจำ ข้อมูลที่สะสมจะถูกส่งไปยังสเปรดชีตของ Google เอกสารเพื่อบันทึกจำนวนและเวลาที่ใช้ไปโดยนกที่มาเยี่ยมถาดป้อนอาหาร

ข้อมูลจะถูกส่งเฉพาะในช่วงเวลาที่กำหนดก่อนพระอาทิตย์ขึ้นและหลังพระอาทิตย์ตก

ขั้นตอนที่ 1: อะไหล่

อะไหล่
อะไหล่

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

1 6x3x2" Project Enclosure1 3x2x1" Project Enclosure1 ม้วน 1/4" Copper Foil Tape1 CAP1188 8-Key Capacitive Touch Sensor1 Arduino Yun1 micro-SD card2 DB-9 ตัวเชื่อมต่อชาย2 DB-9 ตัวเชื่อมต่อหญิง1 Bird Feeder (CedarWorks Plastic Hopper Bird Feeder)1 ขั้วต่อไฟท้ายจากร้านขายอุปกรณ์ยานยนต์

ขั้นตอนที่ 2: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ

Arduino Yun และ CAP1188 ต่อสายเพื่อจัดเตรียมฮาร์ดรีเซ็ตเซ็นเซอร์เมื่อเริ่มต้น มีเซ็นเซอร์สัมผัสแบบ capacitive อื่น ๆ ที่มีอยู่ในเซ็นเซอร์หนึ่งห้าหรือแปดตัว ฉันเลือกแปดเพราะที่ป้อนนกของฉันมีหกด้าน

การเดินสายไฟ:

CAP1188 SDA == Yún Digital 2 CAP1188 SCK == Yún Digital 3 CAP1188 RST == Yún Digital 9 CAP1188 VIN == Yún 3.3V หรือ 5V CAP1188 GND == Yún GND CAP1188 C1-C8 == เชื่อมต่อกับสายไฟในแต่ละคอน

จ่ายไฟให้กับ Arduino จากภายนอก โดยการเดินสายไฟใต้ดินจากโรงรถของฉัน และผ่านท่อที่ใช้เป็นแท่นป้อนนก สายไฟเชื่อมต่อกับแหล่งจ่ายไฟ 5-VDC ในโรงรถ โปรเจ็กต์นี้ควรใช้กับแบตเตอรี่ แต่ฉันไม่ต้องการให้ยุ่งยากกับการเปลี่ยนแบตเตอรี่เป็นประจำ

ฉันสร้างสายเคเบิลยาว 16 นิ้วพร้อมขั้วต่อ DB-9 ที่ปลายทั้งสองข้างเพื่อเชื่อมต่อ Project Box กับ Arduino Yun และกล่องที่มี CAP1188 เซ็นเซอร์ capacitive จะต้องอยู่ใกล้กับคอนมากที่สุด

ขั้นตอนที่ 3: การติดตั้ง Python Packages and Scripts

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

github.com/adafruit/Adafruit_CAP1188_Library/archive/master.zip

คำแนะนำในการติดตั้งไลบรารี่และตัวอย่างอยู่ในไฟล์ README.txt ภายในคอนเทนเนอร์ zip

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

ต้องดาวน์โหลดและติดตั้งไลบรารี python ต่อไปนี้บน Arduino Yún

python-weather-apipywapi -

คำแนะนำในการติดตั้งไลบรารีนี้อยู่ที่เว็บไซต์ด้านบน

สคริปต์ Python ต้องแก้ไขรหัสตำแหน่งในสคริปต์หลาม 'getastonomy.py' เพื่อรวมตำแหน่งของคุณ ปัจจุบันมีการกำหนดค่าสำหรับ Sugar Land, Texas วิธีหนึ่งในการค้นหา ID ของคุณคือไปที่เว็บไซต์ต่อไปนี้:

รหัสตำแหน่งสภาพอากาศ

ป้อนตำแหน่งของคุณและ ID ตำแหน่งของคุณจะปรากฏขึ้น แทนที่ USTX1312 ในบรรทัดของสคริปต์ด้วยรหัสตำแหน่งของคุณ

ผลลัพธ์ = pywapi get_weather_from_weather_com (' USTX1312 ')

ซึ่งจะช่วยให้สคริปต์ดึงข้อมูลพระอาทิตย์ขึ้นและพระอาทิตย์ตกสำหรับตำแหน่งของคุณ คำแนะนำสำหรับการแก้ไข 'sendgdocs.py' จะอยู่ในขั้นตอนที่ 6

เมื่อสคริปต์ทั้งสองได้รับการแก้ไขแล้ว คุณต้องย้ายสคริปต์เหล่านั้นไปยังไดเร็กทอรีการ์ด micro-SD '/mnt/sda1/' ของ Arduino Yun

ขั้นตอนที่ 4: การเดินสายเครื่องป้อนนก

เดินสายป้อนนก
เดินสายป้อนนก
เดินสายป้อนนก
เดินสายป้อนนก

คอนแต่ละตัวบนตัวป้อนถูกปกคลุมด้วยเทปฟอยล์ทองแดงขนาดกว้าง 1/4 นิ้วที่มีกาวในตัว มีการเจาะรูเล็กๆ ผ่านเทปและคอน จากนั้นลวดก็ถูกบัดกรีเข้ากับเทปฟอยล์และเดินตามเส้นทางใต้ตัวป้อน

หมายเหตุ: ด้วยตัวป้อนนกที่แสดงด้านบน ขอแนะนำให้เว้นช่องว่างระหว่างปลายของแถบฟอยล์แต่ละแถบที่มีขนาด 1 1/4" - 1 1/2" ฉันค้นพบว่านกที่มีขนาดใหญ่กว่า เช่น นกเหยี่ยวนกเขาและนกเขา สามารถสัมผัสแถบฟอยล์สองแถบพร้อมกันได้ หากวางพวกมันไว้ใกล้กัน

บล็อกไม้ถูกขึ้นรูปและติดกาวที่ด้านล่างของตัวป้อนเพื่อให้มีพื้นที่ราบสำหรับติดตั้ง Project Box ที่มี CAP1188 เทปเวลโครถูกนำไปใช้กับกล่องโครงการเช่นเดียวกับบล็อกไม้เพื่อให้เป็นวิธีการติด

ฉันถอดปลั๊กไฟในโรงรถเพื่อเติมอาหารนก ต่อไป ฉันจะถอดตัวเชื่อมต่อ DB-9 ออกจาก Project Box ที่ติดอยู่ด้านล่างของตัวป้อน ซึ่งช่วยให้ฉันยกตัวป้อนออกจากท่อโดยที่ Project Box ยังคงเชื่อมต่ออยู่ด้านล่าง เมื่อเติมตัวป้อนแล้ว ฉันจะวางกลับบนขาตั้งท่อ เชื่อมต่อสายเคเบิล DB-9; และเสียบปลั๊กไฟ

ขั้นตอนที่ 5: การสร้างแบบฟอร์ม Google Doc

การสร้างแบบฟอร์ม Google Doc
การสร้างแบบฟอร์ม Google Doc

ในการส่งข้อมูลไปยังสเปรดชีต Google Docs คุณต้องสร้างฟอร์มพร้อมฟิลด์ที่จำเป็นทั้งหมดก่อน ในตัวอย่างของฉัน ฉันมีฟิลด์ 'cnt' หกฟิลด์ และ 'time' หกฟิลด์ที่เป็นอินพุตจำนวนเต็ม ตัวอย่างเช่น ฟิลด์มีชื่อว่า 'cnt1', 'time1', 'cnt2', 'time2' เป็นต้น เมื่อคุณกรอกแบบฟอร์มเสร็จแล้ว คุณคลิก "ดูแบบฟอร์มสด" เพื่อดูแบบฟอร์มที่เสร็จสิ้น ขณะดูแบบฟอร์ม ให้คลิกขวาที่หน้าและเลือก "ดูแหล่งที่มาของหน้า" ค้นหาและค้นหาช่อง "อินพุต" ของ HTML ทั้งหมดในซอร์สโค้ด จดชื่อสำหรับแต่ละฟิลด์ที่คุณป้อนในแบบฟอร์ม ข้อมูลนี้จำเป็นในการสร้างสถานการณ์จำลองของคุณใน PushingBox

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

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

จดบันทึกที่อยู่ URL ของแบบฟอร์มที่คุณสร้างไว้ก่อนหน้านี้ (ในขณะที่ดูแบบฟอร์มที่กรอกเสร็จแล้ว) และคัดลอกที่อยู่นั้น ควรมีลักษณะคล้ายกับที่อยู่นี้:

"https://docs.google.com/forms/d/42QRHPzZzI4fdMZdC4…EbF8juE/viewform"

ที่อยู่นี้ใช้เพื่อสร้างบริการ PushingBox ของคุณ ยกเว้นว่าต้องลงท้ายด้วย ' /formResponse ' แทนที่จะเป็น '/viewform ' สุดท้าย อย่าลืมเปลี่ยนวิธีที่บริการใช้เป็น POST

การสร้างสถานการณ์จำลองใน PushingBox จะต้องมีข้อมูลที่รวบรวมไว้ก่อนหน้านี้จากแบบฟอร์มสำหรับแต่ละช่องป้อนข้อมูล สร้างสถานการณ์ประเภท CustomURL ตามที่เห็นในรูปภาพด้านบน ควรมีลักษณะดังนี้:

entry.184762354=$cnt1$&entry.1970438117=$ti…6352124=$cnt6$&entry.54370319=$time6$&&submit=Submit

แต่ละรายการควรตรงกับฟิลด์ 'cnt' และ 'time' ในแบบฟอร์มของคุณ สิ้นสุดสตริงในฟิลด์ด้วย '&&submit=Submit' ตามที่เห็นด้านบน

รหัสอุปกรณ์ที่สร้างด้วยสถานการณ์จำลองของคุณจะต้องใช้ในสคริปต์หลาม 'sendgdocs.py' เพื่อส่งข้อมูลไปยัง Google เอกสารผ่าน PushingBox

ขั้นตอนที่ 7: ข้อมูล

ข้อมูล
ข้อมูล
ข้อมูล
ข้อมูล

โปรแกรมนี้ได้รับการกำหนดค่าให้รวบรวมและส่งข้อมูลไปยัง Google เอกสารทุกๆ 20 นาที ช่วงเวลานั้นสามารถแก้ไขได้ง่ายภายในร่าง

ข้อมูลที่ส่งคือ "การนับ" ของจำนวนครั้งที่นก (หรือวัตถุอื่น ๆ) สัมผัสแผ่นฟอยล์ทองแดงบนคอน นอกจากนี้ยังส่งเวลาทั้งหมด (วินาที) ที่นกสัมผัสเซ็นเซอร์ขณะให้อาหาร

ฉันเคยประสบกับผลลัพธ์ที่แตกต่างกัน ทั้งหมดขึ้นอยู่กับอาหารที่ฉันให้และนกที่อยู่ในพื้นที่ หากกั๊กอยู่ในพื้นที่ พวกเขาสามารถล้างเครื่องให้อาหารนกตามลำดับการจัดเรียง พวกมันสามารถกระจายอาหารด้วยจงอยปากของมันไปทุกที่อย่างรวดเร็ว

ฉันมีเครื่องให้อาหารนกสองตัว แต่มีตัวเดียวติดจอมอนิเตอร์ไว้ ดังนั้น ข้อมูลของฉันจึงระบุว่าฉันได้รับระหว่าง 1, 000 ถึง 1, 400 ครั้งระหว่างการเติม และความจุของตัวป้อนคือ 6 ปอนด์ อย่างไรก็ตาม การนับบางส่วนนั้นนับเป็นสองเท่าอันเป็นผลมาจากการที่นกคร่อมเกาะมากกว่าหนึ่งคอน ไม่ว่าในกรณีใด การดู feeder และตรวจสอบข้อมูลเป็นเรื่องสนุก

แนะนำ: