สารบัญ:

Arduino Dice สำหรับเกมกระดาน: 4 ขั้นตอน
Arduino Dice สำหรับเกมกระดาน: 4 ขั้นตอน

วีดีโอ: Arduino Dice สำหรับเกมกระดาน: 4 ขั้นตอน

วีดีโอ: Arduino Dice สำหรับเกมกระดาน: 4 ขั้นตอน
วีดีโอ: DIY Electronic Dice for Your Board Games 2024, พฤศจิกายน
Anonim

โดย RoboCircuits_comติดตามเพิ่มเติมโดยผู้เขียน:

ลูกเต๋าอิเล็กทรอนิกส์พร้อมUTSOURCE
ลูกเต๋าอิเล็กทรอนิกส์พร้อมUTSOURCE
ลูกเต๋าอิเล็กทรอนิกส์พร้อมUTSOURCE
ลูกเต๋าอิเล็กทรอนิกส์พร้อมUTSOURCE
สวิตช์ระดับน้ำโดยใช้ D882
สวิตช์ระดับน้ำโดยใช้ D882
สวิตช์ระดับน้ำโดยใช้ D882
สวิตช์ระดับน้ำโดยใช้ D882
นาฬิกาเวลาจริงรอบข้าง
นาฬิกาเวลาจริงรอบข้าง
นาฬิกาเวลาจริงรอบข้าง
นาฬิกาเวลาจริงรอบข้าง

เกี่ยวกับ: YouTuber, Drone Manufaturer ข้อมูลเพิ่มเติมเกี่ยวกับ RoboCircuits_com »

คุณอาจเคยใช้ลูกเต๋าเหล่านี้ขณะเล่น LUDO และเกมกระดานอื่นๆ แต่ด้วยความคลั่งไคล้อิเล็กทรอนิกส์ ฉันต้องเปลี่ยนเทรนด์นี้

ดังนั้นฉันจึงตัดสินใจสร้างลูกเต๋าอิเล็กทรอนิกส์ ฉันใช้ Arduino เพื่อจุดประสงค์ของฉัน

ขั้นตอนที่ 1: DIY Arduino

Arduino นี้สร้างขึ้นโดยฉันโดยใช้ไมโครคอนโทรลเลอร์ atmega 328p PCB สำหรับสิ่งนี้ถูกสั่งซื้อจาก "jlcpcb.com" เนื่องจากมี PCB ที่ดีที่สุดในระดับราคาต่ำ จากนั้นฉันก็บัดกรีชิ้นส่วนทั้งหมดและในที่สุดก็ได้ Arduino UNO ที่ดูน่ารักนี้

แผนผังและไฟล์ทั้งหมดมีอยู่ในบทความของ Webiste ของฉัน -

ขั้นตอนที่ 2: การสร้างโครงการ

ตกลง!!!!

เพียงพอเกี่ยวกับ Arduino ตอนนี้มาทำโครงการกัน สำหรับค่าสุ่มฉันใช้ฟังก์ชันสุ่มใน arduino ide เพื่อรับค่าตั้งแต่ 1 ถึง 6 ทุกครั้งที่ฉันกดปุ่ม ดูวิดีโอแบบเต็มนี้เพื่อดูว่าโครงการนี้ทำขึ้นอย่างไร

ขั้นตอนที่ 3: รหัส

/* รหัสนี้ออกแบบโดย RoboCircuits

Subbscribe ฉันใน youtube https://youtube.com/robocircuits หรือเยี่ยมชม robocircuits.com เราต้องรวมไลบรารี่ไว้ด้วย*/

#include "LedControl.h"

/* ตอนนี้ เราต้องการ LedControl เพื่อใช้งาน ***** หมายเลขพินเหล่านี้อาจจะไม่ทำงานกับฮาร์ดแวร์ของคุณ ***** ขา 12 เชื่อมต่อกับ DataIn ขา 11 เชื่อมต่อกับ CLK ขา 10 เชื่อมต่อกับโหลด เรามี MAX72XX เดียวเท่านั้น */

LedControl lc=LedControl(12, 11, 10, 1);

/* เรามักจะรอเล็กน้อยระหว่างการอัปเดตการแสดงผล */ unsigned long delaytime=500; ไบต์ที่หก[8]={B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; ไบต์ห้า[8]={B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; ไบต์ที่สี่[8]={B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; ไบต์สาม[8]={B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; ไบต์ที่สอง[8]={B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; ไบต์หนึ่ง[8]={B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

การตั้งค่าเป็นโมฆะ () { /* MAX72XX อยู่ในโหมดประหยัดพลังงานเมื่อเริ่มต้น เราต้องทำการโทรปลุก */ lc.shutdown(0, false); /* ตั้งค่าความสว่างเป็นค่ากลาง */ lc.setIntensity(0, 8); /* และล้างการแสดงผล */ lc.clearDisplay(0); }

/* เมธอดนี้จะแสดงอักขระ (คุณต้องมีไฟ LED อย่างน้อย 7x7 เพื่อดูตัวอักษรทั้งหมด) */ void one1() { /* นี่คือข้อมูลสำหรับอักขระ */ /* ตอนนี้แสดงทีละตัวโดยมีขนาดเล็ก ล่าช้า */ lc.setRow(0, 0, หนึ่ง[0]); lc.setRow(0, 1, หนึ่ง[1]); lc.setRow(0, 2, หนึ่ง[2]); lc.setRow(0, 3, หนึ่ง[3]); lc.setRow(0, 4, หนึ่ง[4]); lc.setRow(0, 5, หนึ่ง[5]); lc.setRow(0, 6, หนึ่ง[6]); lc.setRow(0, 7, หนึ่ง[7]); ล่าช้า (ล่าช้า); } void two2() { /* นี่คือข้อมูลสำหรับอักขระ */ /* ตอนนี้แสดงทีละตัวโดยมีความล่าช้าเล็กน้อย */ lc.setRow(0, 0, two[0]); lc.setRow(0, 1, สอง[1]); lc.setRow(0, 2, สอง[2]); lc.setRow(0, 3, สอง[3]); lc.setRow(0, 4, สอง[4]); lc.setRow(0, 5, สอง[5]); lc.setRow(0, 6, สอง[6]); lc.setRow(0, 7, สอง[7]); ล่าช้า (ล่าช้า); } void three3() { /* นี่คือข้อมูลสำหรับอักขระ */ /* ตอนนี้แสดงทีละตัวโดยมีความล่าช้าเล็กน้อย */ lc.setRow(0, 0, three[0]); lc.setRow(0, 1, สาม[1]); lc.setRow(0, 2, สาม[2]); lc.setRow(0, 3, สาม[3]); lc.setRow(0, 4, สาม[4]); lc.setRow(0, 5, สาม[5]); lc.setRow(0, 6, สาม[6]); lc.setRow(0, 7, สาม[7]); ล่าช้า (ล่าช้า); } โมฆะ four4() { /* นี่คือข้อมูลสำหรับอักขระ */ /* ตอนนี้แสดงสี่คูณสี่ด้วยการหน่วงเวลาเล็กน้อย */ lc.setRow(0, 0, สี่[0]); lc.setRow(0, 1, สี่[1]); lc.setRow(0, 2, สี่[2]); lc.setRow(0, 3, สี่[3]); lc.setRow(0, 4, สี่[4]); lc.setRow(0, 5, สี่[5]); lc.setRow(0, 6, สี่[6]); lc.setRow(0, 7, สี่[7]); ล่าช้า (ล่าช้า); } void five5() { /* นี่คือข้อมูลสำหรับอักขระ */ /* ตอนนี้แสดงห้าคูณห้าด้วยการหน่วงเวลาเล็กน้อย */ lc.setRow(0, 0, five[0]); lc.setRow(0, 1, ห้า[1]); lc.setRow(0, 2, ห้า[2]); lc.setRow(0, 3, ห้า[3]); lc.setRow(0, 4, ห้า[4]); lc.setRow(0, 5, ห้า[5]); lc.setRow(0, 6, ห้า[6]); lc.setRow(0, 7, ห้า[7]);

ล่าช้า (ล่าช้า); } เป็นโมฆะ six6() { /* นี่คือข้อมูลสำหรับอักขระ */ /* ตอนนี้แสดงหกคูณหกด้วยการหน่วงเวลาเล็กน้อย */ lc.setRow(0, 0, six[0]); lc.setRow(0, 1, หก[1]); lc.setRow(0, 2, หก[2]); lc.setRow(0, 3, หก[3]); lc.setRow(0, 4, หก[4]); lc.setRow(0, 5, หก[5]); lc.setRow(0, 6, หก[6]); lc.setRow(0, 7, หก[7]); ล่าช้า (ล่าช้า); }

วงเป็นโมฆะ () { int x; ถ้า (analogRead (A4) == 1000) { x = สุ่ม (1, 6); } switch(x){ กรณีที่ 1: one1(); หยุดพัก; กรณีที่ 2: two2(); หยุดพัก; กรณีที่ 3: three3(); หยุดพัก; กรณีที่ 4: four4(); หยุดพัก; กรณีที่ 5: five5(); หยุดพัก; กรณีที่ 6: six6(); หยุดพัก;} }

ขั้นตอนที่ 4: ไลค์ แชร์

สมัครสมาชิกเราบน YouTube -

กดไลค์เราบน Facebook -

เยี่ยมชม -

แนะนำ: