Სარჩევი:

Arduino კამათელი სამაგიდო თამაშებისთვის: 4 ნაბიჯი
Arduino კამათელი სამაგიდო თამაშებისთვის: 4 ნაბიჯი

ვიდეო: Arduino კამათელი სამაგიდო თამაშებისთვის: 4 ნაბიჯი

ვიდეო: Arduino კამათელი სამაგიდო თამაშებისთვის: 4 ნაბიჯი
ვიდეო: Lesson 22: Using Seven Segment Display with Arduino and Electronic Dice | SunFounder Robojax 2024, ივლისი
Anonim

ავტორის მიერ RoboCircuits_com

ელექტრონული კამათელი UTSOURCE– ით
ელექტრონული კამათელი UTSOURCE– ით
ელექტრონული კამათელი UTSOURCE– ით
ელექტრონული კამათელი UTSOURCE– ით
წყლის დონის შეცვლა D882 გამოყენებით
წყლის დონის შეცვლა D882 გამოყენებით
წყლის დონის შეცვლა D882 გამოყენებით
წყლის დონის შეცვლა D882 გამოყენებით
გარემოს რეალური დროის საათი
გარემოს რეალური დროის საათი
გარემოს რეალური დროის საათი
გარემოს რეალური დროის საათი

შესახებ: YouTuber, Drone Manufaturer მეტი RoboCircuits_com- ის შესახებ »

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

ამიტომ გადავწყვიტე ელექტრონული კამათლის გაკეთება. არდუინო გამოვიყენე ჩემი მიზნისთვის.

ნაბიჯი 1: ხელნაკეთი არდუინო

ეს არდუინო დამზადებულია ჩემ მიერ atmega 328p მიკროკონტროლის გამოყენებით. ამისთვის PCB არის შეკვეთილი "jlcpcb.com" - დან, რადგან ისინი უზრუნველყოფენ საუკეთესო კლასის კომპიუტერებს დაბალ ფასად. შემდეგ გავამაგრე ყველა ნაწილი და ბოლოს მივიღე ეს მიმზიდველი არდუინო UNO.

ყველა სქემა და ფაილი მოცემულია ჩემი ვებისტის სტატიაში -

ნაბიჯი 2: პროექტის შექმნა

კარგი!!!!

საკმარისია არდუინოს შესახებ. ახლა მოდით გავაკეთოთ პროექტი. შემთხვევითი მნიშვნელობებისთვის გამოვიყენე შემთხვევითი ფუნქცია arduino ide– ში, რომ მივიღო მნიშვნელობები 1 – დან 6 – მდე, როდესაც ღილაკს დავაჭერ. ასე რომ უყურეთ ამ სრულ ვიდეოს, რომ იცოდეთ როგორ კეთდება ეს პროექტი.

ნაბიჯი 3: კოდი

/* ეს კოდი შექმნილია RoboCircuits– ის მიერ

გამომიწერეთ youtube– ზე https://youtube.com/robocircuits ან ეწვიეთ robocircuits.com ჩვენ ყოველთვის უნდა შევიტანოთ ბიბლიოთეკა*/

#მოიცავს "LedControl.h"

/* ახლა ჩვენ გვჭირდება LedControl, რომ ვიმუშაოთ. ***** ეს პინ ნომრები ალბათ არ იმუშავებს თქვენს ტექნიკასთან ***** პინ 12 არის დაკავშირებული DataIn პინ 11 უკავშირდება 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. გამორთვა (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, 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 three3 () { / * აქ მოცემულია პერსონაჟების მონაცემები * / / * ახლა აჩვენეთ ისინი სათითაოდ მცირე დაგვიანებით * / 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 ოთხი 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, ხუთი [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 six6 () { / * აქ მოცემულია პერსონაჟების მონაცემები * / / * ახლა აჩვენეთ ისინი ექვსზე მცირედით მცირე დაგვიანებით * / 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 loop () {int x; if (analogRead (A4) == 1000) {x = შემთხვევითი (1, 6); } გადართვა (x) {შემთხვევა 1: one1 (); შესვენება; საქმე 2: two2 (); შესვენება; საქმე 3: three3 (); შესვენება; შემთხვევა 4: Four4 (); შესვენება; საქმე 5: Five5 (); შესვენება; საქმე 6: six6 (); შესვენება;}}

ნაბიჯი 4: მოიწონეთ გაზიარება

გამოიწერეთ ჩვენ YouTube– ზე -

მოგვწონს ფეისბუქზე -

ეწვიეთ -

გირჩევთ: