Სარჩევი:

ELECTRONIC DICE CLOUDX M633- ის გამოყენება: 5 ნაბიჯი
ELECTRONIC DICE CLOUDX M633- ის გამოყენება: 5 ნაბიჯი

ვიდეო: ELECTRONIC DICE CLOUDX M633- ის გამოყენება: 5 ნაბიჯი

ვიდეო: ELECTRONIC DICE CLOUDX M633- ის გამოყენება: 5 ნაბიჯი
ვიდეო: Digital Electronic Dice 2024, ნოემბერი
Anonim
ELECTRONIC DICE CLOUDX M633- ის გამოყენებით
ELECTRONIC DICE CLOUDX M633- ის გამოყენებით

ჩვენ ყველამ უნდა ვითამაშოთ შემთხვევითი თამაში ამა თუ იმ გზით კამათლის გამოყენებით. ძალიან არაპროგნოზირებადი ხასიათის ცოდნა იმისა, თუ რა კამათლის ჩვენება გამოჩნდება, კიდევ უფრო მხიარულ თამაშს მატებს.

აქვე წარმოგიდგენთ ელექტრონულ ციფრულ კამათელს მარტივი LED- ების გამოყენებით, ღილაკზე დაჭერით და CloudX M633 მოდულის განსახორციელებლად.

ნაბიჯი 1: კომპონენტები

კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
  • CloudX M633
  • CloudX რბილი ბარათი
  • ლედები
  • რეზისტორები (100r, 10k)
  • პურის დაფა
  • ჯუმბერის მავთული
  • ღილაკზე დაჭერა
  • V3 კაბელი

ნაბიჯი 2: LEDS

LEDS
LEDS

სინათლის გამომტანი დიოდები (LED) არის სპეციალური სახის დიოდები, რომლებიც ანათებენ, როდესაც დენი გადის მათში. მხოლოდ ეს არის უკიდურესი სიფრთხილე ზღუდავს მათში გავლილი დენის რეალურ რაოდენობას, რათა თავიდან იქნას აცილებული მათი უნებლიე დაზიანება ამ პროცესში.

ნაბიჯი 3: LED- ების დაკავშირება CloudX M633– ით

LED- ების დაკავშირება CloudX M633– ით
LED- ების დაკავშირება CloudX M633– ით

მთელი წრე შედგება ორი ნაწილისგან: მიკროკონტროლის და LED განყოფილებების შესაბამისად. LED- ები ორგანიზებულია ორ კომპლექტში, თითოეული - (მოიცავს 7 LED- ს), წარმოადგენს კამათლის ნორმალურ სახეებს; და უკავშირდება pin P1– ს MCU მოდულის P14– თან.

მთელი ოპერაცია ტრიალებს მიკროკონტროლერის მოდულის გარშემო, როგორც მთელი პროექტის გულისცემა. ის (MCU) შეიძლება იყოს ჩართული:

  • VIN და GND წერტილების საშუალებით (ანუ. დააკავშირეთ ისინი თქვენს გარე კვების ბლოკთან +შესაბამისად და –ve ტერმინალებთან შესაბამისად) დაფაზე;
  • ან თქვენი CloudX USB რბილი ბარათის მოდულის საშუალებით.

როგორც ზემოთ მოყვანილი სქემატური დიაგრამა ნათლად არის ილუსტრირებული, LED- ები მოწყობილია ისე, რომ როდესაც ისინი ანათებენ, ისინი მიუთითებენ რიცხვებზე, როგორც ეს იქნებოდა ნამდვილ კამათელში. ჩვენ ვმუშაობთ LED- ების ორ კომპლექტზე, რომ წარმოვადგინოთ კამათლის ორი ცალკეული ნაწილი. ყველა მათგანი დაკავშირებულია მიმდინარე ჩაძირვის რეჟიმში.

LED- ების პირველი ჯგუფი მოიცავს: D1, D2, D3, D4, D5, D6 და D7; დაკავშირებულია MCU- ს ქინძისთავებთან: P1, P2, P3, P4, P5, P6 და P7 შესაბამისად 10Ω რეზისტორების საშუალებით. ვინაიდან მეორე ჯგუფი შედგება: D8, D9, D10, D11, D12, D13 და D14; დაკავშირებულია MCU- ს ქინძისთავებთან: P9, P10, P11, P12, P13, P14 და P15 შესაბამისად 10Ω რეზისტენტებითაც.

შემდეგ, ღილაკზე გადამრთველი SW1 ith, რომლითაც ჩვენ ვაკეთებთ შემთხვევითი რიცხვების წარმოქმნას გადამრთველის პრესის საშუალებით, უკავშირდება MCU- ს პინ P16- ს გამოყენებით 10kΩ გამწევი რეზისტორის გამოყენებით.

ნაბიჯი 4: მუშაობის პრინციპები

დაწყებისთანავე, LED- ები ჩვეულებრივ გამორთულია იმის მანიშნებლად, რომ სისტემა მზად არის ახალი შემთხვევითი რიცხვის შესაქმნელად. გადართვის პრესისას, შემთხვევითი რიცხვი, რომელიც მერყეობს 1 -დან 6 -მდე, ისე წარმოიქმნება და გამოჩნდება LED- ების საშუალებით; და დარჩეთ ელოდება, როდესაც სხვა გადამრთველი ხელახლა მოხდება.

ნაბიჯი 5: კოდირება

#ჩართეთ

#ჩართეთ

#განსაზღვრეთ გადამრთველი 1 პინ 16

#განსაზღვრეთ დაჭერით LOW

/ *ინახავს კამათლის შაბლონებს, რომლებიც გამოჩნდება LED- ებზე */

ხელმოუწერელი char char = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

ხელმოუწერელი char i, dice1, dice2;

setup () {// კონფიგურაცია აქ / *აყალიბებს პორტის ქინძისთავებს, როგორც გამომავალს * /portMode (1, OUTPUT); პორტის რეჟიმი (2, 0b10000000); / *ყველა LED- ს გამორთავს დასაწყისში */ portWrite (1, LOW); portWrite (2, LOW); randNumLimit (1, 6); // ზრუნავს randomNumber თაობის დიაპაზონზე (მაგ. min, max)

მარყუჟი () {

// პროგრამა აქ თუ (switch1 დაჭერილია) {while (switch1 არის LOW); // ელოდება აქ სანამ გადამრთველი არ გამოვა dice1 = randNumGen (); // წარმოქმნის შემთხვევით რიცხვს dice1 dice2 = randNumGen (); portWrite (1, კვდება [კამათელი 1]); // მოიტანს კამათლის სწორ ნიმუშს და აჩვენებს მას portWrite (2, კვდება [კამათელი 2]); } else {portWrite (1, კვდება [კამათელი 1]); portWrite (2, კვდება [კამათელი 2]); }}} // პროგრამის დასრულება

გირჩევთ: