Სარჩევი:

ESP32 VGA არკადული თამაშები და ჯოისტიკი: 6 ნაბიჯი (სურათებით)
ESP32 VGA არკადული თამაშები და ჯოისტიკი: 6 ნაბიჯი (სურათებით)

ვიდეო: ESP32 VGA არკადული თამაშები და ჯოისტიკი: 6 ნაბიჯი (სურათებით)

ვიდეო: ESP32 VGA არკადული თამაშები და ჯოისტიკი: 6 ნაბიჯი (სურათებით)
ვიდეო: 自作ミニ筐体で心眼! 2024, ივლისი
Anonim
Image
Image
ESP32 VGA არკადული თამაშები და ჯოისტიკი
ESP32 VGA არკადული თამაშები და ჯოისტიკი
ESP32 VGA არკადული თამაშები და ჯოისტიკი
ESP32 VGA არკადული თამაშები და ჯოისტიკი

ამ გაკვეთილზე მე ვაჩვენებ, თუ როგორ უნდა აღვადგინოთ ოთხი არკადული თამაში - Tetris - Snake - Breakout - Bomber - ESP32 გამოყენებით, გამომავალი VGA მონიტორისთვის.

გარჩევადობაა 320 x 200 პიქსელი, 8 ფერში. მე ადრე გავაკეთე ვერსია Arduino Uno– სთან (იხ. აქ), მაგრამ გარჩევადობა იყო მხოლოდ 120 x 60 პიქსელი, 4 ფერი და Arduino მეხსიერება თითქმის სავსე იყო. ESP32– ის უფრო დიდი შესრულების წყალობით, რეზოლუციაც და დაკვრაც უფრო მაღალია. უფრო მეტიც, მეხსიერება ჯერ კიდევ ბევრია, ამიტომ მომავალში ახალი თამაშების დამატება პირდაპირი იქნება.

მე ასევე ცხელი გამოჩნდება, რომ დააკავშიროთ მარტივი ჯოისტიკი RS232 კაბელის საშუალებით. მე ვიყენებ Commodore 64 – ის ერთსა და იმავე პინუსს.

ეს პროექტი შესაძლებელი გახდა ფაბრიციო დი ვიტორიოს მიერ დაწერილი გასაოცარი ESP32 VGA ბიბლიოთეკით. იხილეთ აქ უფრო დეტალურად.

ნაბიჯი 1: ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია

ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია
ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია
ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია
ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია
ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია
ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია

უპირველეს ყოვლისა, თქვენ უნდა შეიძინოთ ESP32 გადასინჯვა 1 ან ზედა. ბევრი ვერსია არსებობს, მაგრამ მე გირჩევთ აირჩიოთ ერთი მრავალი ქინძისთავით, სასურველია ისეთი მოდელი, როგორიც არის ამ სურათზე, 38 ქინძისთავით. მე ვიყენებ ამ ვერსიას, მაგრამ ვფიქრობ, რომ ბევრი სხვაც კარგად არის. Ebay– ზე შეგიძლიათ ნახოთ ეს მოდელი 7 ევროზე ნაკლებ ფასად, მიწოდების ჩათვლით.

დაფის მიღების შემდეგ, თქვენ უნდა გააგრძელოთ შემდეგი სამი ქვე – ნაბიჯი:

  1. დააინსტალირეთ ბოლო Arduino IDE
  2. დააკონფიგურირეთ ESP32 IDE- ში და
  3. ჩამოტვირთეთ და დააინსტალირეთ VGA ბიბლიოთეკა

ქვე-ნაბიჯი 1. ESP32– ის პროგრამირების სხვადასხვა მეთოდი არსებობს, მაგრამ აქ თქვენ უნდა გამოიყენოთ Arduino IDE (სხვათა შორის, მე ვიყენებ ვერსიას 1.8.9). მისი ინსტალაციისთვის შეგიძლიათ გადახვიდეთ Arduino IDE გვერდზე და მიჰყევით ინსტრუქციას.

ქვე – ნაბიჯი 2. წინა ოპერაციის დასრულების შემდეგ, თქვენ უნდა დააკონფიგურიროთ თქვენი ESP32 Arduino IDE– ში. ეს არ არის ტრივიალური, რადგან ESP32 არ არის (ჯერ კიდევ?) მშობლიური მასში. თქვენ შეგიძლიათ მიყევით ამ გაკვეთილს, ან შემდეგ ნაბიჯებს.

1) გახსენით Arduino IDE

2) გახსენით პარამეტრების ფანჯარა, ფაილი/უპირატესობა, ალტერნატიულად დააჭირეთ "Ctrl+მძიმე"

3) გადადით "დამატებითი დაფის მენეჯერის მისამართებზე", დააკოპირეთ და ჩასვით შემდეგი ტექსტი:

https://dl.espressif.com/dl/package_esp32_index.js…

და დააჭირეთ ღილაკს OK.

4) დაფების მენეჯერის გახსნა. გადადით ინსტრუმენტების/დაფის/დაფების მენეჯერზე…

5) მოძებნეთ ESP32 და დააჭირეთ ინსტალაციის ღილაკს "ESP32 by Espressif Systems":

6) ამ დროს, როდესაც პირველად დააკავშირებთ თქვენს ESP32- ს, თქვენ უნდა აირჩიოთ სწორი მოდელი ხელმისაწვდომი ESP32 დაფების გრძელი სიიდან (იხილეთ სურათი ამ ნაბიჯში). მოდელზე ეჭვის შემთხვევაში, უბრალოდ შეარჩიეთ ზოგადი, ანუ პირველი. ის მუშაობს ჩემთვის.

7) სისტემამ ასევე უნდა აირჩიოს სწორი USB (COM) პორტი და ატვირთვის სიჩქარე (ჩვეულებრივ 921600). ამ დროს უნდა შეიქმნას კავშირი თქვენს კომპიუტერსა და ESP32 დაფას შორის.

ქვე-ნაბიჯი 3. საბოლოოდ თქვენ უნდა დააინსტალიროთ FabGL VGA ბიბლიოთეკა. დააწკაპუნეთ აქ, რომ ჩამოტვირთოთ სრული შეკუმშული ფაილი. გააუქმეთ იგი და დააკოპირეთ მიღებული საქაღალდე (FabGL-master) Arduino IDE ბიბლიოთეკების საქაღალდეში, რომელიც ასე გამოიყურება:

"… / Arduino-1.8.12 / ბიბლიოთეკები".

ნაბიჯი 2: ატვირთვა "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"

ჩამოტვირთეთ ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip ამ ნაბიჯის ბოლოში. გათიშეთ და გახსენით Arduino IDE– ით, შემდეგ ატვირთეთ თქვენს ESP32– ში. თუ თქვენ არ გაქვთ შეცდომის შეტყობინება, კოდი უკვე გაშვებული უნდა იყოს და თქვენ უბრალოდ უნდა დააკავშიროთ VGA პორტი და ღილაკები (ან ჯოისტიკი).

ნაბიჯი 3: VGA პორტის დაკავშირება

VGA პორტის დაკავშირება
VGA პორტის დაკავშირება

თქვენ გჭირდებათ შემდეგი ნაწილები:

  • DSUB15 კონექტორი, ანუ VGA ქალი კონექტორი ან VGA კაბელი, რომელიც უნდა გაიჭრას.
  • სამი 270 Ohm რეზისტორი.

შეაერთეთ ESP32 GPIO პინ 2, 15 და 21 შესაბამისად VGA წითელი, მწვანე და ლურჯი შესაბამისად, 270 Ohm რეზისტორების საშუალებით.

შეაერთეთ VGA Hsync და Vsync ESP32 GPIO ქინძისთავებთან შესაბამისად 17 და 4.

შეაერთეთ DSUB15 კონექტორის ქინძისთავები 5, 6, 7, 8 და 10 ESP32 GND- თან.

VGA DSUB15 კონექტორის პინის განსაზღვრისათვის იხილეთ სურათი ამ ნაბიჯში. NB, ეს არის მდედრობითი კონექტორის შედუღების მხარე.

ნაბიჯი 4: შეაერთეთ ოთხი ღილაკი

შეაერთეთ ოთხი ღილაკი
შეაერთეთ ოთხი ღილაკი
შეაერთეთ ოთხი ღილაკი
შეაერთეთ ოთხი ღილაკი
შეაერთეთ ოთხი ღილაკი
შეაერთეთ ოთხი ღილაკი

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

ამ ნაბიჯის სქემა გვიჩვენებს, თუ როგორ უნდა დააკავშიროთ ერთი ღილაკი (ჩვეულებრივ ღიაა) +5V– დან ESP32 მოცემულ პინთან.

გაითვალისწინეთ, რომ თქვენ ასევე უნდა დააკავშიროთ ESP მოცემული პინი GND– ს 1 – დან 5 კჰმ – მდე რეზისტორის საშუალებით. ამ გზით როდესაც ღილაკი იხსნება (ღიაა) ESP pin არის ზუსტად ნულოვანი ვოლტი. უფრო კონკრეტულად, თქვენ უნდა დააკავშიროთ ოთხი ღილაკი შემდეგი თანმიმდევრობით:

  • დააფიქსირეთ ღილაკი 12 მარჯვნივ
  • მიამაგრეთ ღილაკი 25 დან ზემოთ
  • დააფიქსირეთ ღილაკი 14 მარცხნივ
  • მიამაგრეთ ღილაკი 35 ქვემოთ

ნაბიჯი 5: დააკავშირეთ ჯოისტიკი

დააკავშირეთ ჯოისტიკი
დააკავშირეთ ჯოისტიკი
დააკავშირეთ ჯოისტიკი
დააკავშირეთ ჯოისტიკი
დააკავშირეთ ჯოისტიკი
დააკავშირეთ ჯოისტიკი

C64 ჯოისტიკს აქვს pinout ნაჩვენები ამ ნაბიჯის პირველ სურათზე. ESP32– თან დასაკავშირებლად გჭირდებათ 9 პინიანი DSUB მამრობითი კონექტორი (ანუ სოკეტი), როგორც ეს ნაჩვენებია მეორე სურათზე. მე ამოვიღე ერთი დაუცველი ქინძისთავები ძველი ელექტრონული დაფიდან. თქვენ შეგიძლიათ გამოიყენოთ გამათბობელი იარაღი მის მოსაშორებლად (მაგრამ გააკეთეთ ეს გარეთ!).

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

თუ გსურთ გააკონტროლოთ თამაშები მხოლოდ ჯოისტიკით, დაუკავშირეთ მისი საერთო პინი (9) ESP32 +5V- ს, ხოლო ჯოისტიკის ქინძისთავები 1, 2, 3, 4 და 6 ESP– ს ქვემოთ მოცემულ სიაში.

  • ESP pin 12 მარჯვნივ მარჯვნივ (RS232 pin 4)
  • ESP pin 14 მარცხენა ღილაკზე (RS232 pin 3)
  • ESP pin 35 ქვემოთ ღილაკი (RS232 pin 2)
  • ESP პინი 25 ღილაკზე მაღლა (RS232 პინი 1 და 6, ანუ ჯოისტიკი ცეცხლი)

NB ESP ბუდეები 12, 14, 25 და 35 ასევე უნდა იყოს დაკავშირებული GND– თან 1 – დან 5 კჰმ – მდე რეზისტორის საშუალებით. ამ გზით როდესაც ღილაკი იხსნება (ღიაა) ESP pin არის ზუსტად ნულოვანი ვოლტი.

NB2 ჯოისტიკი UP პოზიცია და ცეცხლის ღილაკი უკავშირდება ESP პინ 25- ს

მე დავუკავშირე ოთხი ღილაკი კომპიუტერის დაფაზე, ამ გზით მე არ მჭირდება ჯოისტიკი სათამაშოდ (თუმცა ჯოისტიკით ბევრად უფრო სასაცილოა). ისევ და ისევ, RS232 პინ 9 უნდა იყოს დაკავშირებული +5 ვ -თან და ჯოისტიკის ქინძისთავები ღილაკების პარალელურად არის.

ნაბიჯი 6: დასკვნა და აღიარება

დასკვნა და აღიარება
დასკვნა და აღიარება

თუ ყველაფერი სწორად მუშაობს, უბრალოდ დააკავშირეთ VGA მონიტორი და თქვენ უნდა შეგეძლოთ ისიამოვნოთ ძველი სტილის თამაშით!

თქვენ ასევე შეგიძლიათ დახაზოთ მანდელბროტის ნაკრები 640 x 350 პიქსელის გარჩევადობით, მხოლოდ VGA ბიბლიოთეკის შესაძლებლობების შესამოწმებლად.

გაითვალისწინეთ, რომ კოდი იწერება ისე, რომ მომავალში სხვა თამაშები ადვილად დაემატოს (ESP32– ს აქვს დიდი ადგილი!). მე ეს პროექტი საკმარის ინტერესს იწვევს, შემიძლია ამის გაკეთება …

დაბოლოს, მე მინდა გამოვხატო ჩემი ტანკები Fabrizio Di Vittorio– სთვის მისი გასაოცარი ESP32 VGA ბიბლიოთეკისთვის. დამატებითი დეტალებისთვის, მაგალითებისთვის და… კოსმოსური დამპყრობლებისთვის ეწვიეთ მის საიტს.

გირჩევთ: