กลับไปหน้ารวมไฟล์
digital-dice-with-extras-5375c7.md

[ENG] ฉันได้จัดทำคำอธิบายโปรเจกต์ทั้งภาษาอังกฤษและภาษาฮังการี

GO TO ENG VERSION

[HUN] A projekt leírását elkészítettem angolul és magyarul is.

UGRÁS A MAGYAR NYELVŰ LEÍRÁSHOZ

━━━━━━━━━

ENGLISH VERSION

━━━━━━━━━

STORY

ฉันคิดมานานแล้วว่าคงจะดีถ้าได้สร้างลูกเต๋าดิจิทัลอเนกประสงค์ แต่โปรเจกต์นี้ก็ไม่เคยสำเร็จสักที วันเกิดที่กำลังจะมาถึงของเพื่อนร่วมงานที่ชื่นชอบบอร์ดเกมเป็นแรงจูงใจที่ดีที่จะเริ่มต้นทำให้มันเป็นจริง หลังจากเขียนแนวคิดลงบนกระดาษ ก็ชัดเจนว่านี่จะเป็นโปรเจกต์ที่มีหลายเวอร์ชัน: การปรับปรุง Hardware และ Software คาดว่าจะเกิดขึ้นในอนาคต และกล่องที่พิมพ์ด้วย 3D ก็น่าจะได้รับการปรับเปลี่ยนบางอย่างด้วยเช่นกัน ปัจจุบันโปรเจกต์นี้คือเวอร์ชัน 1.0

INTRODUCTION

คุณสมบัติ (v.1.0):

  1. การทอยลูกเต๋า 1 ลูก
  2. การทอยลูกเต๋า 2 ลูก
  3. การสร้างตัวเลขสุ่มตั้งแต่ 1 ถึง 100 และตั้งแต่ 1 ถึง 9999
  4. เล่นเอฟเฟกต์เสียง 'Winner' และ 'Loser' เมื่อทอยลูกเต๋า 1 ลูกแล้วได้เลข 1 หรือ 6
  5. เล่นเอฟเฟกต์เสียง 'Winner' และ 'Loser' เมื่อทอยลูกเต๋า 2 ลูกแล้วได้เลข 2 หรือ 12
  6. ตัวเลือกเพื่อเปิดและปิดสัญญาณเสียง
  7. หลังจากการทอยลูกเต๋าและการสร้างตัวเลข คุณสามารถตั้งค่าได้ว่าการควบคุมจะกลับไปยังรายการเมนูโดยอัตโนมัติ หรือคงอยู่ในรายการเมนูนั้น (การออกอัตโนมัติ)
  8. หากเปิดใช้งานการออกอัตโนมัติ คุณสามารถตั้งค่าเวลา (milliseconds) ที่การออกจากเมนูหรือการกลับไปยังเมนูควรเกิดขึ้นได้

โปรเจกต์นี้แบ่งออกเป็น 3 ส่วน:

  1. กล่องที่พิมพ์ด้วย 3D
  2. Hardware
  3. Software

3D PRINTED BOX

ปัจจุบันฉันไม่มีเครื่องพิมพ์ 3D และทักษะการออกแบบที่จะใช้มันได้ ดังนั้นฉันจึงขอให้เพื่อนร่วมงานอีกคน (keresztpapa ) ผู้ที่มีความเชี่ยวชาญในด้านนี้มาช่วยออกแบบและพิมพ์กล่องลูกเต๋าดิจิทัลของฉัน มันถูกออกแบบใน Shapr3D และพิมพ์ด้วยเครื่องพิมพ์ 3D Creality Ender 3 V2 Neo ส่วนบนของกล่องสามารถถอดเข้าออกได้ มีตัวรองรับที่พิมพ์ด้วย 3D จำนวน 2 ชิ้น และมีช่องบนฝาสำหรับ Hardware ที่จำเป็นทั้งหมด

