Სარჩევი:
- ნაბიჯი 1: ESP32 დაფები, Arduino IDE ინსტალაცია და VGA ბიბლიოთეკის კონფიგურაცია
- ნაბიჯი 2: ატვირთვა "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
- ნაბიჯი 3: VGA პორტის დაკავშირება
- ნაბიჯი 4: შეაერთეთ ოთხი ღილაკი
- ნაბიჯი 5: დააკავშირეთ ჯოისტიკი
- ნაბიჯი 6: დასკვნა და აღიარება
ვიდეო: ESP32 VGA არკადული თამაშები და ჯოისტიკი: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ამ გაკვეთილზე მე ვაჩვენებ, თუ როგორ უნდა აღვადგინოთ ოთხი არკადული თამაში - 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 გადასინჯვა 1 ან ზედა. ბევრი ვერსია არსებობს, მაგრამ მე გირჩევთ აირჩიოთ ერთი მრავალი ქინძისთავით, სასურველია ისეთი მოდელი, როგორიც არის ამ სურათზე, 38 ქინძისთავით. მე ვიყენებ ამ ვერსიას, მაგრამ ვფიქრობ, რომ ბევრი სხვაც კარგად არის. Ebay– ზე შეგიძლიათ ნახოთ ეს მოდელი 7 ევროზე ნაკლებ ფასად, მიწოდების ჩათვლით.
დაფის მიღების შემდეგ, თქვენ უნდა გააგრძელოთ შემდეგი სამი ქვე – ნაბიჯი:
- დააინსტალირეთ ბოლო Arduino IDE
- დააკონფიგურირეთ ESP32 IDE- ში და
- ჩამოტვირთეთ და დააინსტალირეთ 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 პორტის დაკავშირება
თქვენ გჭირდებათ შემდეგი ნაწილები:
- 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 ბიბლიოთეკისთვის. დამატებითი დეტალებისთვის, მაგალითებისთვის და… კოსმოსური დამპყრობლებისთვის ეწვიეთ მის საიტს.
გირჩევთ:
Hall Effect USB ჯოისტიკი: 7 ნაბიჯი (სურათებით)
Hall Effect USB ჯოისტიკი: ეს ინსტრუქცია აჩვენებს, თუ როგორ გამოიყენოთ ინდუსტრიული Hall Effect ჯოისტიკი მაღალი დონის USB ჯოისტიკისთვის. არსებობს სხვა დაკავშირებული ინსტრუქციები Tiny USB ჯოისტიკი, რომელსაც შეუძლია უზრუნველყოს დაბალი ღირებულების გადაწყვეტა; >
პატარა USB ჯოისტიკი: 5 ნაბიჯი (სურათებით)
წვრილი USB ჯოისტიკი: ეს ინსტრუქცია აჩვენებს, თუ როგორ უნდა გააკეთოთ ძალიან მარტივი პატარა USB ჯოისტიკი. ეს ინსტრუქციები დაკავშირებულია Hall Effect USB ჯოისტიკთან დაბალი ფასის გადაწყვეტის უზრუნველსაყოფად
წვრილმანი არკადული ჯოისტიკი: 3 ნაბიჯი
DIY Arcade Joystick: ეს არის არკადული ჯოისტიკი, რომელიც მე გავაკეთე. თავად არკადული ჯოისტიკი დამზადებულია ნულიდან მიკრო როლიკებით კონცენტრატორების გამოყენებით, არ არის გამოყენებული წინასწარ დამზადებული არკადული ჯოისტიკ მოდული, რომელიც ხელთ იყო გამოყენებული. ეს იდეა ვიღაცისგან მივიღე 2016 წლის Maker Faire Singapore– ში, სადაც გამახსენდა
უკაბელო კომპიუტერის ჯოისტიკი/ბორბლის ღილაკები: 4 ნაბიჯი (სურათებით)
უკაბელო კომპიუტერის ჯოისტიკი/ბორბლის ღილაკები: მე ვაშენებ ახალ სარბოლო სიმს ბოლო წლების განმავლობაში და გადავწყვიტე წასვლა DIY Direct Drive საჭით. მიუხედავად იმისა, რომ მხოლოდ ეს პროექტი შეიძლება იყოს რამოდენიმე ინსტრუქტაჟი თავისთავად, ეს არის სასწავლო ყველა ღილაკის გაკეთების შესახებ
Arduino Robot ერთად PS2 კონტროლერი (PlayStation 2 ჯოისტიკი): 10 ნაბიჯი (სურათებით)
Arduino Robot ერთად PS2 კონტროლერი (PlayStation 2 ჯოისტიკი): ამ გაკვეთილში მე გაჩვენებთ თუ როგორ გამოიყენოთ უკაბელო Playstation 2 (PS2) ჯოისტიკი რობოტული ტანკის პილოტირებისთვის. Arduino Uno დაფა გამოიყენებოდა ამ პროექტის ბირთვში. ის იღებს ბრძანებებს უკაბელო კონტროლერისგან და ადგენს ძრავების სიჩქარეს