สารบัญ:

นาฬิกาบอกตำแหน่ง 'วีสลีย์' ด้วย 4 เข็มนาฬิกา: 11 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาบอกตำแหน่ง 'วีสลีย์' ด้วย 4 เข็มนาฬิกา: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาบอกตำแหน่ง 'วีสลีย์' ด้วย 4 เข็มนาฬิกา: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาบอกตำแหน่ง 'วีสลีย์' ด้วย 4 เข็มนาฬิกา: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: หนูยิ้มหนูแย้มได้นาฬิกาใหม่ โทรหากันได้ด้วย 2024, กรกฎาคม
Anonim
นาฬิกาบอกตำแหน่ง 'วีสลีย์' มี 4 เข็ม
นาฬิกาบอกตำแหน่ง 'วีสลีย์' มี 4 เข็ม

ดังนั้น ด้วย Raspberry Pi ที่ใช้งานมาระยะหนึ่งแล้ว ฉันต้องการค้นหาโปรเจ็กต์ดีๆ ที่จะช่วยให้ฉันใช้งานได้ดีที่สุด ฉันเจอนาฬิกาบอกตำแหน่ง Weasley ที่สอนได้ดีเยี่ยมนี้โดย ppeters0502 และคิดว่ามันน่าจะดีที่จะลอง

นาฬิกาโดยทั่วไปประกอบด้วย Raspberry Pi ซึ่งควบคุมเซอร์โวเพื่อหมุนเข็มนาฬิกา ในบ้านของครอบครัววีสลีย์ในหนังสือ/ภาพยนตร์แฮร์รี่ พอตเตอร์ สมาชิกในครอบครัวแต่ละคนมีมือของตัวเอง มือแต่ละข้างชี้ไปที่ตำแหน่งปัจจุบันของสมาชิกในครอบครัวคนนั้น นาฬิกาทำได้โดยรับข้อความจากโทรศัพท์มือถือของครอบครัวทุกครั้งที่เข้าหรือออกจากรัศมีที่กำหนดไว้ล่วงหน้า

ความแตกต่างหลักๆ ของ Instructable ก่อนหน้านี้คือ ฉันต้องมี 4 เข็มนาฬิกา ไม่ใช่ 2 เข็ม (ไม่อย่างนั้นลูกสาวของฉันคงจะบ่น) และฉันตัดสินใจสร้างเฟรมด้วย ไม่ใช่หานาฬิกาเก่ามาใช้ซ้ำ นั่นเป็นเพราะฉันกังวลว่าพื้นที่จะมีปัญหาในตัวเรือนนาฬิกาที่มีอยู่ โดยจำเป็นต้องใส่เซอร์โว 4 ตัว ฯลฯ

มันใช้เวลานานกว่าที่ฉันคาดไว้มาก แม้ว่าโดยส่วนใหญ่แล้วฉันเจอปัญหายุ่งๆ ที่ทำให้ฉันสะดุด และดูเหมือนจะไม่ครอบคลุมในโพสต์เดิม ไม่มีอะไรเทียบกับ Instructable ดั้งเดิมซึ่งโดยทั่วไปแล้วยอดเยี่ยม แต่หลายปีผ่านไปและสิ่งต่าง ๆ เปลี่ยนไป… ฯลฯ นอกจากนี้การอยู่ในสหราชอาณาจักรหมายความว่าองค์ประกอบอิมพีเรียล / เมตริกบางส่วนทำให้เกิดความท้าทายมากกว่าที่ฉันคาดไว้

นอกจากนี้ ในขณะที่ฉันเขียนโค้ดได้ปกติ การทำนาฬิกาจริงๆ ทำให้ฉันยืดเวลาออกไป และต้องการเครื่องมือเพิ่มเติมบางอย่าง ซึ่งทำให้ฉันช้าลงบ้าง

ในตอนท้าย ฉันจะรวมหัวข้อ "สิ่งที่ฉันจะทำแตกต่างไป/ดีกว่านี้ถ้าฉันทำอีก…"

เสบียง:

สิ่งหนึ่งที่ทำให้ฉันประทับใจคือส่วนประกอบที่มีราคาแพงนั้นเกี่ยวข้องกับเข็มนาฬิกา 4 มือมีราคาแพงกว่า 2 มือแน่นอน ฉันตัดสินใจใส่ต้นทุนเพื่อให้คุณมีความคิดบางอย่าง นี่เป็นครั้งแรกที่ฉันได้รวมทุกอย่าง ฉันคิดว่าฉันใช้เงินไปประมาณ 200 ปอนด์โดยไม่คำนึงถึงเครื่องมือ บวกกับบางอย่างที่ฉันไม่ได้ใช้ (และไม่ได้รวมไว้ด้านล่าง) บวกกับ Pi บวกกับพาวเวอร์ซัพพลายที่ฉันมีอยู่แล้ว

พาย ฯลฯ

  1. Raspberry Pi - จำไม่ได้ว่าตอนแรกราคาเท่าไหร่ แต่เป็นรุ่น 2B ฉันคิดว่าถ้าคุณยังไม่มี แม้แต่ Pi Zero ก็น่าจะมี ฉันได้เพิ่มดองเกิล wifi และการ์ด SD ด้วย Raspbian และฉันมีที่ชาร์จโทรศัพท์ Android เครื่องเก่าวางอยู่รอบๆ
  2. Adafruit Servohat สำหรับ Pi - 16 ปอนด์
  3. พาวเวอร์ซัพพลายสำหรับเซอร์โวแฮท - ฉันลำบากมากที่จะหามันเจอ เนื่องจากทุกเว็บไซต์ชี้ไปที่ไซต์ adafruit ซึ่งแน่นอนว่าแนะนำพาวเวอร์ซัพพลายของสหรัฐฯ จากนั้นฉันก็รู้ว่าฉันมีแหล่งจ่ายแรงดันไฟแบบเก่าพร้อมคำแนะนำที่เปลี่ยนได้ ดังนั้นฉันจึงใช้มัน แต่อเมริการาคา 8 ดอลลาร์ นั่นคือสนามเบสบอล
  4. เคสสำหรับ Pi เพื่อที่ฉันจะได้แนบไปกับกรอบนาฬิกา £5

เซอร์โวและเกียร์

ที่นี่ฉันกำลังเสนอราคาสำหรับทั้ง 4 อัน ดังนั้นหารถ้าคุณต้องการมือน้อยลง (เพิ่มเป็น ~ £40 ต่อมือ = 160 ปอนด์:-o

  1. 4 x เซอร์โว - ฉันใช้อันที่แนะนำโดย ppeters0502 - พบใน ebay ราคาประมาณ 15 ปอนด์ต่ออัน = 60 ปอนด์ - ฉันค้นหาข้อความต่อไปนี้ "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-degree " แต่บางครั้งก็ใช้ไม่ได้
  2. ท่อทองเหลือง 4 อันซึ่งติดตั้งอยู่ภายในแต่ละอันพอดี - อันละประมาณ 3 ปอนด์ ฉันได้ 1/4", 7/32", 3/16", 5/32" = 11 ยูโรอย่างละ 1 อัน
  3. แคลมป์ 4 ตัวซึ่งยึดกับท่อทองเหลืองเพื่อให้คุณติดเกียร์ได้ ~ 7 ปอนด์ต่ออัน = 28 ปอนด์ ฉันได้รับจาก ActiveRobots ที่สั่งซื้อจาก Servocity เป็นประจำในสหรัฐอเมริกา ช่วยให้คุณหลีกเลี่ยงการขนส่งระหว่างประเทศได้ พวกเขายังสามารถรับสิ่งอื่น ๆ ที่คุณสามารถหาได้จากเว็บไซต์หลักของ Servocity ในสหรัฐฯ มีประโยชน์มากสำหรับ 2 รายการถัดไป
  4. 4 x อะเซทิล 0.770" เฟืองรูปแบบสำหรับติดตั้งบนฮับหนีบ ~ 6 ปอนด์ต่ออัน = 24 ปอนด์
  5. 4 x อะเซทิลเกียร์อะซิติลที่ติดตั้งบน spline สำหรับติดตั้งบนเซอร์โว ~ 6.50 ปอนด์ต่ออัน = 26 ปอนด์
  6. น็อตหกเหลี่ยม 1 แพ็คสำหรับติดเฟืองและน็อตยึด = 2.60 ปอนด์
  7. คีย์ hex 1 x 7/64" (คีย์ allen) เพราะทุกอย่างที่มาจากสหรัฐอเมริกานั้นเป็นของจักรพรรดิ ดังนั้นคีย์อัลเลนนับร้อยที่ฉันมีอยู่แล้วก็ไม่มีประโยชน์ = 1 ปอนด์

สำหรับการสร้างทางกายภาพ

ในที่นี้ฉันมักใช้เศษของสิ่งที่ฉันโกหก

  1. 2 x ไม้อัดสี่เหลี่ยมสำหรับจาน 'หน้า' และ 'หลัง'
  2. จากนั้นฉันก็ตัดกระบอกสูบขนาด 4x10 ซม. ออกจากราวราวบันไดเก่าที่ฉันมีเพื่อเชื่อมต่อด้านหลังเข้ากับใบหน้า
  3. บางบล็อคสำหรับติดเซอร์โวที่ออฟเซ็ตที่ถูกต้อง - แค่ท่อนไม้เนื้ออ่อนที่ฉันตัดให้ได้ขนาด
  4. สกรูต่างๆ จากขนาดเล็กมาก (เพื่อแนบเคส Pi กับเฟรม) ถึงขนาดกลาง (เพื่อแนบเฟรมเข้าด้วยกัน)
  5. แผ่นเหล็กอ่อนขนาด 0.75 มม. ประมาณ 50 ซม. x 20 ซม. (สำหรับตัดมือ) นี่เป็นสิ่งเดียวที่ฉันซื้อ ~ 9 ปอนด์จาก Wickes

เครื่องมือ

ของบางอย่างที่ฉันมีและบางอย่างที่ยืมหรือซื้อมา

  1. หัวแร้ง + หัวแร้งไฟฟ้า - สำหรับต่อคอนเนคเตอร์กับ Adafruit Hat & Pi
  2. จิ๊กซอว์ - สำหรับตัดรูปร่างที่หยาบของมือ
  3. เจาะ. ก็แค่สว่านไร้สาย 18V ธรรมดา
  4. ดอกสว่าน - จำไว้ว่าคุณจะต้องใช้ดอกสว่านอิมพีเรียลเพื่อทำรูให้เข้ากับท่อทองเหลือง ฉันจัดการยืมบางส่วน
  5. เลื่อยวงเดือน - สำหรับตัดท่อทองเหลือง อย่าทำอย่างที่ฉันทำแล้วเสียเงิน 3 ปอนด์ไปกับคัตเตอร์ตัดท่อ มันทำงานโดยใช้แรงกดและทำให้ภายในท่อเล็กลงเล็กน้อย ดังนั้นท่อขนาดถัดไปจึงไม่เข้าที่
  6. เครื่องเจียรแบบตั้งโต๊ะ - ฉันไม่มีแบบนี้แต่เพื่อนมี และทำให้การขึ้นรูปมือง่ายขึ้นมาก ก่อนหน้านั้นฉันแค่ใช้ไฟล์. ฉันจะไม่ซื้อเพียงเพื่อโครงการนี้ แต่สำหรับมือโลหะมันเยี่ยมมาก
  7. ฉันซื้อแฟ้มจุดเพชรสารพัน (เล็กมาก) มีประโยชน์สำหรับมือและท่อประมาณ 15
  8. กระดาษทรายหยาบและเรียบ
  9. ที่หนีบขนาดเล็กบางตัวยึดสิ่งของไว้เมื่อเจาะ
  10. รองด้วยเหตุผลเดียวกัน

ขั้นตอนที่ 1: การตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่งไปยัง Pi ของคุณ (ส่วนที่ I นายหน้า MQTT)

ppeters0502 อธิบายบิตนี้เป็นอย่างดีในคำแนะนำนาฬิกา Weasley ที่ยอดเยี่ยมของเขา น่าแปลกที่แม้ว่าอาจจะสะท้อนถึงชุดทักษะที่แตกต่างกัน แต่เขาเริ่มต้นด้วยงานสร้างแล้วย้ายไปที่ซอฟต์แวร์ ฉันทำในทางกลับกัน ดังนั้นฉันจึงเริ่มด้วยโทรศัพท์… รอก่อน ฉันไม่ได้ทำ ฉันเริ่มต้นด้วยโบรกเกอร์ MQTT ซึ่งเป็นขั้นตอนที่ 6 ในคำแนะนำของเขา ฉันจะละเว้นบิตทั้งหมดที่เขาทำได้ดีมากและเพียงแค่โยนบางส่วนที่ฉันอาจเพิ่ม ฉันไปเส้นทาง CloudMQTT ที่เขากล่าวถึง

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

  1. จ่าย 5 ดอลลาร์ต่อเดือนสำหรับ Cloud MQTT (แต่นั่นฟังดูแพงสำหรับนาฬิกาอย่างต่อเนื่อง)
  2. ไปที่เส้นทาง Mosquitto บน Pi ตามที่อธิบายไว้ในคำแนะนำแรก ฉันไม่สามารถแสดงความคิดเห็นได้ แต่อาจเป็นทางเลือกที่ดี
  3. แค่ google "โบรกเกอร์คลาวด์ MQTT ฟรี" และดูเหมือนว่ามีคนอื่นอยู่บ้าง

ดังนั้น บนสมมติฐานที่ว่าคุณมีโบรกเกอร์ MQTT ที่ใช้งานได้ หากเป็นเหมือน CloudMQTT ก็จะมีเซิร์ฟเวอร์ ผู้ใช้ รหัสผ่าน และพอร์ตปรากฏขึ้น คุณจะต้องใช้สิ่งเหล่านี้ทั้งหมดเพื่อตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่ง/การเคลื่อนไหวของคุณให้นายหน้า

ขั้นตอนที่ 2: การตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่งไปยัง Pi ของคุณ (ส่วนที่ II Owntracks)

สิ่งนี้ครอบคลุมเป็นอย่างดีใน Instructable ดั้งเดิมในขั้นตอนที่ 7 (Android), 8 (iOS) และ 9 (การตั้งค่าภูมิภาค)

ฉันมีอุปกรณ์ iOS เท่านั้น จึงไม่ลองขั้นตอนที่ 7

ฉันจะเพิ่มอะไรในคำแนะนำเหล่านั้น

  1. ในการตั้งค่ายังมีฟิลด์ TrackerID และ DeviceID สิ่งเหล่านี้คุณควรมีเพื่อระบุตัวคุณภายในครอบครัวของคุณ เช่น. ฉันมีพวกเขาเป็น R และ RPhone ตามลำดับ ซึ่งหมายความว่าคุณสามารถผ่านไปยังนาฬิกาที่เซอร์โวและหมุนมือได้
  2. ภูมิภาคคือชื่อสำหรับสถานที่ที่คุณต้องการติดตาม
  3. แต่ละภูมิภาคถูกกำหนดโดยชื่อ ละติจูด ลองจิจูด และรัศมี
  4. เนื่องจากฉันต้องการให้มีสถานที่หลายแห่งเป็นส่วนหนึ่งของนาฬิกา ฉันจึงใช้รูปแบบการตั้งชื่อ ซึ่งกลายเป็นว่ามีประโยชน์มาก วิธีอื่นเป็นไปได้ แต่วิธีนี้ใช้ได้ผลสำหรับฉัน

    • ตัวอย่างเช่น ในส่วนนาฬิกาของครอบครัว ฉันต้องการให้พ่อแม่พี่น้องและพ่อแม่และพี่น้องของภรรยาฉัน ดังนั้นฉันจึงมีสถานที่เช่น "Family Tom", "Family Dick", Family Harry" & "Family ParentsR" ซึ่งหมายความว่าขั้นตอนต่อไปสามารถรู้ว่าจะผ่านอะไรไปยังนาฬิกา
    • โปรดทราบว่าผู้คนสามารถมีสถานที่ต่างกันได้ แต่ตราบใดที่สอดคล้องกับหลักการตั้งชื่อก็ไม่เป็นไร เช่น. งานของฉันจะแตกต่างจากที่ทำงานของภรรยาฉันและเรียกต่างกัน แต่ตราบใดที่ทั้งคู่เริ่ม "ทำงาน" ก็ไม่เป็นไร
  5. คุณต้องการตั้งค่าโหมดเป็น 'สำคัญ' บนหน้าจอแผนที่ ซึ่งหมายความว่าคุณ (ส่วนใหญ่) ได้รับข้อความเมื่อคุณเข้าหรือออกจากภูมิภาคเท่านั้น ดูเหมือนว่าจะเป็นเวอร์ชันที่อัปเดตของบันทึกย่อที่ทำเครื่องหมายว่า สำคัญ: ที่ส่วนท้ายของขั้นตอนที่ 8 ใน Instructable ดั้งเดิม
  6. ตามที่กล่าวไว้ใน Instructable ดั้งเดิม การใช้ Google Maps เป็นวิธีที่ยอดเยี่ยมในการค้นหา Lat/Long ของที่ใดที่หนึ่ง ฉันพบว่าการทำเช่นนี้เป็นกลุ่มมีประสิทธิภาพมากขึ้น โดยค้นหา Lat/Longs ทั้งหมดของตำแหน่งของฉัน จากนั้นจึงวางลงใน Notes (บน Mac ของฉัน) และด้วยการซิงค์บนคลาวด์ หมายความว่าสิ่งเหล่านั้นปรากฏบน iPhone ของฉันอย่างน่าอัศจรรย์ ใน Notes และฉันสามารถคัดลอก/วางลงใน Owntracks นอกจากนี้ยังหมายความว่าฉันสามารถส่งไฟล์ไปยังโทรศัพท์ของครอบครัวและเราทุกคนมีตำแหน่งที่สอดคล้องกัน
  7. สถานที่ที่อยู่ใกล้กันอาจทำให้เกิดปัญหาได้ พี่ชายของฉันอาศัยอยู่ห่างออกไป 2 ถนน และในตอนแรกโทรศัพท์ของฉันคิดว่าฉันอยู่ในภูมิภาคเดียวกับบ้านของเขาและที่บ้านพร้อมกัน ในที่สุดฉันต้องใส่ตรรกะเพิ่มเติมใน Node Red เพื่อจับและเพิกเฉยต่อสิ่งนี้

ขั้นตอนที่ 3: การตั้งค่า Raspberry Pi

การตั้งค่า Raspberry Pi
การตั้งค่า Raspberry Pi

ดังนั้นที่นี่ฉันสมมติว่าคุณมีฐาน Pi ที่ตั้งค่าและใช้งาน wifi ฉันใช้ Raspbian แต่ก็ไม่สำคัญ ใช้คำแนะนำที่ raspberrypi.org เพื่อตั้งค่าทั้งหมด

โปรดทราบว่า Pi มีพอร์ตสำหรับแสดงผลไปยังจอภาพและแป้นพิมพ์/เมาส์ ฯลฯ แต่แน่นอนว่าเมื่อคุณมีมันในนาฬิกาแล้ว คุณจะไม่ต้องการสิ่งนั้นอีก ฉันคิดว่าคำตอบที่แนะนำโดยใครบางคนในเว็บไซต์ Raspberry pi คือการตั้งค่าการเชื่อมต่อ VNC สิ่งนี้ช่วยให้คุณเชื่อมต่อจากอุปกรณ์อื่นกับ Pi และควบคุมได้เช่นกัน ฉันทำจาก Mac ของฉัน แต่ทำจาก iPad ด้วย ฉันขอแนะนำให้ใช้บางอย่างกับแป้นพิมพ์เพื่อความสะดวกในการใช้งาน

ฉันเพิ่งพบว่ามันทำให้ง่ายขึ้นตั้งแต่ฉันเชื่อมต่อ… ดูที่นี่

โดยพื้นฐานแล้วคุณเชื่อมต่อและรับหน้าต่างซึ่งเป็นอินเทอร์เฟซ Pi มาตรฐาน

ดังนั้น คุณมีหน้าต่างสำหรับ Pi ของคุณจากแล็ปท็อปหรือคอมพิวเตอร์

ตอนนี้คุณต้องเชื่อมต่อเซอร์โว

ก่อนอื่นคุณต้องทำการบัดกรีขั้นพื้นฐานเพื่อนำหมวก adafruit มาวางบน Pi มันค่อนข้างยุ่งนิดหน่อย แต่ถึงแม้จะไม่ได้บัดกรีมา 30 ปีแล้ว แต่ก็ไม่เป็นไร เช่นเคย ฉันพบวิดีโอ YouTube ที่มีประโยชน์เพื่อแนะนำฉัน ซึ่งช่วยได้มาก

ในขณะที่หมวกสามารถรันเซอร์โวได้ 16 ตัว แต่ฉันต้องการเพียง 4 ตัวเท่านั้นและฉันก็เลยต้องบัดกรีเพียง 4 พินชุดแรกเท่านั้น

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

นี่คือจุดที่ฉันได้เจอสิ่งกีดขวางบนถนนหลักแรกของฉัน ฉันมีสคริปต์หลามพื้นฐานมากในการย้ายเซอร์โวและไม่มีอะไรเกิดขึ้นอย่างแท้จริง ฉันใช้เวลาประมาณหนึ่งสัปดาห์ในการลองสคริปต์ใหม่ ฯลฯ จากนั้นควันก็เริ่มปรากฏบนหมวก เมื่อปิดทุกอย่างฉันตรวจสอบแผนผัง เป็นส่วนประกอบที่ป้องกันการกลับขั้ว เนื่องจากฉันมีแหล่งจ่ายไฟแบบหลายทิปและแบบหลายแรงดันไฟฟ้า ฉันจึงพลาดความจริงที่ว่าคุณสามารถให้เอาต์พุต DC ไปทั้งสองทางได้ด้วยการกลับหัวทิป ฉันเข้าใจผิด (โอกาส 50:50) และเพิ่งเผาหมวก adafruit ตัวแรกของฉัน

:-(เกิดความล่าช้าเล็กน้อยเมื่อฉันซื้ออันใหม่ บัดกรีใหม่และแก้ไขปลาย ดีขึ้นมาก

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

ขั้นตอนที่ 4: การติดตั้ง Node Red (รับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)

การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
การติดตั้ง Node Red (การรับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)

Node-RED เป็นโปรแกรมที่คุณติดตั้งบน Pi ซึ่งให้อินเทอร์เฟซแบบภาพแก่คุณ (บนเบราว์เซอร์ของคุณ) เพื่อรับข้อความจากเซิร์ฟเวอร์ MQTT ของคุณและใช้เพื่อส่งข้อมูลที่ถูกต้องไปยังสคริปต์ python ของคุณ (จะกล่าวถึงในขั้นตอนต่อไป (จะกล่าวถึงในขั้นตอนต่อไป) ขั้นตอนที่ 5) ฉันค่อนข้างใช้คำแนะนำโดย ppeters0502 ในขั้นตอนที่ 5 มีตรรกะในโฟลว์เหล่านี้และตรรกะเพิ่มเติมใน python และคุณสามารถมีได้มากหรือน้อยขึ้นอยู่กับความชอบของคุณ โดยพื้นฐานแล้ว คุณต้องทำ ต่อไปนี้

  1. ได้รับโหนดสำหรับข้อความ MQTT - เหล่านี้เป็นสีม่วงอ่อนและฉันมี 1 ต่อสมาชิกในครอบครัว
  2. แมปไปที่เซอร์โวที่คุณต้องการย้าย (หมายเลข 0, 1, 2, 3)
  3. ตรวจสอบว่าคุณกำลังเข้าหรือออกจากรัศมีบน OwnTracks
  4. หาตำแหน่งที่เซอร์โวต้องชี้ไปที่

    มีข้อยกเว้นบางประการสำหรับกฎพื้นฐานที่ฉันจำเป็นต้องสร้าง

  5. ตั้งมุมให้ถูกต้อง

ฉันให้ Node-RED ทำ 4 อันดับแรกและทำให้ Python ค่อนข้างง่าย

คุณสามารถดูโฟลว์พื้นฐานได้ที่นี่ และโฟลว์ทั้งหมดสามารถส่งออกเป็นรูปแบบได้ที่นี่ ซึ่งหมายความว่าคุณสามารถนำเข้าโฟลว์พื้นฐานนี้ไปยัง Node-RED ของคุณแล้วปรับ โปรดทราบว่าฉันได้ตัดการเชื่อมต่อทั้งหมดออกจากโหนดสีม่วงแล้ว เพื่อให้คุณไม่สามารถเข้าถึงอินสแตนซ์ MQTT ของฉันได้ ฉันยังแยกโหนดทดสอบทั้งหมดออกเนื่องจากมีข้อมูลจริง… คุณอาจต้องเปลี่ยนประเภทไฟล์นี้เป็น flows.json เพื่อนำเข้าสู่ Node-RED ของคุณ แต่ Instructables ไม่อนุญาตให้ฉันอัปโหลด

โหนดสีเขียวกำลังดีบักโหนดซึ่งจะแสดงเอาต์พุตในหน้าต่างดีบักทางด้านขวาของหน้าจอ (อาจต้องขยาย - ให้ค้นหาลูกศรครึ่งทางขึ้นทางด้านขวา)

บิตแรกที่ต้องทำคือบิต "Live - for debugging only" ที่ตรวจสอบว่าคุณสามารถรับข้อความ MQTT และดูว่ามีอะไรอยู่ในนั้น json เป็นเพียงเวอร์ชันของข้อความที่มีโครงสร้างมากขึ้น ซึ่งช่วยให้คุณได้รับข้อมูลได้ง่ายขึ้น ในโฟลว์นี้ เมื่อใช้งานจริง ฉันจะเชื่อมต่อโหนดสีม่วงบนซ้ายกับโหนด json ทางด้านขวาของโหนดเหล่านั้น

โหนดทดสอบ

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

คุณสามารถเห็นในโฟลว์ว่ากรณีทดสอบทั้งหมดเข้าสู่โหนดที่แยกจากกัน จากนั้นจะเข้าสู่โหนด json นี่เป็นเพียงการจัดระเบียบหน้าจอเท่านั้น

ฉันไม่สามารถเน้นว่าโหนดเหล่านี้มีประโยชน์เพียงพอเพียงใดและยังคงมีประโยชน์อยู่

เรียกงูหลาม

ดังนั้นฉันจึงไปเจอสิ่งกีดขวางบนถนนถัดไป อันนี้ใช้ googling มากมายในฟอรัม ฯลฯ โฟลว์ของฉันจะทำงานได้อย่างสมบูรณ์ แต่มันจะไม่เรียกสคริปต์ python ของฉัน ฉันไม่สามารถแก้ปัญหานี้ได้ แต่ฉันจะช่วยคุณในการสบถ ฯลฯ เพียงเพื่อบอกว่าตามที่ไฮไลต์ในภาพหน้าจอที่สอง คุณต้องระบุ python3 ตามที่เห็นได้ชัดว่า Node-RED ถือว่า python2 เว้นแต่คุณจะระบุ

2 ภาวะแทรกซ้อนเพิ่มเติม - เฉพาะในกรณีที่จำเป็น

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

ปัญหาอีกประการหนึ่งคือ เวลาพาสุนัขไปเดินเล่น ฉันไม่สามารถหารัศมีที่ดีได้ ปกติผมเดินอยู่แถวๆ เดียวกัน เลยบอกว่า "ถ้าผมเข้าไปในบริเวณนี้ ผมกำลังพาหมาไปเดินเล่นอยู่แน่นอน และจะอยู่จนกว่าผมจะกลับบ้าน" นี่หมายความว่าจะไม่เปลี่ยนไปใช้ผับที่ฉันเดินผ่านระหว่างทางกลับบ้าน หรือสถานที่อื่นๆ ในท้องถิ่นที่อาจกระตุ้นในขณะที่สุนัขกำลังเดินอยู่ ในการทำสิ่งนี้ ฉันต้องตั้งค่าตัวแปรบริบทแบบถาวร (ค้นหาบน Node-RED ดูภาพหน้าจอ ตัวแปรเหล่านี้จะคงอยู่จนกว่า Node-RED จะเริ่มต้นใหม่ และฉันสามารถพูดได้ว่าถ้าอยู่บนการเดินสุนัข ให้ตั้งค่า Context Variable ไปที่ "สุนัข" แล้วละเว้นสิ่งอื่นเว้นแต่ฉันจะ 'เข้า' หน้าแรก

ภาพหน้าจอสุดท้ายเป็นขั้นตอนสุดท้ายที่แท้จริงของฉัน โดยมีข้อยกเว้นทั้งหมด เพื่อให้คุณสนใจเท่านั้น

ขั้นตอนที่ 5: การย้ายเซอร์โวจริง ๆ ด้วย Python บน Pi

การเบี่ยงเบนระยะสั้นในเซอร์โว ฉันไม่รู้อะไรเกี่ยวกับเซอร์โว แต่มีข้อมูลออนไลน์มากมาย ที่ฉันใช้คือเซอร์โวแบบต่อเนื่องซึ่งสามารถหมุนได้ 360 องศาและราบรื่น การเรียงลำดับหลักอื่น ๆ คือ stepper servos ซึ่งเคลื่อนที่เป็นชิ้น ๆ (ขั้นตอน) และดูเหมือนจะสูงถึง 180 องศาเท่านั้น (ไม่มีประโยชน์อย่างชัดเจนที่นี่) ข้อดีของสเต็ปเปอร์เซอร์โวคือคุณสามารถวางมุมหนึ่งแล้วเคลื่อนไปที่จุดนั้นแล้วหยุด เอกสารทั้งหมดที่ฉันพบบอกว่าเซอร์โวแบบต่อเนื่องทำงานโดยให้ความเร็ว และมีเวลาที่จะรักษาความเร็วนั้นไว้ (เช่น ความเร็วเต็มที่เป็นเวลา 1 วินาที) และพวกเขาจบลงที่จุดสิ้นสุด แต่สัมพันธ์กับจุดเริ่มต้น หลังจากพยายามหลายครั้ง ฉันไม่สามารถทำให้มันใช้งานได้ แต่พบว่าโดยใช้ม้านั่งทดสอบ เซอร์โวนั้นกลับมายังจุดเดิมอย่างสม่ำเสมอโดยให้มุมเท่ากัน ซึ่งง่ายกว่ามาก ฉันก็เลยทำอย่างนั้น อาจมีข้อเสียที่ฉันไม่รู้ แต่ก็ใช้ได้สำหรับฉัน อย่างไรก็ตาม โปรดทราบว่าเซอร์โวแต่ละตัวมีเอกลักษณ์ ดังนั้นคุณต้องมีชุดมุมที่ไม่ซ้ำกันสำหรับเซอร์โวแต่ละตัว ฉันพบว่ามันง่ายที่สุดที่จะมีสคริปต์ python 'การปรับเทียบ' ซึ่งฉันสามารถตั้งค่าเซอร์โวให้เป็นมุมต่างๆ ได้ ปรับแต่งมันจนกว่ามันจะดูถูกต้อง นี่คือสคริปต์แรกที่แนบ คุณเพียงแค่ใส่ความคิดเห็นเกี่ยวกับเซอร์โวที่คุณไม่ได้ทำการทดสอบ จดจ่อกับเซอร์โวหนึ่งตัว จากนั้นปรับค่าตามที่คุณต้องการ หมายเหตุ: การสอบเทียบสำหรับแท่นทดสอบนั้นเรียบง่าย หยาบ และพร้อม คุณจะต้องปรับเทียบใหม่เมื่อประกอบนาฬิกา เพราะเฟือง ฯลฯ จะเปลี่ยนทุกอย่าง สคริปต์ที่สองนั้นค่อนข้างพื้นฐาน มันทำดังต่อไปนี้

  1. นำเข้าห้องสมุดไม่กี่แห่ง
  2. ย้ายตัวแปรที่มาจาก Node-RED ไปยังตัวแปรในสคริปต์
  3. แมปมุมที่กำหนดโดยสคริปต์การปรับเทียบกับตำแหน่งบนนาฬิกา
  4. ตรวจสอบว่าพบตำแหน่งในรายการแล้วถ้าไม่ย้ายไปที่ "อันตราย"
  5. เขียนสิ่งที่ทำลงในล็อกไฟล์
  6. ย้ายเซอร์โวที่ต้องการไปยังมุมที่ต้องการ
  7. หยุดเซอร์โวตัวหนึ่งไม่ให้ 'หึ่ง' *

3 สิ่งที่ควรทราบ

ล็อกไฟล์มีประโยชน์มากสำหรับการดีบัก หมายความว่าคุณสามารถดูการดีบัก Node-RED ของข้อความ แล้วดูว่าเกิดอะไรขึ้นในสคริปต์ ผลลัพธ์มีลักษณะเช่นนี้ 3 คนแรกพาน้องหมาไปเดินเล่น ลูก 1 ออกจากบ้านมาโรงเรียน หมายเหตุเพื่อตรวจสอบเวลาบน Pi อาจมีค่าเริ่มต้นเป็น UTC และไม่อนุญาตให้มีการเปลี่ยนแปลงเวลาในฤดูร้อน/ฤดูหนาว เช่น. เวลาด้านล่างออก 1 ชั่วโมง

2020-12-07_05:36:03 ใคร = 0, loc = การเดินทาง, รายละเอียด = หน้าแรก, มุม = 10, ดัชนี = 8

2020-12-07_05:36:04 ใคร = 0, loc = สุนัข, รายละเอียด = Astons, มุม = 86.5, ดัชนี = 10

2020-12-07_06:07:49 ใคร = 0, loc = หน้าแรก, รายละเอียด = เข้า, มุม = 75, ดัชนี = 0

2020-12-07_06:23:53 ใคร = 2, loc = กำลังเดินทาง, รายละเอียด = บ้าน, มุม = 19, ดัชนี = 8

2020-12-07_06:30:48 ใคร = 2, loc = โรงเรียน, รายละเอียด = N, มุม = 60.5, ดัชนี = 2

เซอร์โวหึ่ง

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

เวลา

จำไว้ว่ามือที่ใช้จะกวาดตลอดเวลาต่ำเพียงใด คุณสามารถเห็นในสคริปต์ว่ามีบรรทัด time.sleep(4) ก่อนที่เราจะตั้งค่าเซอร์โวให้หยุดส่งเสียงหึ่ง นั่นเป็นเพราะคุณต้องยอมให้มือไปถึงที่หมายก่อนจะตั้งค่าให้ว่าง มิฉะนั้นก็หยุดลง สิ่งนี้ก็สำคัญเช่นกันเมื่อทำการปรับเทียบ เนื่องจากคุณกำลังทำการเคลื่อนไหวหลายครั้งภายในสคริปต์ ฉันจะตั้งค่าให้ทำงานเพื่อย้ายไปยังทั้ง 12 แห่งตามลำดับ เพื่อที่ฉันจะได้ตรวจสอบสถานที่ทั้งหมดอีกครั้ง แต่คุณต้องการเวลาเล็กน้อยในระหว่างนั้น

ขั้นตอนที่ 6: การสิ้นสุดซอฟต์แวร์ - โทรศัพท์ไปยังเซอร์โว

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

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

ฉันพูดถึงปัญหาเรื่อง Dog-walking และบ้านของพี่ชายฉันค่อนข้างใกล้กัน ฉันมีความท้าทายอีก 2 ข้อ

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

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

ขั้นตอนที่ 7: การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา

การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา
การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา
การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา
การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา
การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา
การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา

ตอนนี้บิตที่ฉันมั่นใจน้อยที่สุดนั่นคือเหตุผลที่ฉันปล่อยให้มันอยู่ได้นาน ฉันต้องการใบหน้าที่มีขนาดพอเหมาะและโครงสร้างที่ง่าย ฉันยังประหม่าเกี่ยวกับการได้เซอร์โว 2 ตัวรอบเพลากลาง ซึ่งหมายความว่าเมื่อดูอีเบย์สั้น ๆ เพื่อหานาฬิกาเก่าตามคำแนะนำที่ฉันกำลังติดตาม ฉันตัดสินใจที่จะให้โอกาสตัวเองมากขึ้นด้วยการสร้างมันขึ้นมาเอง

  • ฉันได้ไม้อัดสี่เหลี่ยมขนาดใหญ่ (~30 ซม.) 2 แผ่นที่ฉันวางไว้ (หนาประมาณ 9 มม.)
  • จากนั้นฉันก็ตัดราวบันไดเก่าออกเป็นส่วน 4x10 ซม. แล้วขันสกรูด้านหน้าและด้านหลังเข้าด้วยกัน
  • เมื่อทำเครื่องหมายที่รูตรงกลางแล้ว ฉันก็เจาะรูให้มีขนาดเท่ากับท่อทองเหลืองที่ใหญ่ที่สุด
  • จากนั้นฉันก็ทาสีด้วยสีขาวเงาธรรมดา
  • หลังจากการทดลองบางอย่าง ฉันก็รู้ว่าฉันอาจจะไม่สามารถเอาเซอร์โว 4 ตัวมาที่เพลาเดียวกันได้ ถ้าพวกมันทั้งหมดติดอยู่ที่แผ่นหลัง (หรือด้านหน้า) ดังนั้นฉันจึงต้องมี 3 + 1 หรือ 2 + 2 ในแต่ละจาน ผมลงท้ายด้วย 3 ที่ด้านหลังและ 1 ที่ด้านหน้า
  • ฉันหาค่าชดเชยที่ต้องการบนกระดาษแล้วตัดท่อทองเหลืองให้เข้าชุดกัน โปรดทราบว่าท่อที่หนาที่สุดจะสั้นที่สุด และท่อที่บางที่สุดจะต้องยาวไปจนถึงแผ่นหลัง (อันที่จริงฉันฝังอันที่เล็กที่สุดลงในรูที่ฉันเจาะไว้บางส่วนในเพลตด้านหลัง แต่ไม่ใช่ตลอดจนเพลาไม่เคลื่อนไปข้างหลัง)
  • สำหรับหลอด ฉันซื้อที่ตัดท่อ แต่นั่นใช้แรงกดในการตัด และหมายความว่าคุณไม่สามารถเอาหลอดขนาดเล็กเข้าไปข้างในได้ ดังนั้นฉันจึงใช้เลื่อยเลือยตัดโลหะแล้วต้องยื่นเอกสารจำนวนพอสมควรเพื่อให้พวกเขาทำงาน ไฟล์จุดเพชรของ Te มีค่ามากที่นี่
  • จากนั้นฉันก็จับคู่ไดอะแกรมกับออฟเซ็ตจริงสำหรับแคลมป์และฟันเฟือง *
  • เมื่อฉันได้ออฟเซ็ตแล้ว ฉันก็รู้ว่า "สูง" แค่ไหนในการทำบล็อกเพื่อยึดเซอร์โว ฉันทำลายสองสามช่วงตึกด้วยการเลื่อยให้บางเกินไปและเจาะรูเพื่อดึงลวดออก
  • จากนั้นส่วนที่เที่ยวยุ่งยิ่งของตำแหน่งที่จะวางบล็อกเพื่อให้ตรงกับฟันเฟืองบนเพลาก็มาถึง ฉันขันในหนึ่งบล็อกแล้วสามารถหมุนเซอร์โวเพื่อให้ตรงกับเพลาแล้วขันสกรูบล็อกที่สองที่ปลายอีกด้านหนึ่งของเซอร์โว ฉันยังพบว่าฉันต้องตัดบล็อกบางส่วนเพื่อหลีกเลี่ยงไม่ให้ฟันเฟืองอื่นๆ ใช้เวลาค่อนข้างนาน
  • เมื่อฉันทำทุกอย่างเสร็จแล้ว ฉันก็ได้เคสราสเบอร์รี่ pi ของฉัน เจาะรูสองรูแล้วขันเข้ากับจานด้านหน้า จากนั้นฉันก็สามารถเพิ่ม Pi ปิดแผ่นด้านหน้าและด้านหลัง (เมื่อเชื่อมต่อเซอร์โวกับ pi (จำได้ว่าเซอร์โวตัวใดสำหรับสมาชิกในครอบครัวคนใด) แล้วหันไปที่มือ …

* ที่นี่ฉันพบปัญหาที่ใหญ่ที่สุด ซึ่งฉันยังไม่ได้แก้ไขอย่างสมบูรณ์ ท่อทองเหลืองมีขนาด 1/4", 7/32", 3/16", 5/32" แต่แคลมป์เป็นแบบเมตริก (ยกเว้นอันที่มีขนาด 1/4 นิ้ว) เมื่อเปลี่ยนท่อเป็นเมตริกคือ 6.35 มม. 5.56 มม. 4.76 มม. 3.97 มม. แคลมป์ที่เหลือคือรูขนาด 4 มม. 5 มม. และ 6 มม. ส่วนที่เล็กที่สุด 2 และรู ใหญ่ที่สุดก็ใช้ได้ แต่ที่แน่ๆ 0.44 มม. เดินทางมากเกินไปสำหรับแคลมป์ เลยต้องเอากระดาษมารอง ผมลองมาหลายครั้งแล้ว ก็ใช้ได้สักพักแล้วก็คลายอีกครั้ง ใหญ่เป็นอันดับ 2 เลย มือทำงานไม่ปกติ ใช้ประมาณ 6 เดือนได้ ดังนั้นเวลาที่ใช้ทำบ่อน้ำนี้จึงใช้เวลาลงทุนอย่างดี แต่ถ้าทำอีก ผมอาจจะเพิ่มหรือลด 1 ไซส์ โดยมีช่องว่างให้ลอง แคลมป์รัดท่อได้ดีกว่า เช่น ใช้กับ 9/32", 1/4", (gap), 3/16", 5/32"

ขั้นตอนที่ 8: เข็มนาฬิกา

เข็มนาฬิกา
เข็มนาฬิกา
เข็มนาฬิกา
เข็มนาฬิกา
เข็มนาฬิกา
เข็มนาฬิกา

ฉันตัดสินใจเลือกเหล็กแผ่นเนื่องจากฉันต้องการของที่แข็งแต่มีโอกาสน้อยที่จะหักขณะทำ การที่บางลงหมายความว่า 4 มือไม่มีปัญหา

  • ก่อนอื่นฉันร่างรูปร่าง
  • จากนั้นฉันก็ย้ายมันไปที่เหล็กบนเทปกาว
  • จากนั้นฉันก็ตัดมันออกอย่างไม่ชำนาญด้วยจิ๊กซอว์ของฉัน พวกเขาเป็นและแตกต่างกันทั้งหมด แต่ฉันไม่คิดอย่างนั้น
  • จากนั้นเพื่อนแนะนำให้ฉันยืมเครื่องบดตั้งโต๊ะของเขามาปั้นเป็นรูปร่าง ซึ่งเยี่ยมมาก ขอแนะนำอย่างยิ่ง มิฉะนั้นการยื่นจะใช้เวลานาน
  • ยังมีการตะไบบางอย่างที่ต้องทำแล้วจึงขัดเพื่อให้แน่ใจว่าไม่มีขอบคมและผิวสวย
  • ฉันต้องเจาะรูให้เข้ากับท่อทองเหลืองตามลำดับ (ใช้หลอดที่ตัดออกเพื่อตรวจสอบ ไม่ใช่ท่อที่ติดตั้งบนนาฬิกา)
  • ฉันพบว่ารูต้องใช้ตะไบเล็กน้อยเพื่อติดเข้ากับท่อ แต่เมื่อเสียบเข้าไปก็แน่นและไม่ต้องใช้กาว ข้อยกเว้นคือมือด้านหน้าที่ฉันอยากได้ 'ที่กำบัง' ดังนั้นฉันจึงตัดเหล็กชิ้นกลม (ส่วนใหญ่) ออก หลังจากที่เจาะรูและได้ขนาดที่เหมาะสม และติดกาวไว้ด้านหน้า คุณสามารถดูได้ในภาพสุดท้าย บางครั้งมือด้านหน้าจะต้องใช้กาวแต้มเล็กน้อยเพื่อยึดมันไว้ แต่หลังจากการสตาร์ทผิดๆ สองสามครั้ง มือก็ทำงานได้ดีจริงๆ
  • ฉันปฏิเสธแนวคิดเรื่องรูปถ่าย (เพราะเด็กๆ จะบ่นเรื่องรูปถ่ายวันที่ของเราอย่างรวดเร็ว) ดังนั้นฉันจึงตัดสินใจวาดภาพบนอักษรย่อด้วยสีอะครีลิก

ขั้นตอนที่ 9: เสร็จสมบูรณ์

สมบูรณ์!
สมบูรณ์!
สมบูรณ์!
สมบูรณ์!

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

บางครั้งโทรศัพท์ของฉันปฏิเสธที่จะยอมรับว่าฉันอยู่ที่บ้าน ฉันอยู่ในรัศมีของ Owntracks อย่างชัดเจนเมื่อแสดงบนแผนที่ และแม้ว่าความแม่นยำจะดี… ฉันไม่รู้ว่าทำไม ดูเหมือนจะไม่กระทบกระเทือนครอบครัวที่เหลือของฉัน แต่การจัดวางก็เหมือนกัน ซึ่งหมายความว่า Owntracks ไม่เคยส่งข้อความและฉันติดค้างอยู่ใน 'การเดินทาง' แต่ก็มักจะแยกแยะออกในที่สุด

มีประโยชน์มากที่จะมีในครัวของเรา ส่วนใหญ่รู้ว่าเมื่อสาว ๆ จะกลับบ้านจากโรงเรียนหรือบ้านเพื่อนของพวกเขา และดังนั้นเมื่อจะมีอาหาร/ชาพร้อมสำหรับพวกเขา

ขอขอบคุณ @ppeters0502 อีกครั้งสำหรับคำแนะนำที่ดีในการปฏิบัติตาม หวังว่าสิ่งเหล่านี้จะช่วยเพิ่มบางสิ่งบางอย่างในการทำนาฬิกาด้วย 4 เข็มนาฬิกา..

ขั้นตอนที่ 10: สิ่งที่ฉันเรียนรู้และจะทำได้ดีขึ้น/แตกต่างออกไปหากฉันต้องทำมันอีก

  • การสร้างทางกายภาพจำเป็นต้องมีการลองผิดลองถูก ไม่มีทางที่จะคาดเดาปัญหาของอวกาศได้ คุณเพียงแค่ต้องดำดิ่งลงไปและพยายาม
  • สำหรับโค้ด ปัญหา googling เป็นสิ่งสำคัญ
  • เริ่มต้นพื้นฐานและสร้าง เซอร์โวบนไม้ม้านั่งทดสอบหมายความว่าฉันสามารถทำงานได้ส่วนใหญ่โดยไม่ต้องมีโครงสร้างทางกายภาพ
  • ฉันอาจได้เลเซอร์มือที่เครื่อง CNC แต่ฉันไม่รู้ว่าคนในท้องถิ่นอยู่ที่ไหน และฉันชอบที่เหล็กอ่อนได้ผล (ราคาถูกและเครื่องบดแบบตั้งโต๊ะทำให้ง่ายขึ้นมาก)
  • อาจใช้สเต็ปเปอร์มอเตอร์ได้หากคุณใช้เกียร์เพื่อหมุน 360 รอบ แต่คุณอาจต้องให้เซอร์โวใกล้กับเพลากลางมากเกินไป
  • เซอร์โวมี 2 แบบ (Futaba & HiTech) ตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบสิ่งนี้แล้ว เนื่องจากฟันมีจำนวนฟันบน spline ต่างกัน และฉันซื้อผิดในตอนแรก …
  • อย่าต่อหมวกกับขั้วผิด;-)
  • Google และ Stack Overflow คือเพื่อนของคุณเมื่อติดขัด แต่ต้องใช้คำค้นดีๆ…
  • ที่จริงแล้ว ม้านั่งทดสอบเป็นวิธีที่คุณจะได้เวอร์ชันที่ง่ายกว่า ถูกกว่า ง่ายกว่ามาก ความซับซ้อนของโครงสร้างส่วนใหญ่มาจากการที่มือต้องหมุนรอบแกนเดียวกัน หากคุณประนีประนอมกับสิ่งนั้น ทุกอย่างจะง่ายขึ้นมาก และฉันคิดว่า 4 อาจเป็นขีด จำกัด ของเพลาเดียวเว้นแต่ว่าเพลาจะยาวกว่ามาก เป็นไปได้ ฉันคิดว่ามี 3 อันที่จานหน้าและอีกสามอันที่แผ่นหลังถ้าเพลานั้นยาวกว่า…

ขั้นตอนที่ 11: ส่วนขยายในอนาคตที่เป็นไปได้…?

ความคิดที่ฉันมีเกี่ยวกับขั้นตอนต่อไปมีดังนี้

  1. ฉันต้องการเปลี่ยน iPad รุ่นเก่าเป็นหน้าปัดนาฬิกา เช่น ทำนาฬิกาดิจิตอล อาจใช้เบราว์เซอร์หรือแอป เนื่องจากนาฬิกาทางกายภาพนั้นไร้สัญชาติโดยพื้นฐานแล้ว (เช่น มันไม่รู้ว่าปัจจุบันอยู่ที่ไหน ยกเว้นโดยอาศัยอำนาจที่มืออยู่ในตำแหน่งทางกายภาพ) ฉันจึงต้องมีการจัดเก็บข้อมูลอย่างต่อเนื่อง Node Red สามารถเขียนไปยังระบบไฟล์ในเครื่องได้ ดังนั้นฉันน่าจะทำอย่างนั้น
  2. ถ้าฉันทำอย่างนั้น ฉันอยากจะเห็นมันจากนอกบ้าน แต่แล้วเราจำเป็นต้องแยกแยะการรักษาความปลอดภัยจริงๆ เนื่องจากการเข้าถึงภายในเครือข่าย wifi เดียวกันเป็นสิ่งหนึ่ง การเข้าถึงจากอินเทอร์เน็ตจึงเป็นอีกสิ่งหนึ่ง ขณะนี้ฉันไม่มีความคิดเกี่ยวกับวิธีที่ดีที่สุดในการทำเช่นนี้ แต่ฉันสงสัยว่าการสมัครสมาชิก MQTT จะเป็นไปในทางอื่น (pi เผยแพร่สถานะปัจจุบันและอุปกรณ์ภายนอกสมัครรับข้อมูล)…?
  3. ฉันต้องการมือข้างหนึ่งสำหรับ 'ต่างประเทศ' แต่นั่นอาจซับซ้อนจากมุมมองของ OwnTracks อาจจะใช้ long/lat ร่วมกับรัศมีขนาดใหญ่บางอันก็ได้

แนะนำ: