E-dice - Arduino Die/dice 1 ถึง 6 Dice + D4, D5, D8, D10, D12, D20, D24 และ D30: 6 ขั้นตอน (พร้อมรูปภาพ)
E-dice - Arduino Die/dice 1 ถึง 6 Dice + D4, D5, D8, D10, D12, D20, D24 และ D30: 6 ขั้นตอน (พร้อมรูปภาพ)
Anonim
Image
Image
E-dice - Arduino Die/dice 1 ถึง 6 ลูกเต๋า + D4, D5, D8, D10, D12, D20, D24 และ D30
E-dice - Arduino Die/dice 1 ถึง 6 ลูกเต๋า + D4, D5, D8, D10, D12, D20, D24 และ D30

นี่เป็นโครงการ 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: เสียบส่วนประกอบ

ขั้นตอนที่ 1: เสียบส่วนประกอบ
ขั้นตอนที่ 1: เสียบส่วนประกอบ
  • เสียบส่วนประกอบทั้งหมดเพื่อไม่ให้พินเชื่อมต่อกัน (รู a ถึง e เชื่อมต่อตามหมายเลขบรรทัด เหมือนกันสำหรับรู f ถึง j)

    • Arduino nano อยู่ที่ด้านบนโดยมีหมุดอยู่ทั้งสองด้านของหมุดตรงกลาง
    • ตัวเข้ารหัส (คลิก) หรือตัวเข้ารหัสแบบหมุนไปทางซ้าย
    • เมทริกซ์นำทางด้านขวา
    • ปุ่มกดที่ด้านล่างเพื่อให้เข้าถึงได้ง่าย (กำหนดว่าจะเปิดรายชื่อใดโดยการกด)
  • ใช้ลวดเชื่อม "+" สองเส้น
  • ทำเช่นเดียวกันสำหรับสองบรรทัด "-" (กราวด์หรือ gnd)

ขั้นตอนที่ 2: ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino

ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ 8x8 Led Matrix กับ Arduino
ขั้นตอนที่ 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

ขั้นตอนที่ 3: เชื่อมต่อ Rotary Encoder
ขั้นตอนที่ 3: เชื่อมต่อ Rotary Encoder
ขั้นตอนที่ 3: เชื่อมต่อ Rotary Encoder
ขั้นตอนที่ 3: เชื่อมต่อ Rotary Encoder

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

เมื่อคุณหมุนลูกบิด ตัวเข้ารหัสจะให้สัญญาณ + หรือ - เมื่อเทียบกับตำแหน่งเดิม คุณสามารถรู้สึกหยักเมื่อหมุน ในกรณีของฉัน ฉันพบว่ามี Serial.print() ที่ตัวเข้ารหัสให้ 4 ขั้นตอนสำหรับแต่ละรอย คุณต้องปรับสิ่งนี้หากข้ามประเภทลูกเต๋าบางประเภท (ดูรหัส)

เชื่อมต่อตัวเข้ารหัสดังต่อไปนี้:

  • GND ถึง GND (เส้น "-") (เส้นลวดสีดำชิ้นเล็ก)
  • + ถึง 5V ("+"-line) (เส้นเล็กสีแดง)
  • SW เป็นไม่มีอะไร (นี่คือสวิตช์ที่เราไม่ได้ใช้)
  • DT ถึง A1 (จัมเปอร์สีส้ม)
  • CLK ถึง A0 (จัมเปอร์สีขาว)

ขั้นตอนที่ 4: ขั้นตอนที่ 4: ปุ่มและ VCC

ขั้นตอนที่ 4: ปุ่มและ VCC
ขั้นตอนที่ 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: ทำให้มันสวย…

ขั้นตอนที่ 6: ทำให้มันสวย…
ขั้นตอนที่ 6: ทำให้มันสวย…
ขั้นตอนที่ 6: ทำให้มันสวย…
ขั้นตอนที่ 6: ทำให้มันสวย…
ขั้นตอนที่ 6: ทำให้มันสวย…
ขั้นตอนที่ 6: ทำให้มันสวย…

ฉันชอบที่จะใช้ Arduino ของฉันซ้ำดังนั้นฉันจึงไม่ค่อยประสานโครงการหรือพยายามทำให้ดูดีขึ้น ฉันชอบสไตล์เนิร์ดของสายไฟและจัมเปอร์…

อย่างไรก็ตาม ฉันสร้างเทมเพลตขนาดเล็กนี้เพื่อเก็บส่วนประกอบทั้งหมด หากคุณวางกล่องที่มีตัวเลข 30 ถึง 4 พิมพ์บนกระดาษสีขาวทับเมทริกซ์ ตัวหุ้ม LED ที่แยกจากกันจะเบี่ยงเบนความสนใจน้อยลง เป็นโบนัส ไฟ LED ในแถวบนสุดจะแสดงให้คุณเห็นว่าเลือกลูกเต๋าพิเศษแบบใด

แก้ไข: ฉันสร้างเวอร์ชันที่มีประกายไฟ digistump attiny85 ในกล่อง Lasercut ที่สวยงาม ปุ่ม De ใช้สำหรับเลือกแม่พิมพ์และปุ่มกด

แนะนำ: