Სარჩევი:

პონგის ჩოგბურთი LED მატრიქსით, არდუინოთი და ჯოისტიკებით: 5 ნაბიჯი (სურათებით)
პონგის ჩოგბურთი LED მატრიქსით, არდუინოთი და ჯოისტიკებით: 5 ნაბიჯი (სურათებით)

ვიდეო: პონგის ჩოგბურთი LED მატრიქსით, არდუინოთი და ჯოისტიკებით: 5 ნაბიჯი (სურათებით)

ვიდეო: პონგის ჩოგბურთი LED მატრიქსით, არდუინოთი და ჯოისტიკებით: 5 ნაბიჯი (სურათებით)
ვიდეო: МАЯТНИК ПОДАЧА ЧЕМПИОНОВ!КАК ОБУЧИТЬСЯ ПОДАЧЕ В НАСТОЛЬНОМ ТЕННИСЕ?#serve #подача #настольныйтеннис 2024, ნოემბერი
Anonim
პონგის ჩოგბურთი LED მატრიქსით, არდუინოთი და ჯოისტიკებით
პონგის ჩოგბურთი LED მატრიქსით, არდუინოთი და ჯოისტიკებით

ეს პროექტი განკუთვნილია როგორც დამწყებთათვის, ასევე გამოცდილი კინოთეატრებისთვის. საბაზისო დონეზე ეს შეიძლება გაკეთდეს პურის დაფით, ჯუმბერის მავთულხლართებით და გამყარებული ჯართის მასაზე (მე ვიყენებ ხეს) Blu-Tack– ით და შედუღების გარეშე. თუმცა უფრო მოწინავე დონეზე შეიძლება მისი შედუღება პერფ დაფაზე ან პერსონალურ PCB- ზე.

ვინაიდან ეს იყო ჩაკეტვის პროექტი, მე არ მქონდა წვდომა ბევრ ინსტრუმენტზე ან მასალაზე, ამიტომ ის ჩამჯდარი იყო ჯართის ნაჭერზე, რომელიც ოდნავ ძალიან პატარაა Blu-Tack– ით, თუმცა ამის მიუხედავად ეს არის სახალისო პროექტი, რომელიც ერთად მოდის სწრაფად და შედგება საყოველთაოდ ხელმისაწვდომი ნაწილებისგან, რომლებიც იაფად შეგიძლიათ ნახოთ ინტერნეტში.

ნაბიჯი 1: ნაწილები

პონგის თამაშის გასაკეთებლად გჭირდებათ;

  • 1x Arduino (ნებისმიერი ტიპი იმუშავებს)
  • 4x MAX7219 8x8 LED მატრიცები
  • 2x ჯოისტიკი
  • 1x პიეზო ბუზერი (სურვილისამებრ)
  • 15x ქალი-ქალი Jumper Wires (3x ჯგუფები 5)
  • 15x მამაკაცი ქალი მხტუნავის მავთულები (3x ჯგუფები 5 კაციანი)
  • 18x კაცი-მამაკაცი მხტუნავის მავთულები
  • 1x პურის დაფა
  • 1x 220Ω რეზისტორი

Arduino Uno ან Nano დაფის ნაცვლად შეგიძლიათ გამოიყენოთ პურის დაფაზე დაფუძნებული Arduino ერთად;

  • 1x ATmega328p 28pin IC
  • 1x 16kHz ბროლის ოსცილატორი
  • 2x 22pF კერამიკული კონდენსატორები
  • 1 x USB FTDI UART კონვერტორი
  • 1x 100uF ელექტროლიტური კონდენსატორი
  • 1x მიკრო USB გარღვევა (სურვილისამებრ)

ინსტრუმენტები;

  • კომპიუტერი Arduino IDE– ით (და LedControl Library)
  • შესაბამისი USB კაბელი თქვენი Arduino– სთვის
  • Power Bank თამაშს თქვენი კომპიუტერიდან მოშორებით

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

გაყვანილობა ძალიან მარტივია, რადგან ყველაფერი რაც თქვენ გჭირდებათ არის ჯუმბერის მავთულები, რომ დააკავშიროთ მატრიცებისა და ჯოისტიკების სათაურები არდუინოსთან. ერთადერთი გართულება არის ძალა, რადგან Arduino Uno– ს აქვს მხოლოდ 3 GND კავშირი და ერთი 5 ვ კავშირი. ეს არის ადგილი, სადაც შემოდის პურის დაფა და მოქმედებს როგორც ენერგიის განაწილების რკინიგზა ყველა კომპონენტისთვის, თუ თქვენ იყენებთ NANO- ს, დაფა ემსახურება იმავე მიზანს, ასევე საშუალებას მოგცემთ შეაერთოთ ყველაფერი.

გაყვანილობისთვის მიჰყევით ამ კავშირებს.

  • მარცხენა ჯოისტიკი - GND და 5v მათი შესაბამისი დენის რელსებზე. SW - pin 9, VRx - A0, VRy - A1.
  • მარჯვენა ჯოისტიკი - GND და 5v მათი შესაბამისი დენის რელსებზე. SW - pin 8, VRx - A2, VRy - A3.
  • უშუალო LED მატრიცა - GND და 5v მათი შესაბამისი დენის რელსებზე. DIN - 13, CS - 11, CLK - 12. (25 სტრიქონის მიხედვით)
  • ყველა სხვა LED მატრიცა შეიძლება იყოს მიჯაჭვული პირველიდან გამომავალიდან მარჯვნივ მარცხნივ, ასე რომ კოდი მუშაობს გამართულად.
  • სურვილისამებრ ბუზერი - ანოდი (+) 220Ω დენის შეზღუდვის რეზისტენტამდე პინ 10 -მდე, კათოდი (-) - GND.

ნაბიჯი 3: ალტერნატიული გაყვანილობა

ალტერნატიული გაყვანილობა
ალტერნატიული გაყვანილობა
ალტერნატიული გაყვანილობა
ალტერნატიული გაყვანილობა
ალტერნატიული გაყვანილობა
ალტერნატიული გაყვანილობა

მას შემდეგ რაც Arduino UNO– ს გავუერთე სივრცის დაზოგვის მიზნით, მე გადავწყვიტე Arduino IC– დან UNO– დან დავაყენო პურის დაფაზე 16Mhz ბროლის ოსცილატორით და წყვილი 22pF კონდენსატორებით თითოეული მხრიდან მიწამდე. მე ვგრძნობ, რომ ეს იყო მნიშვნელოვანი მოდიფიკაცია, რადგან ის პროექტს უფრო სუფთა და დასრულებულს ხდის, მაგრამ პროგრამის განახლებისთვის თქვენ უნდა გამოიყენოთ USB FTDI პროგრამისტი.

ნაბიჯი 4: კოდი + ახსნა

Arduino– ზე კოდის ასატვირთად გადმოწერეთ LedControl ბიბლიოთეკა GitHub– დან აქ, github.com/wayoda/LedControl და დაამატეთ Zip ფაილი ან დაამატეთ ბიბლიოთეკის მენეჯერის საშუალებით IDE– ში. ამის შემდეგ გახსენით თანდართული ესკიზი, შეარჩიეთ თქვენი Arduino დაფისა და პორტის პარამეტრებში ინსტრუმენტების ქვეშ და ატვირთეთ arduino– ში.

განმარტება

ხაზი 1: ამატებს ბიბლიოთეკას

ხაზი 5-23: ადგენს ყველა ცვლადს, მუდმივსა და პინის რიცხვს.

ხაზი 25: აყენებს LED Martix- ს და ადგენს საკონტროლო ბუდეებს და რამდენ ეკრანს.

ხაზი 27: აყენებს გადატვირთვის ფუნქციას.

ხაზი 30-35: გამორთვის ფუნქცია ყველა ეკრანის ერთად ჩართვის/გამორთვისთვის.

ხაზი 38-43: SetIntensity ფუნქცია ყველა ეკრანის სიკაშკაშის ერთად დაყენების მიზნით.

ხაზი 46-51: ClearAll ფუნქცია ყველა ეკრანის ერთად წაშლისთვის.

სტრიქონი 53-64: ჯოისტიკი ფუნქცია ჯოისტიკების პოზიციის დასადგენად, შეაფასეთ ისინი ჯოხების 7 შესაძლო პოზიციაში ბურთზე დარტყმისთვის და შემდეგ გადააადგილეთ ღამურა ახალ პოზიციაზე.

ხაზი 67-435: ფუნქცია, რომელიც გადააქვს ბურთი მარცხენა მოთამაშეს განსაზღვრულ სიმაღლეზე და სიჩქარეზე, ამოწმებს თუ არა მოთამაშე დაარტყამს მას და აგრძელებს და ადგენს ავარიის სტატუსს ჭეშმარიტად ან აბრუნებს ბურთს უკან, ამატებს 1 ქულას და ზრდის სიჩქარეს.

ხაზი 438-811: ფუნქცია, რომელიც გადააქვს ბურთი მარჯვენა მოთამაშეს განსაზღვრულ სიმაღლეზე და სიჩქარეზე, ამოწმებს თუ არა მოთამაშე დაარტყამს მას და აგრძელებს და ადგენს ავარიის სტატუსს ჭეშმარიტად ან აბრუნებს ბურთს უკან, ამატებს 1 ქულას და ზრდის სიჩქარეს.

სტრიქონი 813-823: ფუნქცია სმაილიკის სახის, ტკიპის, ჯვრის ან კითხვის ნიშნის ჩვენებისათვის მითითებულ ეკრანზე (0 მარჯვნივ მარჯვნივ 3 მარცხნივ).

ხაზი 861-979: ფუნქცია 0-9 ნომრების ჩვენებისათვის მითითებულ ეკრანზე.

ხაზი 981-1047: ფუნქცია ეკრანის თითოეული მოთამაშისთვის ქულის ჩვენებისათვის.

ხაზი 1049-1064: ფუნქცია, რათა შეამოწმოთ მზად არის თუ არა მოთამაშე.

ხაზი 1066-1076: კოდის განყოფილების დაყენება იმ კოდისთვის, რომელიც გაშვებულია ერთხელ პროგრამის დაწყებისას.

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

ნაბიჯი 5: მადლობა კითხვისთვის

Მადლობა წაკითხვისთვის
Მადლობა წაკითხვისთვის

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

გირჩევთ: