สารบัญ:
- ขั้นตอนที่ 1: การตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่งไปยัง Pi ของคุณ (ส่วนที่ I นายหน้า MQTT)
- ขั้นตอนที่ 2: การตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่งไปยัง Pi ของคุณ (ส่วนที่ II Owntracks)
- ขั้นตอนที่ 3: การตั้งค่า Raspberry Pi
- ขั้นตอนที่ 4: การติดตั้ง Node Red (รับข้อความจากเซิร์ฟเวอร์ MQTT ไปยังสคริปต์ Python ของคุณ)
- ขั้นตอนที่ 5: การย้ายเซอร์โวจริง ๆ ด้วย Python บน Pi
- ขั้นตอนที่ 6: การสิ้นสุดซอฟต์แวร์ - โทรศัพท์ไปยังเซอร์โว
- ขั้นตอนที่ 7: การสร้างนาฬิกาทางกายภาพ - ส่วนที่ 1 - เซอร์โวและเพลา
- ขั้นตอนที่ 8: เข็มนาฬิกา
- ขั้นตอนที่ 9: เสร็จสมบูรณ์
- ขั้นตอนที่ 10: สิ่งที่ฉันเรียนรู้และจะทำได้ดีขึ้น/แตกต่างออกไปหากฉันต้องทำมันอีก
- ขั้นตอนที่ 11: ส่วนขยายในอนาคตที่เป็นไปได้…?
วีดีโอ: นาฬิกาบอกตำแหน่ง 'วีสลีย์' ด้วย 4 เข็มนาฬิกา: 11 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ดังนั้น ด้วย Raspberry Pi ที่ใช้งานมาระยะหนึ่งแล้ว ฉันต้องการค้นหาโปรเจ็กต์ดีๆ ที่จะช่วยให้ฉันใช้งานได้ดีที่สุด ฉันเจอนาฬิกาบอกตำแหน่ง Weasley ที่สอนได้ดีเยี่ยมนี้โดย ppeters0502 และคิดว่ามันน่าจะดีที่จะลอง
นาฬิกาโดยทั่วไปประกอบด้วย Raspberry Pi ซึ่งควบคุมเซอร์โวเพื่อหมุนเข็มนาฬิกา ในบ้านของครอบครัววีสลีย์ในหนังสือ/ภาพยนตร์แฮร์รี่ พอตเตอร์ สมาชิกในครอบครัวแต่ละคนมีมือของตัวเอง มือแต่ละข้างชี้ไปที่ตำแหน่งปัจจุบันของสมาชิกในครอบครัวคนนั้น นาฬิกาทำได้โดยรับข้อความจากโทรศัพท์มือถือของครอบครัวทุกครั้งที่เข้าหรือออกจากรัศมีที่กำหนดไว้ล่วงหน้า
ความแตกต่างหลักๆ ของ Instructable ก่อนหน้านี้คือ ฉันต้องมี 4 เข็มนาฬิกา ไม่ใช่ 2 เข็ม (ไม่อย่างนั้นลูกสาวของฉันคงจะบ่น) และฉันตัดสินใจสร้างเฟรมด้วย ไม่ใช่หานาฬิกาเก่ามาใช้ซ้ำ นั่นเป็นเพราะฉันกังวลว่าพื้นที่จะมีปัญหาในตัวเรือนนาฬิกาที่มีอยู่ โดยจำเป็นต้องใส่เซอร์โว 4 ตัว ฯลฯ
มันใช้เวลานานกว่าที่ฉันคาดไว้มาก แม้ว่าโดยส่วนใหญ่แล้วฉันเจอปัญหายุ่งๆ ที่ทำให้ฉันสะดุด และดูเหมือนจะไม่ครอบคลุมในโพสต์เดิม ไม่มีอะไรเทียบกับ Instructable ดั้งเดิมซึ่งโดยทั่วไปแล้วยอดเยี่ยม แต่หลายปีผ่านไปและสิ่งต่าง ๆ เปลี่ยนไป… ฯลฯ นอกจากนี้การอยู่ในสหราชอาณาจักรหมายความว่าองค์ประกอบอิมพีเรียล / เมตริกบางส่วนทำให้เกิดความท้าทายมากกว่าที่ฉันคาดไว้
นอกจากนี้ ในขณะที่ฉันเขียนโค้ดได้ปกติ การทำนาฬิกาจริงๆ ทำให้ฉันยืดเวลาออกไป และต้องการเครื่องมือเพิ่มเติมบางอย่าง ซึ่งทำให้ฉันช้าลงบ้าง
ในตอนท้าย ฉันจะรวมหัวข้อ "สิ่งที่ฉันจะทำแตกต่างไป/ดีกว่านี้ถ้าฉันทำอีก…"
เสบียง:
สิ่งหนึ่งที่ทำให้ฉันประทับใจคือส่วนประกอบที่มีราคาแพงนั้นเกี่ยวข้องกับเข็มนาฬิกา 4 มือมีราคาแพงกว่า 2 มือแน่นอน ฉันตัดสินใจใส่ต้นทุนเพื่อให้คุณมีความคิดบางอย่าง นี่เป็นครั้งแรกที่ฉันได้รวมทุกอย่าง ฉันคิดว่าฉันใช้เงินไปประมาณ 200 ปอนด์โดยไม่คำนึงถึงเครื่องมือ บวกกับบางอย่างที่ฉันไม่ได้ใช้ (และไม่ได้รวมไว้ด้านล่าง) บวกกับ Pi บวกกับพาวเวอร์ซัพพลายที่ฉันมีอยู่แล้ว
พาย ฯลฯ
- Raspberry Pi - จำไม่ได้ว่าตอนแรกราคาเท่าไหร่ แต่เป็นรุ่น 2B ฉันคิดว่าถ้าคุณยังไม่มี แม้แต่ Pi Zero ก็น่าจะมี ฉันได้เพิ่มดองเกิล wifi และการ์ด SD ด้วย Raspbian และฉันมีที่ชาร์จโทรศัพท์ Android เครื่องเก่าวางอยู่รอบๆ
- Adafruit Servohat สำหรับ Pi - 16 ปอนด์
- พาวเวอร์ซัพพลายสำหรับเซอร์โวแฮท - ฉันลำบากมากที่จะหามันเจอ เนื่องจากทุกเว็บไซต์ชี้ไปที่ไซต์ adafruit ซึ่งแน่นอนว่าแนะนำพาวเวอร์ซัพพลายของสหรัฐฯ จากนั้นฉันก็รู้ว่าฉันมีแหล่งจ่ายแรงดันไฟแบบเก่าพร้อมคำแนะนำที่เปลี่ยนได้ ดังนั้นฉันจึงใช้มัน แต่อเมริการาคา 8 ดอลลาร์ นั่นคือสนามเบสบอล
- เคสสำหรับ Pi เพื่อที่ฉันจะได้แนบไปกับกรอบนาฬิกา £5
เซอร์โวและเกียร์
ที่นี่ฉันกำลังเสนอราคาสำหรับทั้ง 4 อัน ดังนั้นหารถ้าคุณต้องการมือน้อยลง (เพิ่มเป็น ~ £40 ต่อมือ = 160 ปอนด์:-o
- 4 x เซอร์โว - ฉันใช้อันที่แนะนำโดย ppeters0502 - พบใน ebay ราคาประมาณ 15 ปอนด์ต่ออัน = 60 ปอนด์ - ฉันค้นหาข้อความต่อไปนี้ "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-degree " แต่บางครั้งก็ใช้ไม่ได้
- ท่อทองเหลือง 4 อันซึ่งติดตั้งอยู่ภายในแต่ละอันพอดี - อันละประมาณ 3 ปอนด์ ฉันได้ 1/4", 7/32", 3/16", 5/32" = 11 ยูโรอย่างละ 1 อัน
- แคลมป์ 4 ตัวซึ่งยึดกับท่อทองเหลืองเพื่อให้คุณติดเกียร์ได้ ~ 7 ปอนด์ต่ออัน = 28 ปอนด์ ฉันได้รับจาก ActiveRobots ที่สั่งซื้อจาก Servocity เป็นประจำในสหรัฐอเมริกา ช่วยให้คุณหลีกเลี่ยงการขนส่งระหว่างประเทศได้ พวกเขายังสามารถรับสิ่งอื่น ๆ ที่คุณสามารถหาได้จากเว็บไซต์หลักของ Servocity ในสหรัฐฯ มีประโยชน์มากสำหรับ 2 รายการถัดไป
- 4 x อะเซทิล 0.770" เฟืองรูปแบบสำหรับติดตั้งบนฮับหนีบ ~ 6 ปอนด์ต่ออัน = 24 ปอนด์
- 4 x อะเซทิลเกียร์อะซิติลที่ติดตั้งบน spline สำหรับติดตั้งบนเซอร์โว ~ 6.50 ปอนด์ต่ออัน = 26 ปอนด์
- น็อตหกเหลี่ยม 1 แพ็คสำหรับติดเฟืองและน็อตยึด = 2.60 ปอนด์
- คีย์ hex 1 x 7/64" (คีย์ allen) เพราะทุกอย่างที่มาจากสหรัฐอเมริกานั้นเป็นของจักรพรรดิ ดังนั้นคีย์อัลเลนนับร้อยที่ฉันมีอยู่แล้วก็ไม่มีประโยชน์ = 1 ปอนด์
สำหรับการสร้างทางกายภาพ
ในที่นี้ฉันมักใช้เศษของสิ่งที่ฉันโกหก
- 2 x ไม้อัดสี่เหลี่ยมสำหรับจาน 'หน้า' และ 'หลัง'
- จากนั้นฉันก็ตัดกระบอกสูบขนาด 4x10 ซม. ออกจากราวราวบันไดเก่าที่ฉันมีเพื่อเชื่อมต่อด้านหลังเข้ากับใบหน้า
- บางบล็อคสำหรับติดเซอร์โวที่ออฟเซ็ตที่ถูกต้อง - แค่ท่อนไม้เนื้ออ่อนที่ฉันตัดให้ได้ขนาด
- สกรูต่างๆ จากขนาดเล็กมาก (เพื่อแนบเคส Pi กับเฟรม) ถึงขนาดกลาง (เพื่อแนบเฟรมเข้าด้วยกัน)
- แผ่นเหล็กอ่อนขนาด 0.75 มม. ประมาณ 50 ซม. x 20 ซม. (สำหรับตัดมือ) นี่เป็นสิ่งเดียวที่ฉันซื้อ ~ 9 ปอนด์จาก Wickes
เครื่องมือ
ของบางอย่างที่ฉันมีและบางอย่างที่ยืมหรือซื้อมา
- หัวแร้ง + หัวแร้งไฟฟ้า - สำหรับต่อคอนเนคเตอร์กับ Adafruit Hat & Pi
- จิ๊กซอว์ - สำหรับตัดรูปร่างที่หยาบของมือ
- เจาะ. ก็แค่สว่านไร้สาย 18V ธรรมดา
- ดอกสว่าน - จำไว้ว่าคุณจะต้องใช้ดอกสว่านอิมพีเรียลเพื่อทำรูให้เข้ากับท่อทองเหลือง ฉันจัดการยืมบางส่วน
- เลื่อยวงเดือน - สำหรับตัดท่อทองเหลือง อย่าทำอย่างที่ฉันทำแล้วเสียเงิน 3 ปอนด์ไปกับคัตเตอร์ตัดท่อ มันทำงานโดยใช้แรงกดและทำให้ภายในท่อเล็กลงเล็กน้อย ดังนั้นท่อขนาดถัดไปจึงไม่เข้าที่
- เครื่องเจียรแบบตั้งโต๊ะ - ฉันไม่มีแบบนี้แต่เพื่อนมี และทำให้การขึ้นรูปมือง่ายขึ้นมาก ก่อนหน้านั้นฉันแค่ใช้ไฟล์. ฉันจะไม่ซื้อเพียงเพื่อโครงการนี้ แต่สำหรับมือโลหะมันเยี่ยมมาก
- ฉันซื้อแฟ้มจุดเพชรสารพัน (เล็กมาก) มีประโยชน์สำหรับมือและท่อประมาณ 15
- กระดาษทรายหยาบและเรียบ
- ที่หนีบขนาดเล็กบางตัวยึดสิ่งของไว้เมื่อเจาะ
- รองด้วยเหตุผลเดียวกัน
ขั้นตอนที่ 1: การตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่งไปยัง Pi ของคุณ (ส่วนที่ I นายหน้า MQTT)
ppeters0502 อธิบายบิตนี้เป็นอย่างดีในคำแนะนำนาฬิกา Weasley ที่ยอดเยี่ยมของเขา น่าแปลกที่แม้ว่าอาจจะสะท้อนถึงชุดทักษะที่แตกต่างกัน แต่เขาเริ่มต้นด้วยงานสร้างแล้วย้ายไปที่ซอฟต์แวร์ ฉันทำในทางกลับกัน ดังนั้นฉันจึงเริ่มด้วยโทรศัพท์… รอก่อน ฉันไม่ได้ทำ ฉันเริ่มต้นด้วยโบรกเกอร์ MQTT ซึ่งเป็นขั้นตอนที่ 6 ในคำแนะนำของเขา ฉันจะละเว้นบิตทั้งหมดที่เขาทำได้ดีมากและเพียงแค่โยนบางส่วนที่ฉันอาจเพิ่ม ฉันไปเส้นทาง CloudMQTT ที่เขากล่าวถึง
เมื่อฉันเขียนสิ่งนี้ ฉันตรวจสอบลิงก์ไปยังแผนและพบว่าไม่มีแผนฟรีอีกต่อไป! พวกเขาถอนตัวออก ด้วยเหตุผลที่ดูเหมือนมีเหตุผล กล่าวคือ ผู้คนจะตั้งค่าอินสแตนซ์ฟรีแล้วไม่เคยใช้เลย ฉันไม่ได้สังเกตเพราะอินสแตนซ์ปัจจุบันสามารถดำเนินการต่อได้ ดังนั้นฉันจะไม่เปลี่ยน แต่มันทำให้คำแนะนำซ้ำซ้อนเล็กน้อย ดูเหมือนจะมี 3 ตัวเลือก
- จ่าย 5 ดอลลาร์ต่อเดือนสำหรับ Cloud MQTT (แต่นั่นฟังดูแพงสำหรับนาฬิกาอย่างต่อเนื่อง)
- ไปที่เส้นทาง Mosquitto บน Pi ตามที่อธิบายไว้ในคำแนะนำแรก ฉันไม่สามารถแสดงความคิดเห็นได้ แต่อาจเป็นทางเลือกที่ดี
- แค่ google "โบรกเกอร์คลาวด์ MQTT ฟรี" และดูเหมือนว่ามีคนอื่นอยู่บ้าง
ดังนั้น บนสมมติฐานที่ว่าคุณมีโบรกเกอร์ MQTT ที่ใช้งานได้ หากเป็นเหมือน CloudMQTT ก็จะมีเซิร์ฟเวอร์ ผู้ใช้ รหัสผ่าน และพอร์ตปรากฏขึ้น คุณจะต้องใช้สิ่งเหล่านี้ทั้งหมดเพื่อตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่ง/การเคลื่อนไหวของคุณให้นายหน้า
ขั้นตอนที่ 2: การตั้งค่าโทรศัพท์ของคุณเพื่อส่งตำแหน่งไปยัง Pi ของคุณ (ส่วนที่ II Owntracks)
สิ่งนี้ครอบคลุมเป็นอย่างดีใน Instructable ดั้งเดิมในขั้นตอนที่ 7 (Android), 8 (iOS) และ 9 (การตั้งค่าภูมิภาค)
ฉันมีอุปกรณ์ iOS เท่านั้น จึงไม่ลองขั้นตอนที่ 7
ฉันจะเพิ่มอะไรในคำแนะนำเหล่านั้น
- ในการตั้งค่ายังมีฟิลด์ TrackerID และ DeviceID สิ่งเหล่านี้คุณควรมีเพื่อระบุตัวคุณภายในครอบครัวของคุณ เช่น. ฉันมีพวกเขาเป็น R และ RPhone ตามลำดับ ซึ่งหมายความว่าคุณสามารถผ่านไปยังนาฬิกาที่เซอร์โวและหมุนมือได้
- ภูมิภาคคือชื่อสำหรับสถานที่ที่คุณต้องการติดตาม
- แต่ละภูมิภาคถูกกำหนดโดยชื่อ ละติจูด ลองจิจูด และรัศมี
-
เนื่องจากฉันต้องการให้มีสถานที่หลายแห่งเป็นส่วนหนึ่งของนาฬิกา ฉันจึงใช้รูปแบบการตั้งชื่อ ซึ่งกลายเป็นว่ามีประโยชน์มาก วิธีอื่นเป็นไปได้ แต่วิธีนี้ใช้ได้ผลสำหรับฉัน
- ตัวอย่างเช่น ในส่วนนาฬิกาของครอบครัว ฉันต้องการให้พ่อแม่พี่น้องและพ่อแม่และพี่น้องของภรรยาฉัน ดังนั้นฉันจึงมีสถานที่เช่น "Family Tom", "Family Dick", Family Harry" & "Family ParentsR" ซึ่งหมายความว่าขั้นตอนต่อไปสามารถรู้ว่าจะผ่านอะไรไปยังนาฬิกา
- โปรดทราบว่าผู้คนสามารถมีสถานที่ต่างกันได้ แต่ตราบใดที่สอดคล้องกับหลักการตั้งชื่อก็ไม่เป็นไร เช่น. งานของฉันจะแตกต่างจากที่ทำงานของภรรยาฉันและเรียกต่างกัน แต่ตราบใดที่ทั้งคู่เริ่ม "ทำงาน" ก็ไม่เป็นไร
- คุณต้องการตั้งค่าโหมดเป็น 'สำคัญ' บนหน้าจอแผนที่ ซึ่งหมายความว่าคุณ (ส่วนใหญ่) ได้รับข้อความเมื่อคุณเข้าหรือออกจากภูมิภาคเท่านั้น ดูเหมือนว่าจะเป็นเวอร์ชันที่อัปเดตของบันทึกย่อที่ทำเครื่องหมายว่า สำคัญ: ที่ส่วนท้ายของขั้นตอนที่ 8 ใน Instructable ดั้งเดิม
- ตามที่กล่าวไว้ใน Instructable ดั้งเดิม การใช้ Google Maps เป็นวิธีที่ยอดเยี่ยมในการค้นหา Lat/Long ของที่ใดที่หนึ่ง ฉันพบว่าการทำเช่นนี้เป็นกลุ่มมีประสิทธิภาพมากขึ้น โดยค้นหา Lat/Longs ทั้งหมดของตำแหน่งของฉัน จากนั้นจึงวางลงใน Notes (บน Mac ของฉัน) และด้วยการซิงค์บนคลาวด์ หมายความว่าสิ่งเหล่านั้นปรากฏบน iPhone ของฉันอย่างน่าอัศจรรย์ ใน Notes และฉันสามารถคัดลอก/วางลงใน Owntracks นอกจากนี้ยังหมายความว่าฉันสามารถส่งไฟล์ไปยังโทรศัพท์ของครอบครัวและเราทุกคนมีตำแหน่งที่สอดคล้องกัน
- สถานที่ที่อยู่ใกล้กันอาจทำให้เกิดปัญหาได้ พี่ชายของฉันอาศัยอยู่ห่างออกไป 2 ถนน และในตอนแรกโทรศัพท์ของฉันคิดว่าฉันอยู่ในภูมิภาคเดียวกับบ้านของเขาและที่บ้านพร้อมกัน ในที่สุดฉันต้องใส่ตรรกะเพิ่มเติมใน Node Red เพื่อจับและเพิกเฉยต่อสิ่งนี้
ขั้นตอนที่ 3: การตั้งค่า 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 เป็นโปรแกรมที่คุณติดตั้งบน Pi ซึ่งให้อินเทอร์เฟซแบบภาพแก่คุณ (บนเบราว์เซอร์ของคุณ) เพื่อรับข้อความจากเซิร์ฟเวอร์ MQTT ของคุณและใช้เพื่อส่งข้อมูลที่ถูกต้องไปยังสคริปต์ python ของคุณ (จะกล่าวถึงในขั้นตอนต่อไป (จะกล่าวถึงในขั้นตอนต่อไป) ขั้นตอนที่ 5) ฉันค่อนข้างใช้คำแนะนำโดย ppeters0502 ในขั้นตอนที่ 5 มีตรรกะในโฟลว์เหล่านี้และตรรกะเพิ่มเติมใน python และคุณสามารถมีได้มากหรือน้อยขึ้นอยู่กับความชอบของคุณ โดยพื้นฐานแล้ว คุณต้องทำ ต่อไปนี้
- ได้รับโหนดสำหรับข้อความ MQTT - เหล่านี้เป็นสีม่วงอ่อนและฉันมี 1 ต่อสมาชิกในครอบครัว
- แมปไปที่เซอร์โวที่คุณต้องการย้าย (หมายเลข 0, 1, 2, 3)
- ตรวจสอบว่าคุณกำลังเข้าหรือออกจากรัศมีบน OwnTracks
-
หาตำแหน่งที่เซอร์โวต้องชี้ไปที่
มีข้อยกเว้นบางประการสำหรับกฎพื้นฐานที่ฉันจำเป็นต้องสร้าง
- ตั้งมุมให้ถูกต้อง
ฉันให้ 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 'การปรับเทียบ' ซึ่งฉันสามารถตั้งค่าเซอร์โวให้เป็นมุมต่างๆ ได้ ปรับแต่งมันจนกว่ามันจะดูถูกต้อง นี่คือสคริปต์แรกที่แนบ คุณเพียงแค่ใส่ความคิดเห็นเกี่ยวกับเซอร์โวที่คุณไม่ได้ทำการทดสอบ จดจ่อกับเซอร์โวหนึ่งตัว จากนั้นปรับค่าตามที่คุณต้องการ หมายเหตุ: การสอบเทียบสำหรับแท่นทดสอบนั้นเรียบง่าย หยาบ และพร้อม คุณจะต้องปรับเทียบใหม่เมื่อประกอบนาฬิกา เพราะเฟือง ฯลฯ จะเปลี่ยนทุกอย่าง สคริปต์ที่สองนั้นค่อนข้างพื้นฐาน มันทำดังต่อไปนี้
- นำเข้าห้องสมุดไม่กี่แห่ง
- ย้ายตัวแปรที่มาจาก Node-RED ไปยังตัวแปรในสคริปต์
- แมปมุมที่กำหนดโดยสคริปต์การปรับเทียบกับตำแหน่งบนนาฬิกา
- ตรวจสอบว่าพบตำแหน่งในรายการแล้วถ้าไม่ย้ายไปที่ "อันตราย"
- เขียนสิ่งที่ทำลงในล็อกไฟล์
- ย้ายเซอร์โวที่ต้องการไปยังมุมที่ต้องการ
- หยุดเซอร์โวตัวหนึ่งไม่ให้ 'หึ่ง' *
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 - เซอร์โวและเพลา
ตอนนี้บิตที่ฉันมั่นใจน้อยที่สุดนั่นคือเหตุผลที่ฉันปล่อยให้มันอยู่ได้นาน ฉันต้องการใบหน้าที่มีขนาดพอเหมาะและโครงสร้างที่ง่าย ฉันยังประหม่าเกี่ยวกับการได้เซอร์โว 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: ส่วนขยายในอนาคตที่เป็นไปได้…?
ความคิดที่ฉันมีเกี่ยวกับขั้นตอนต่อไปมีดังนี้
- ฉันต้องการเปลี่ยน iPad รุ่นเก่าเป็นหน้าปัดนาฬิกา เช่น ทำนาฬิกาดิจิตอล อาจใช้เบราว์เซอร์หรือแอป เนื่องจากนาฬิกาทางกายภาพนั้นไร้สัญชาติโดยพื้นฐานแล้ว (เช่น มันไม่รู้ว่าปัจจุบันอยู่ที่ไหน ยกเว้นโดยอาศัยอำนาจที่มืออยู่ในตำแหน่งทางกายภาพ) ฉันจึงต้องมีการจัดเก็บข้อมูลอย่างต่อเนื่อง Node Red สามารถเขียนไปยังระบบไฟล์ในเครื่องได้ ดังนั้นฉันน่าจะทำอย่างนั้น
- ถ้าฉันทำอย่างนั้น ฉันอยากจะเห็นมันจากนอกบ้าน แต่แล้วเราจำเป็นต้องแยกแยะการรักษาความปลอดภัยจริงๆ เนื่องจากการเข้าถึงภายในเครือข่าย wifi เดียวกันเป็นสิ่งหนึ่ง การเข้าถึงจากอินเทอร์เน็ตจึงเป็นอีกสิ่งหนึ่ง ขณะนี้ฉันไม่มีความคิดเกี่ยวกับวิธีที่ดีที่สุดในการทำเช่นนี้ แต่ฉันสงสัยว่าการสมัครสมาชิก MQTT จะเป็นไปในทางอื่น (pi เผยแพร่สถานะปัจจุบันและอุปกรณ์ภายนอกสมัครรับข้อมูล)…?
- ฉันต้องการมือข้างหนึ่งสำหรับ 'ต่างประเทศ' แต่นั่นอาจซับซ้อนจากมุมมองของ OwnTracks อาจจะใช้ long/lat ร่วมกับรัศมีขนาดใหญ่บางอันก็ได้
แนะนำ:
หัวหุ่นจำลองเสียง Localizing ด้วย Kinect: 9 ขั้นตอน (พร้อมรูปภาพ)
Sound Localizing Mannequin Head With Kinect: พบกับ Margaret หุ่นจำลองสำหรับระบบตรวจสอบความล้าของคนขับ เธอเพิ่งเกษียณจากหน้าที่และพบทางไปยังพื้นที่สำนักงานของเรา และตั้งแต่นั้นมาเธอก็ได้รับความสนใจจากผู้ที่คิดว่าเธอ 'น่าขนลุก' เพื่อประโยชน์ของความยุติธรรม ฉันได้
สร้างตัวแยกขยะ Pi ด้วย ML!: 8 ขั้นตอน (พร้อมรูปภาพ)
สร้างตัวแยกประเภทถังขยะ Pi ด้วย ML!: โปรเจ็กต์ตัวแยกขยะหรือที่รู้จักกันในนาม "มันไปที่ไหน!" ได้รับการออกแบบมาเพื่อให้การทิ้งสิ่งของต่างๆ ทิ้งไปเร็วขึ้นและเชื่อถือได้มากขึ้น โปรเจ็กต์นี้ใช้โมเดล Machine Learning (ML) ฝึกฝนใน Lobe เป็นมิตรกับผู้เริ่มต้น (ไม่มีรหัส!)
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: 8 ขั้นตอน
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: บางครั้งฉันพูดภาษาอังกฤษได้ดีมาก บางครั้งก็ไม่มี… สิ่งแรกเลย นี่เป็นการสอนครั้งแรกของฉันและภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน ดังนั้นโปรดอย่ากดดันฉันมากเกินไป นี่จะไม่เกี่ยวกับวิธีการสร้างเฟรมที่ง่าย มันเกี่ยวกับการติดตั้ง
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง
นาฬิกาบอกตำแหน่ง Somebody Loves Me: 6 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาบอกตำแหน่ง Somebody Loves Me: กับคนที่คุณรักในต่างประเทศหรือนอกรัฐ ไม่มีอะไรบอกได้ว่าฉันกำลังคิดถึงคุณ ดีกว่าการรู้ว่าตอนนี้เป็นเวลาเท่าไรสำหรับพวกเขา! ผัวเมียที่เกษียณอายุแล้วของฉันกำลังเตรียมพร้อมรับใช้งานเผยแผ่ของคริสตจักรในกรุงเบอร์ลิน เยอรมนี และภรรยาของฉันได้เสนอให้ก