สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
นี่เป็นโครงการ Arduino ง่ายๆในการสร้างแม่พิมพ์อิเล็กทรอนิกส์ สามารถเลือกได้ 1 ถึง 6 ลูกเต๋าหรือ 1 ใน 8 ลูกเต๋าพิเศษ ทางเลือกทำได้โดยการหมุนเอ็นโค้ดเดอร์แบบหมุน
นี่คือคุณสมบัติ:
- 1 ตาย: แสดงจุดใหญ่
- 2-6 ลูกเต๋า: แสดงจุดรวมทั้งมูลค่ารวม (สลับ)
- ลูกเต๋า 4, 5, 8, 10, 12, 20, 24 และ 30 แสดงค่าและตัวบ่งชี้สำหรับการเลือกลูกเต๋า
- แอนิเมชั่นสำหรับทอยลูกเต๋าเมื่อกดปุ่ม
สามารถใส่ทุกอย่างลงในลูกบาศก์ขนาด 7 ซม. x 7 ซม. รวมแบตเตอรี่ได้ แต่แล้วคุณจะต้องประสานทุกอย่าง ฉันใช้เขียงหั่นขนมและสายจัมเปอร์เพื่อเชื่อมต่อทุกอย่าง ดังนั้นกล่องที่ใหญ่กว่าอยู่ข้างใต้
ในการเพาะตัวเลขสุ่มของ Arduino ฉันใช้การอ่านข้อมูลพินฟรีที่ไม่ได้เชื่อมต่อ
หมายเหตุ: คำแนะนำนี้จะแสดงให้คุณเห็นทุกขั้นตอนเพื่อให้ e-dice ทำงานได้ ฉันจะเพิ่ม pdf ที่มีรูปแบบพื้นฐานสำหรับกล่อง แต่ไม่มีคำแนะนำเพิ่มเติม โดยการวางชั้นกระดาษทับเมทริกซ์นำ คุณทำให้ตัวเลขและผลลัพธ์ชัดเจนขึ้น
หมายเหตุ 4 สัปดาห์ต่อมา: ฉันย้ายโปรเจ็กต์นี้ไปที่ชิป attiny85 ด้วยการใช้โปรแกรมและตัวแบ่งแรงดันไฟฟ้าเพื่อข้ามพินรีเซ็ตและใช้เป็นพินของปุ่ม โปรดติดต่อฉันสำหรับข้อมูลเพิ่มเติม
เสบียง
- Arduino (ฉันใช้นาโน)
- ตัวเข้ารหัสแบบหมุน (หรือตัวเข้ารหัสการคลิก แต่เราไม่ได้ใช้ฟังก์ชันพุช)
- ปุ่มกด
- เมทริกซ์นำ 8 x 8 พร้อมโมดูล MAX7219 (ต้องการพินน้อยลง! 3 แทนที่จะเป็น 8)
- จัมเปอร์ลวด
ขั้นตอนที่ 1: ขั้นตอนที่ 1: เสียบส่วนประกอบ
-
เสียบส่วนประกอบทั้งหมดเพื่อไม่ให้พินเชื่อมต่อกัน (รู a ถึง e เชื่อมต่อตามหมายเลขบรรทัด เหมือนกันสำหรับรู f ถึง j)
- Arduino nano อยู่ที่ด้านบนโดยมีหมุดอยู่ทั้งสองด้านของหมุดตรงกลาง
- ตัวเข้ารหัส (คลิก) หรือตัวเข้ารหัสแบบหมุนไปทางซ้าย
- เมทริกซ์นำทางด้านขวา
- ปุ่มกดที่ด้านล่างเพื่อให้เข้าถึงได้ง่าย (กำหนดว่าจะเปิดรายชื่อใดโดยการกด)
- ใช้ลวดเชื่อม "+" สองเส้น
- ทำเช่นเดียวกันสำหรับสองบรรทัด "-" (กราวด์หรือ gnd)
ขั้นตอนที่ 2: ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
เราใช้เมทริกซ์นำพร้อมไดรเวอร์ MAX72XX เราสามารถบันทึกได้ถึง 5 พินและไม่ต้องมัลติเพล็กซ์
เป็นไปได้ที่จะเชื่อมต่อเมทริกซ์หลายตัวเข้ากับไดรเวอร์ MAX72xx หนึ่งตัว สำหรับสิ่งนี้จะมีด้าน "ออก" และ "เข้า" เราใช้หมุด "IN" เท่านั้น
หมุดเหล่านี้ถูกผลักเข้าไปในเขียงหั่นขนม คุณสามารถดูชื่อพินได้ภายใต้เมทริกซ์นำเอง ทั้งหมดจะต้องเชื่อมต่อ:
- VCC ถึง 5V ("+"-line)
- GND เป็น GND ("-"-บรรทัด)
- DIN ถึง Arduino D12 (จัมเปอร์สีส้ม)
- CS ถึง Arduino D10 (จัมเปอร์สีเขียว)
- CLK ถึง Arduino D11 (จัมเปอร์สีขาว)
ขั้นตอนที่ 3: ขั้นตอนที่ 3: เชื่อมต่อ Rotary Encoder
ฉันใช้ตัวเข้ารหัสการคลิกแบบหมุน ตัวเข้ารหัสเหล่านี้มีฟังก์ชันพุชพิเศษ (และพินเพิ่มเติม) ซึ่งเราไม่ได้ใช้ในโปรเจ็กต์นี้ คุณสามารถใช้เครื่องเข้ารหัสแบบโรตารี่ธรรมดาได้
เมื่อคุณหมุนลูกบิด ตัวเข้ารหัสจะให้สัญญาณ + หรือ - เมื่อเทียบกับตำแหน่งเดิม คุณสามารถรู้สึกหยักเมื่อหมุน ในกรณีของฉัน ฉันพบว่ามี Serial.print() ที่ตัวเข้ารหัสให้ 4 ขั้นตอนสำหรับแต่ละรอย คุณต้องปรับสิ่งนี้หากข้ามประเภทลูกเต๋าบางประเภท (ดูรหัส)
เชื่อมต่อตัวเข้ารหัสดังต่อไปนี้:
- GND ถึง GND (เส้น "-") (เส้นลวดสีดำชิ้นเล็ก)
- + ถึง 5V ("+"-line) (เส้นเล็กสีแดง)
- SW เป็นไม่มีอะไร (นี่คือสวิตช์ที่เราไม่ได้ใช้)
- DT ถึง A1 (จัมเปอร์สีส้ม)
- CLK ถึง A0 (จัมเปอร์สีขาว)
ขั้นตอนที่ 4: ขั้นตอนที่ 4: ปุ่มและ VCC
ในเวอร์ชันแรกของฉัน ฉันใช้ปุ่มที่มีตัวต้านทานพิเศษ อย่างไรก็ตามใน arduino IDE คุณสามารถตั้งค่าการใช้ตัวต้านทาน pull_up ได้ ด้วยวิธีนี้คุณไม่จำเป็นต้องมีตัวต้านทานเพิ่มเติม แต่คุณต้องทำผกผันเล็กน้อยในโค้ดโดยอ่านปุ่มนี้
เพียงเชื่อมต่อปลายด้านหนึ่งของปุ่มด้วย GND ("-"-line) และปลายอีกด้านหนึ่งด้วย D2 (จัมเปอร์สีน้ำเงิน)
การเชื่อมต่อสุดท้ายที่จะทำ: สายไฟจาก Arduino 5V ไปยังสาย "+" สำหรับใช้ 5V ที่ได้รับการควบคุมของ Arduino
หลังจากขั้นตอนเหล่านี้ การเชื่อมต่อทั้งหมดจะทำเป็นเวอร์ชันที่ใช้งานได้
หมายเหตุ: คุณสามารถเพิ่มแบตเตอรี่ เชื่อมต่อแบตเตอรี่ด้วย + ถึง VIN และ - ถึง GND ("-"-line)
ขั้นตอนที่ 5: ขั้นตอนที่ 5: รหัส
เปิด Arduino IDE
คุณสามารถดาวน์โหลดไฟล์ zip สำหรับไลบรารีที่ไม่สามารถใช้งานได้ผ่าน "Library Management" ใน IDE
ตรวจสอบให้แน่ใจว่าคุณเพิ่มไลบรารีต่อไปนี้ผ่าน "การจัดการไลบรารี" หรือเพิ่มไลบรารีด้วยตนเองใน IDE:
LedControl โดย Eberhard Fahle v1.0.6
-
TimerOne โดย Jesse Tane, Jérôme Despastis, … (ฉันดาวน์โหลดและติดตั้งเวอร์ชัน r11 ด้วยตนเองจาก:
code.google.com/archive/p/arduino-timerone…
- ตัวเข้ารหัสโดย Peter Dannegger พบได้ใน
ฉันใช้ห้องสมุด Peter Danneggers เพราะเขาเพิ่มฟังก์ชันเพื่อให้ความไวในการเร่งตัวเข้ารหัส: การหมุนเร็วขึ้นทำให้ตัวเลขขึ้นเร็วขึ้น
เมื่อติดตั้งไลบรารีเหล่านั้นแล้ว คุณจะสามารถเปิดและคอมไพล์ไฟล์ edice.ino ได้
ขั้นตอนที่ 6: ขั้นตอนที่ 6: ทำให้มันสวย…
ฉันชอบที่จะใช้ Arduino ของฉันซ้ำดังนั้นฉันจึงไม่ค่อยประสานโครงการหรือพยายามทำให้ดูดีขึ้น ฉันชอบสไตล์เนิร์ดของสายไฟและจัมเปอร์…
อย่างไรก็ตาม ฉันสร้างเทมเพลตขนาดเล็กนี้เพื่อเก็บส่วนประกอบทั้งหมด หากคุณวางกล่องที่มีตัวเลข 30 ถึง 4 พิมพ์บนกระดาษสีขาวทับเมทริกซ์ ตัวหุ้ม LED ที่แยกจากกันจะเบี่ยงเบนความสนใจน้อยลง เป็นโบนัส ไฟ LED ในแถวบนสุดจะแสดงให้คุณเห็นว่าเลือกลูกเต๋าพิเศษแบบใด
แก้ไข: ฉันสร้างเวอร์ชันที่มีประกายไฟ digistump attiny85 ในกล่อง Lasercut ที่สวยงาม ปุ่ม De ใช้สำหรับเลือกแม่พิมพ์และปุ่มกด
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
BOSEBerry Pi Internet Radio: 4 ขั้นตอน (พร้อมรูปภาพ)
BOSEBerry Pi Internet Radio: ฉันชอบฟังวิทยุ! ฉันใช้วิทยุ DAB ในบ้าน แต่พบว่าการรับสัญญาณค่อนข้างหยาบและเสียงขาดหาย ดังนั้นฉันจึงตัดสินใจสร้างวิทยุอินเทอร์เน็ตของตัวเอง ฉันมีสัญญาณ wifi แรงรอบบ้านและพี่ชายดิจิทัล
นาฬิกาบอกตำแหน่ง 'วีสลีย์' ด้วย 4 เข็มนาฬิกา: 11 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาบอกตำแหน่ง 'Weasley' แบบมี 4 เข็ม: ดังนั้น ด้วย Raspberry Pi ที่ใช้งานมาระยะหนึ่งแล้ว ฉันต้องการค้นหาโครงการดีๆ ที่จะช่วยให้ฉันใช้งานได้ดีที่สุด ฉันเจอนาฬิกาบอกตำแหน่งวีสลีย์ที่สอนได้ดีเยี่ยมนี้โดย ppeters0502 และคิดว่า
สถานีตรวจอากาศระดับมืออาชีพโดยใช้ ESP8266 และ ESP32 DIY: 9 ขั้นตอน (พร้อมรูปภาพ)
สถานีตรวจอากาศระดับมืออาชีพโดยใช้ ESP8266 และ ESP32 DIY: LineaMeteoStazione เป็นสถานีตรวจอากาศที่สมบูรณ์แบบซึ่งสามารถเชื่อมต่อกับเซ็นเซอร์ระดับมืออาชีพจาก Sensirion รวมถึงส่วนประกอบ Davis Instrument (Rain Gauge, เครื่องวัดความเร็วลม) โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อเป็นสถานีตรวจอากาศแบบ DIY แต่ต้องใช้