หลังจากการพิมพ์ ระหว่างขั้นตอนการทดลองประกอบ พบว่าจอแสดงผลจะต้องใช้ตัวรองรับที่พิมพ์ด้วย 3D สองชิ้น ในที่นี้ฉันไม่ต้องการที่จะพิมพ์มัน ดังนั้นตัวรองรับทั้งสองชิ้นนี้จึงถูกติดตั้งเพิ่มเติมโดยการติดกาว

ที่ใส่แบตเตอรี่ 9V ถูกติดกาวเข้ากับด้านข้างของกล่อง โดยสายไฟสองเส้น (9V, GND) ก็ร้อยผ่านช่องที่สร้างขึ้น (พิมพ์ด้วย 3D) ภายในกล่องเช่นกัน

HARDWARE

โครงสร้าง Hardware ในเวอร์ชัน 1.0 นี้ประกอบด้วยอุปกรณ์ดังต่อไปนี้:

  1. Arduino Nano
  2. แบตเตอรี่ 9V และที่ยึดแบตเตอรี่
  3. สวิตช์สไลด์แบบ 2 ตำแหน่ง S6P แบบปิด (6 หน้าสัมผัส, DPDT, ON-ON)
  4. โมดูลจอแสดงผลดิจิทัล TM1637 4-digit 7-segment
  5. ปุ่มกด 12x12 จำนวน 2 ปุ่ม
  6. Buzzer แบบแม่เหล็กไฟฟ้า 1 ตัว ไม่มีวงจรขับ
  7. ตัวต้านทาน 10 kΩ 2 ตัว

แรงดันไฟฟ้าขาเข้า 7-12V (VIN) ของ Arduino Nano ช่วยให้สามารถใช้แบตเตอรี่ 9V ได้ ซึ่งเหมาะสมอย่างยิ่งสำหรับการทำงานที่เสถียรของ Microcontroller ลูกเต๋าดิจิทัลสามารถเปิดและปิดได้ตลอดเวลาโดยใช้สวิตช์สลับ 2 ตำแหน่ง ปุ่มกดช่วยให้คุณสามารถสลับไปมาระหว่างเมนูที่สร้างขึ้น และใช้ฟังก์ชันต่างๆ ได้

แผนผังการเชื่อมต่อสายไฟของ Hardware ที่ใช้:

การเดินสายไฟ

การบัดกรี, การประกอบ:

ไม่มีการบัดกรีที่ฝั่ง Arduino Nano โดยใช้เฉพาะสายเคเบิลแบบ 'nut' เท่านั้น GND และ 5V ถูกต่อออกไปยังซ็อกเก็ตทดสอบ ซึ่งส่วนประกอบที่จำเป็นเชื่อมต่อด้วยสายเคเบิลประเภท 'apa' นอกจากนี้ ขา GND และ VCC ของแบตเตอรี่ 9V, ปุ่มกด, สวิตช์สไลด์, Buzzer และขาของจอแสดงผลก็ถูกบัดกรีเข้าด้วยกัน

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

น่าเสียดายที่ฉันลืมถ่ายรูปเมื่อสิ้นสุดการประกอบ ก่อนที่จะปิดผนึก (ติดกาว) กล่อง

SOFTWARE

  1. DIRECTORY ที่ใช้, HEADER FILES

Library เดียวที่จำเป็นคือตัวควบคุมจอแสดงผล (TM1637 -> v1.2 -> TM1637Display.h) นอกจากนี้ ยังมีการใช้ Header file (pitches.h ) ซึ่งเก็บความถี่ที่จำเป็นในการเล่นท่วงทำนองทั้งสองไว้

  1. INPUT - OUTPUT

โปรแกรมสามารถควบคุมได้ด้วยปุ่มสองปุ่ม: menuButtonPin (11) และ buttonPin (12) ปุ่มที่ผูกกับ menuButtonPin ใช้สำหรับนำทางระหว่างรายการเมนู ในขณะที่ปุ่มที่ผูกกับ buttonPin ใช้สำหรับเข้าสู่รายการเมนูปัจจุบัน และเพื่อเริ่มการทอยลูกเต๋า การสร้างตัวเลข และเพื่อเปลี่ยนหรือยืนยันตัวเลือกต่างๆ

เมื่อสร้างออบเจกต์ TM1637Display จะต้องป้อน 2 ค่า: หมายเลขและ ID ของขา CLK และ DIO ซึ่งผูกกับขา 8 (CLK ) และ 9 (DIO ) ในโปรเจกต์นี้ Buzzer แบบแม่เหล็กไฟฟ้า (buzzerPin ) เชื่อมต่อกับขา 10

สิ่งสำคัญที่ควรทราบคือ สวิตช์สไลด์ 2 ตำแหน่งไม่ได้ถูกควบคุมทางด้าน Software แต่เป็นเพียงการเชื่อมต่อทางกลไก-ฟังก์ชันกับ Hardware ส่วนที่เหลือของโปรเจกต์ ดังนั้นจึงไม่สามารถพิจารณาว่าเป็นอุปกรณ์ Input ได้: มีหน้าที่เพียงแค่การให้และขัดจังหวะแหล่งจ่ายไฟ Input – โดยการปรับทางกลไก – ผ่านการเชื่อมต่อวงจร

  1. การทำงานของ SOFTWARE จอแสดงผล

ฉันได้นำการแสดงผลตัวเลขมาใช้ด้วยขั้นตอนในตัว (showNumberDec() ) ในขณะที่การแสดงผลค่าที่ไม่ใช่ตัวเลขทั้งหมด (ขีดสำหรับรายการเมนู, การออกอัตโนมัติเปิดหรือปิด, และการเล่นเมโลดี้) ถูกกำหนดไว้ล่วงหน้าในอาร์เรย์ในระดับ Segment

const byte OFF[] = {

0, 0, 0, 0

};

const byte MENU[] = {

SEG_G,

SEG_G,

ข้อมูล Frontmatter ดั้งเดิม

title: "Digital dice with extras"
description: "In this project I present the prototyping of a multifunctional digital dice."
author: "kela910512"
category: "Gadgets, Games & Toys"
tags:
  - "Games"
  - "Kids"
  - "Tools"
  - "Entertainment System"
  - "Toys"
views: 1271
likes: 0
price: 870
difficulty: "Intermediate"
components:
  - "2x Push button (12x12)"
  - "2x Resistor (10K Ω, 0.5W)"
  - "1x 9V Alkaline battery"
  - "1x Arduino Nano"
  - "1x TM1637 4 digit 7 segment display module"
  - "1x 9V battery cover with wire"
  - "1x Soldering iron (generic)"
  - "20x Jumper wires (several types of)"
  - "1x Solder Soldering Wire"
  - "1x Electromagnetic buzzer"
  - "1x 3D Printer, ABS Filament"
  - "1x 2 position slide switch"
  - "1x Breadboard (for testing)"
tools: []
apps:
  - "1x Arduino IDE 1.8.13"
downloadableFiles:
  - "https://projects.arduinocontent.cc/cda2cdc2-8d80-4496-a8c4-201a7d3c6dd7.ino"
  - "https://projects.arduinocontent.cc/985a7b0e-e9c1-4daa-8224-e077eee255e3.h"
documentationLinks: []
passwordHash: "8ecd28c4b3d0cf168e108c5ea8688b832c074057a7311e0d67973c0ab26321df"
encryptedPayload: "U2FsdGVkX1+XA+DLqvJmWwJBeWsvkiF+JbWwjnJPpNIcXZppZom8Gwo0E99NQYjx9FX6IQCLZL4aEuX4TjGH750nQYbw+y45qIuuQzFMh8c="
seoDescription: "Learn how to build a multifunctional Digital dice in this engaging electronics prototyping project."
videoLinks:
  - "https://youtu.be/bJ-_-DuozwM"
  - "https://youtu.be/bJ-_-DuozwM"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/digital-dice-with-extras-5375c7_cover.jpg"
lang: "th"