สารบัญ:
- ขั้นตอนที่ 1: The 8 Ball
- ขั้นตอนที่ 2: พอร์ตการเข้าถึงหน้าต่าง
- ขั้นตอนที่ 3: พิมพ์และประกอบ
- ขั้นตอนที่ 4: ดวงตา
- ขั้นตอนที่ 5: อุปกรณ์อิเล็กทรอนิกส์
- ขั้นตอนที่ 6: โปรแกรม
- ขั้นตอนที่ 7: การประกอบหน้าต่างและอิเล็กทรอนิกส์
- ขั้นตอนที่ 8: การรบกวนพอดี
- ขั้นตอนที่ 9: ไฟล์เพิ่มเติม
- ขั้นตอนที่ 10: อัปเดต
- ขั้นตอนที่ 11: ไฟล์เพิ่มเติม
วีดีโอ: Electronic Magic 8 Ball และ Eyeball: 11 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ฉันต้องการสร้างเวอร์ชันดิจิทัลของ Magic 8 Ball…
ร่างกายของสิ่งนี้พิมพ์ 3 มิติและจอแสดงผลเปลี่ยนจากรูปทรงหลายเหลี่ยมในสีย้อมสีน้ำเงินเป็น OLED ขนาดเล็กที่ควบคุมโดยโปรแกรมสร้างตัวเลขสุ่มที่ตั้งโปรแกรมไว้ใน Arduino NANO
จากนั้นฉันก็ไปสัมผัสกันและสร้างเปลือกขึ้นมาอีกอันหนึ่งซึ่งเป็นดวงตาสีฟ้าน้ำแข็งที่มองตรงเข้าไปในจิตวิญญาณของคุณ…
ข้อควรระวัง: ในขณะที่ฉันใช้สวิตช์เอียงแบบปรอทในท้ายที่สุดสำหรับโครงสร้างขั้นสุดท้ายของฉัน หากมีจุดประสงค์เพื่อใช้เป็นของเล่น คุณก็ควรทำตามแผนเดิมที่ระบุไว้ที่นี่ ปรอทรู้จักความเป็นพิษ วิดีโอที่สองแสดงให้เห็นอย่างชัดเจนว่าทำไมฉันถึงทำเช่นนี้!
สวิตช์ปรอททั้งหมดของฉันถูกเรียกคืนจากเทอร์โมสแตทในบ้านแบบเก่าที่ถูกกำหนดไว้สำหรับการฝังกลบ ตอนนี้พวกเขาอยู่ในมือที่ปลอดภัยแล้ว…
อัปเดต 12 เมษายน 2019 !!!: ฉันได้รวมวิธีที่ง่ายกว่าในการใช้พลังงานและเรียกใช้โครงการนี้ ฉันได้รวมรหัสที่ถอดออกซึ่งเพิ่งแสดงคำแนะนำด้วย ทั้งหมดถูกเปิดเผยในขั้นตอนที่ 10
ขั้นตอนที่ 1: The 8 Ball
ฉันสร้างทรงกลมกลวงขนาด 100 มม. ใน Solidworks
ฉันไม่ต้องการรอยต่อใดๆ ตามแนวเส้นศูนย์สูตรของทรงกลม ดังนั้นส่วนบนและส่วนล่างจึงถูกตัดออกจากรูขนาด 50 มม. ที่ด้านบนและรูขนาด 56 มม. ที่ด้านล่าง
เนื่องจากฉันไม่ต้องการให้มีการรัดใดๆ ให้เห็น ฉันจึงทำการตัด 57 มม. ลึก 1 มม. ที่ด้านนอกของรูด้านล่าง และเพิ่มแท่งเส้นผ่านศูนย์กลาง 4 มม. สองอันที่เพิ่งตั้งฉากลงในรูที่ยาวประมาณ 4 มม.
ปลั๊กรูบนถูกจำลองโดยการพลิกส่วนการตัดเริ่มต้นสำหรับรูบนสุด เพิ่มวงแหวน 2 มม. เพิ่มเติมที่ส่วนโค้งด้านในของปลั๊ก จากนั้นทุกอย่างก็แข็งตัว
จากด้านบนฉันวาดตัวเลข 8 จำนวนมากและโครงร่างนี้ถูกตัดออกจากฝาครอบด้านบน ในทางกลับกันก็ใช้เพื่อสร้างชิ้นส่วนหมายเลข 8
ขั้นตอนที่ 2: พอร์ตการเข้าถึงหน้าต่าง
ส่วนนี้เก็บอุปกรณ์อิเล็กทรอนิกส์และการทำงานภายในทั้งหมด นอกจากนี้ยังมีจุดประสงค์เพื่อเป็นจุดเชื่อมต่อสำหรับเปลี่ยนแบตเตอรี่
ฉันไม่ต้องการเห็นหมุดยึดบนนี้ ฉันจึงทำการเปิดสกรูเป็นชิ้น ๆ โดยหมุนได้ประมาณ 36 องศาและล็อคเข้าที่..
มีพอร์ตที่มีเส้นผ่านศูนย์กลางประมาณ 1 นิ้วตรงกลางชิ้นที่ช่วยให้ดูคำแนะนำได้
ด้านในของพอร์ตเป็นช่องสี่เหลี่ยมจัตุรัสสำหรับใส่พลาสติกหรือแก้วหนา 2 มม.
หน้าต่างนี้ใช้กับของเล่นนี้ทุกขนาด
จำเป็นต้องมีชิ้นส่วนอิเล็กทรอนิกส์สองส่วนรั้งและ ElectronicsTray และ nanoTray อย่างละหนึ่งชิ้น
ขั้นตอนที่ 3: พิมพ์และประกอบ
ลูกบอลและตัวเลขพิมพ์ด้วย ABS สีดำ ขณะที่ฝาบนพิมพ์โดยใช้วัสดุ ABS แบบธรรมชาติ ฉันพยายาม ABS สีขาว แต่มันดูแข็งแกร่งเกินไป
เลข 8 เป็นแบบกดเข้าที่ฝาด้านบน
ฝาบนมีขนาดเล็กพอที่จะเข้าไปในลูกบอลผ่านช่องเปิดด้านล่าง
พอดีกับแรงเสียดทานแต่ยังยึดไว้กับกาว ABS
ฉันกังวลเล็กน้อยเกี่ยวกับการติดตั้งชิ้นส่วนทั้งหมดด้านใน ดังนั้นฉันจึงสร้างชิ้นส่วนใหม่ คราวนี้เป็นเส้นผ่านศูนย์กลาง 120 มม.
ขั้นตอนที่ 4: ดวงตา
ฉันลบคัตเอาท์บนสุดในโมเดล 3 มิติ และพิมพ์ออร์บทั้งสองด้วย ABS ธรรมชาติ จากนั้นพิมพ์พอร์ตการเข้าถึงหน้าต่างด้วย Blue ABS
ให้ลูกตาที่สมเหตุสมผลเมื่อมองตรงๆ
ฉันชอบเวอร์ชั่นนี้มากกว่า 8Ball ดั้งเดิม
ขั้นตอนที่ 5: อุปกรณ์อิเล็กทรอนิกส์
อวกาศเป็นข้อจำกัดเช่นเดียวกับรูปลักษณ์
จะต้องไม่มีส่วนที่ยื่นออกมาภายนอกหรือสิ่งกีดขวางเพื่อความสวยงาม
ของเล่นเปิดและโต้ตอบด้วยการเคลื่อนไหว
ของเล่นเริ่มต้นในสภาพปิดจนกว่าจะกลับด้าน
แทนที่จะใช้สวิตช์ปุ่มกด ฉันใช้สวิตช์เอียง
ก่อนหน้านี้ฉันใช้ MOSFET เพื่อควบคุมพลังงานให้กับไมโครคอนโทรลเลอร์ อย่างไรก็ตามสิ่งนี้ไม่เหมาะเนื่องจากอนุญาตให้กระแสไฟจำนวนเล็กน้อยป้อนไมโครคอนโทรลเลอร์อย่างต่อเนื่อง ซึ่งทำให้แบตเตอรี่หมดภายในเวลาประมาณหนึ่งเดือน
กรณีนี้ฉันใช้รีเลย์ขนาดเล็กเหมือนกับที่ใช้ในโปรเจ็กต์ไดรฟ์ USB cryptex
แผนผังที่รวมไว้จะแสดงการเดินสายที่จำเป็นเพื่อให้ฮาร์ดแวร์ทำงานได้
สวิตช์เอียง
รีเลย์. ฉันใช้คอยล์ 6V เนื่องจากแรงดันแบตเตอรี่คือ 6V และต้องใช้วงจรขับสำหรับรีเลย์ที่เปลี่ยนจากทรานซิสเตอร์ NPN ธรรมดา
โมดูล Waveshare 128 X 128 OLED จาก Amazon
ขั้นตอนที่ 6: โปรแกรม
ฉันต้องการคำตอบที่เป็นของเล่นดั้งเดิม ฉันใช้ Wikipedia สำหรับสิ่งนี้
โมดูลนี้เป็นประเภท SSD1327 และมีไลบรารีโค้ดที่มีประสิทธิภาพมากสำหรับ LCD เหล่านี้
ความพยายามครั้งแรกในการใช้รหัสนี้ทำให้เกิดความล้มเหลวเนื่องจากการใช้หน่วยความจำมากเกินไป
วิธีแก้ปัญหาง่ายๆ ก็คือการใช้โค้ดที่แยกส่วนมาจากผู้ผลิต
ฉันเป่าตัวอย่างส่วนใหญ่ออกและใช้งานตัวอย่างโค้ดต้นฉบับเพื่อแสดงข้อมูลที่จำเป็น
โปรแกรมทำงานดังนี้:
ลูกบอลที่อยู่นิ่งอยู่ในสถานะปิดไฟ
การพลิกลูกบอลโดยมองไปที่หน้าต่างคือพลังดั้งเดิมในสถานะ
เมื่อ Arduino เริ่มทำงานและแสดงคำแนะนำ "ถามคำถามของคุณแล้วกลับด้าน" โปรแกรมรับช่วงต่อและจ่ายไฟให้กับ Arduino ผ่านรีเลย์ที่ควบคุมด้วยโปรแกรม..
คำแนะนำจะยังคงปรากฏอยู่จนกว่าของเล่นจะหันด้านที่โค้งมนขึ้น ซึ่งจะเป็นการปิดสวิตช์เอียงและโปรแกรมจะเข้าสู่โหมดการคิด การอ่านแสดง "กำลังคิด…" เพื่อให้คุณรู้ว่ายังทำงานอยู่
ลูกบอลจะกลับด้านอีกครั้งเพื่อให้หน้าต่างตั้งตรง
การดำเนินการนี้จะถูกอ่านโดยสวิตช์เอียงแบบกลไกเปิด และโปรแกรมจะสร้างการตอบสนองแบบสุ่มในหนึ่งวินาทีของหน้าต่างโดยหันไปทางด้านบน
ข้อความจะยังคงปรากฏอยู่จนกว่าของเล่นจะหันด้านลูกบอลขึ้น
กระบวนการนี้จะดำเนินต่อไปจนกว่าลูกบอลจะถูกวางโดยให้ขอบหน้าต่างคว่ำลงเป็นเวลานานกว่า 16 วินาที โดยที่โปรแกรมจะปิดใช้งานรีเลย์และปิดไฟ
หมายเหตุสำคัญเกี่ยวกับโปรแกรมนี้อยู่ใน random(); การทำงาน.
ฉันมีปัญหากับคำตอบที่ปรากฏขึ้น ฉันยังทดสอบสิ่งนี้กับอุปกรณ์ทั้งสองพร้อมกันและพบว่าใช่เหมือนกัน
เป็นสิ่งสำคัญที่จะใช้ randomSeed(analogRead(0)); กิจวัตรประจำวัน. คำอธิบายสำหรับสิ่งนี้สามารถพบได้ที่นี่:
ขั้นตอนที่ 7: การประกอบหน้าต่างและอิเล็กทรอนิกส์
มีชิ้นส่วนที่พิมพ์ออกมาห้าชิ้นสำหรับชุดประกอบนี้ซึ่งประกอบเป็นหน้าต่าง ที่ใส่แบตเตอรี่ และฝาครอบ
อย่างแรกคือส่วนประกอบที่มองเห็นได้ซึ่งรองรับ OLED และส่วนที่สองคือตัวพาแบตเตอรี่และคอนโทรลเลอร์ซึ่งยึดติดกับหน้าต่าง VIA standoffs
ฉันใช้กระจกตัดชิ้นเล็ก ๆ สำหรับหน้าต่าง ติดกาวด้วยกาวชนิดไซยาโน ฉันมีโฟมแถบกันฝนที่มีกาวอยู่ด้านหนึ่ง ซึ่งถูกตัดเป็นเส้นเล็กๆ และวางรอบๆ กระจกที่ด้านในของชุดหน้าต่าง
มีรูสกรู 4 รูรอบหน้าต่าง สิ่งเหล่านี้มีระยะห่างสำหรับโมดูลที่ฉันเลือก เหล่านี้มีตัวแทรกชุดความร้อน 4-40 ตัวติดตั้งโดยใช้หัวแร้ง
เมื่อติดตั้งโมดูลแล้ว จะใช้สแตนออฟ 1/4 นิ้วเพื่อยึดลง
ฉันโชคดีเมื่อส่วนประกอบมาถึง ที่ใส่แบตเตอรี่พอดีในช่องเปิด ซึ่งหมายความว่าฉันไม่ต้องวางแบตเตอรี่ในแนวตั้ง ซึ่งหมายความว่าลูกบอลขนาดเล็กจะทำงานได้ดี
ฐานของช่องใส่อุปกรณ์อิเล็กทรอนิกส์มีที่ใส่แบตเตอรี่และมีช่องเสียบ 2 ช่อง ช่องหนึ่งสำหรับรีเลย์และอีกช่องสำหรับสวิตช์เอียง
ฝาปิดมี 3 ส่วนที่ยึดเข้าด้วยกันและยึดแบตเตอรี่ไว้อย่างแน่นหนา และให้พื้นผิวเรียบสำหรับติดโมดูล NANO
จากนั้น 2 ชิ้นส่วนนี้จะถูกขันให้เข้ากับ 4 standoffs ที่ด้านหลังของโมดูล OLD
ด้วยความระมัดระวัง! ฉันลงเอยด้วยการเปลี่ยนสวิตช์เอียงด้วยสวิตช์ปรอท สิ่งนี้ทำให้การทำงานมีความน่าเชื่อถือมากขึ้น
ขั้นตอนที่ 8: การรบกวนพอดี
การประกอบหน้าต่างเมื่อเสร็จแล้วจะเข้ารูปพอดีผ่านช่องเจาะที่ด้านล่างของลูกบอล
เมื่อประกอบกระจกบานสุดท้ายเข้ากับลูกบอล อาจมีการรบกวนบ้าง
หากเป็นเช่นนี้ อาจจำเป็นต้องตัดขอบด้านในของส่วนรองรับหน้าต่างในลูกบอลตามที่แสดง
ขั้นตอนที่ 9: ไฟล์เพิ่มเติม
นี่คือไฟล์ลูกบอลขนาดเส้นผ่านศูนย์กลาง 120 มม. ขนาดใหญ่
ขั้นตอนที่ 10: อัปเดต
ฉันได้กรอกรหัสที่ถูกถอดแล้วเพื่อให้ลูกบอลนี้มีการทำงานคล้ายกับต้นฉบับ
ตอนนี้เมื่อคุณพลิกกลับ จะใช้เวลาประมาณ 4 วินาทีเพื่อให้โปรแกรมเริ่มและแสดงคำแนะนำ
การดำเนินการประเภทนี้สามารถทำได้ด้วยการสร้างฮาร์ดแวร์ที่ง่ายกว่า
หนึ่งสามารถกำจัดส่วนพลังงานทั้งหมดของวงจรและไม่จำเป็นต้องใช้ Driving D2 แบบดิจิทัลเลย
สวิตช์เอียงสามารถป้อนทรานซิสเตอร์สวิตชิ่งที่ให้พลังงานแก่อินพุตพลังงานดิบบนบอร์ด
ฉันทิ้งส่วนประกอบไว้สำหรับการเปลี่ยนแปลงนี้
หากเปลี่ยนวงจร การประกาศโปรแกรมของ powPin และส่วนอื่นๆ ที่เกี่ยวข้องกับสิ่งนี้อาจถูกลบออกจากโปรแกรม
หากวงจรเดิมถูกสร้างขึ้นและคุณต้องการใช้รหัสไม่มีกำลัง ยังคงควรทำงานเมื่อสวิตช์เอียงเปิดไฟที่ไมโครคอนโทรลเลอร์
ในโหมดนี้ โปรแกรมจะใช้เวลาประมาณ 4 วินาทีในการเริ่มและแสดงคำแนะนำเสมอ
การถอดพินอินพุตจะทำให้ง่ายขึ้นอีก ฉันยังไม่ได้ทดสอบโหมดนี้ แต่ควรใช้งานได้เหมือนเดิม เพียงให้แน่ใจว่าได้ลบการอ้างอิงถึงการอ่านอินพุตออกจากโปรแกรม
หากใช้เซ็นเซอร์เอียงประเภทนี้ ฉันได้รวมการรองรับผู้ให้บริการแบตเตอรี่ใหม่ไว้ด้วย
ขั้นตอนที่ 11: ไฟล์เพิ่มเติม
นี่คือไฟล์ OLED จากเว็บไซต์ Waveshare….
รองชนะเลิศการแข่งขัน Arduino 2019
แนะนำ:
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
LED Table Tennis Ball-Ball: 16 ขั้นตอน (พร้อมรูปภาพ)
ลูกปิงปอง LED: Backstory หลังจากสร้างแผงลูกปิงปองแบบแบนไปครู่หนึ่ง ฉันเริ่มสงสัยว่ามันจะเป็นไปได้ไหมที่จะสร้างแผง 3 มิติจากลูกปิงปอง ประกอบกับความสนใจในการทำ "art" จากรูปทรงเรขาคณิตที่เกิดซ้ำ ฉัน
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร
Ball Balancer และ PID Fiddler: 7 ขั้นตอน (พร้อมรูปภาพ)
Ball Balancer และ PID Fiddler: โครงการนี้นำเสนอสำหรับผู้ที่มีประสบการณ์ในการใช้ Arduino ความรู้เดิมเกี่ยวกับการใช้เซอร์โว, จอแสดงผล OLED, หม้อ, ปุ่ม, การบัดกรีจะเป็นประโยชน์ โปรเจ็กต์นี้ใช้ชิ้นส่วนที่พิมพ์ 3 มิติ Ball Balancer เป็นอุปกรณ์ทดสอบ PID สำหรับนักเ
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): 25 ขั้นตอน (พร้อมรูปภาพ)
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): นี่คือบทแนะนำเกี่ยวกับวิธีการสร้าง Quadcopter โดยใช้มอเตอร์ NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS & วิทยุ 3DR ฉันพยายามอธิบายแต่ละขั้นตอนด้วยรูปภาพจำนวนหนึ่ง หากคุณมีคำถามหรือความคิดเห็นใด ๆ โปรดตอบกลับ