Агуулгын хүснэгт:

Ширээний тоглоомд зориулсан Arduino Dice: 4 алхам
Ширээний тоглоомд зориулсан Arduino Dice: 4 алхам

Видео: Ширээний тоглоомд зориулсан Arduino Dice: 4 алхам

Видео: Ширээний тоглоомд зориулсан Arduino Dice: 4 алхам
Видео: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Арваннэгдүгээр
Anonim

Зохиогчийн бусад зүйлийг дагах:

UTSOURCE бүхий электрон шоо
UTSOURCE бүхий электрон шоо
UTSOURCE бүхий электрон шоо
UTSOURCE бүхий электрон шоо
D882 ашиглан усны түвшний унтраалга
D882 ашиглан усны түвшний унтраалга
D882 ашиглан усны түвшний унтраалга
D882 ашиглан усны түвшний унтраалга
Бодит цагийн орчны цаг
Бодит цагийн орчны цаг
Бодит цагийн орчны цаг
Бодит цагийн орчны цаг

Тухайн талаар: YouTuber, Drone Manufaturer RoboCircuits_com -ийн тухай дэлгэрэнгүй »

Та LUDO болон бусад ширээний тоглоом тоглож байхдаа эдгээр шоог ашиглаж байсан байж магадгүй. Гэхдээ цахим сонирхогчийн хувьд би энэ чиг хандлагыг өөрчлөх ёстой.

Тиймээс би электрон шоо хийхээр шийдсэн. Би Arduino -ийг зориулалтаараа ашигласан.

Алхам 1: DIY Arduino

Энэхүү arduino -ийг би атмега 328p микроконтроллер ашиглан хийсэн. ПХБ -ийг "jlcpcb.com" -оос захиалсан болно, учир нь тэд хямд үнээр ангиллын компьютеруудыг хамгийн сайн нийлүүлдэг. Дараа нь би бүх эд ангиудыг гагнаж, эцэст нь энэ хөөрхөн харагдах Arduino UNO -г авлаа.

Бүх схем, файлуудыг миний вэбистийн нийтлэлд өгсөн болно -

Алхам 2: Төслийг боловсруулах

зүгээр ээ !!!!

Arduino -ийн талаар хангалттай. Одоо төслийг хийцгээе. Санамсаргүй утгын хувьд би arduino ide дахь санамсаргүй функцийг ашиглан товчлуурыг дарах болгондоо 1 -ээс 6 хүртэлх утгыг авдаг. Тиймээс энэхүү төслийг хэрхэн бүтээснийг мэдэхийн тулд энэхүү бүтэн видеог үзээрэй.

Алхам 3: Код

/* Энэ кодыг RoboCircuits бүтээсэн

Намайг youtube дээр https://youtube.com/robocircuits дээр бичээрэй эсвэл robocircuits.com руу зочилно уу. Бид үргэлж номын сан оруулах ёстой*/

#"LedControl.h" -ийг оруулна уу

/* Одоо бидэнд ажиллах LedControl хэрэгтэй байна. ***** Эдгээр зүү дугаар нь таны техник хангамжтай ажиллахгүй байж магадгүй ***** pin 12 нь DataIn pin -тэй холбогдсон байна CLK зүү 10 -тай холбогдсон байна LOAD -тэй холбогдсон байна Бидэнд ганцхан MAX72XX байна. */

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

/ * бид дэлгэцийн шинэчлэлтийн хооронд үргэлж жаахан хүлээдэг */ гарын үсэг зураагүй урт саатал = 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};

void setup () { / * MAX72XX эхлэх үед эрчим хүч хэмнэх горимд байгаа тул бид сэрээх дуудлага хийх ёстой * / lc.shutdown (0, худал); / * Гэрэлтүүлгийг дунд зэрэг болгох */ lc.setIntensity (0, 8); / * болон дэлгэцийг цэвэрлэ */ lc.clearDisplay (0); }

/* Энэ арга нь тэмдэгтүүдийг харуулах болно (тэмдэгтүүдийг бүхэлд нь харахын тулд танд дор хаяж 7x7 LED хэрэгтэй болно)* /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, 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, 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 four4 () { / * энд * / / * тэмдэгтүүдийн өгөгдөл байна. Тэднийг бага зэрэг удаашруулан * 4 /4 -ээр харуулна * / lc.setRow (0, 0, four [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, 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 six6 () { / * энд * / / * тэмдэгтүүдийн өгөгдөл байна 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 loop () {int x; if (analogRead (A4) == 1000) {x = санамсаргүй (1, 6); } шилжүүлэгч (x) {тохиолдол 1: нэг1 (); завсарлага; тохиолдол 2: хоёр2 (); завсарлага; тохиолдол 3: гурван3 (); завсарлага; тохиолдол 4: four4 (); завсарлага; тохиолдол 5: таван5 (); завсарлага; тохиолдол 6: зургаан6 (); завсарлага;}}

Алхам 4: Share хийх дуртай

YouTube дээр биднийг бүртгүүлээрэй -

Facebook дээр бидэн шиг -

Https://robocircuits.com хаягаар зочилно уу

Зөвлөмж болгож буй: