Სარჩევი:

ESP32 ხელის სათამაშო კონსოლი: 21 ნაბიჯი (სურათებით)
ESP32 ხელის სათამაშო კონსოლი: 21 ნაბიჯი (სურათებით)

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

ვიდეო: ESP32 ხელის სათამაშო კონსოლი: 21 ნაბიჯი (სურათებით)
ვიდეო: ESP32 Tutorial 9 - Using Push button to Toggle LED, Push ON, Push OFF -SunFounder ESP32 IoT kit 2024, ივნისი
Anonim
Image
Image
აპარატურის მომზადება
აპარატურის მომზადება

ეს ინსტრუქცია აჩვენებს, თუ როგორ გამოიყენოთ ESP32 და ATtiny861 NES ემულატორის სათამაშო კონსოლის შესაქმნელად.

ნაბიჯი 1: აპარატურის მომზადება

აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება

ESP32 Dev დაფა

ამჯერად მე ვიყენებ TTGO T8 ESP32 dev დაფას. ამ დაფას აქვს ჩაშენებული Lipo დატენვისა და მარეგულირებელი წრე, მას შეუძლია შეამციროს დამატებითი კომპონენტები.

ჩვენება

ამჯერად მე ვიყენებ 2.4 IPS LCD- ს. დრაივერის კონტროლერი არის ST7789V და გარჩევადობაა 320 x 240. ეს რეზოლუცია საუკეთესოდ შეეფერება NES emulator 252 x 224 რეზოლუციას.

ბატარეა

ამჯერად მე ვიყენებ 454261 ლიპო ბატარეას. 4.5 მმ არის ESP32 dev დაფის სისქე, ხოლო 61 მმ დაფის სიგანე.

სათაურის ჩამაგრება

4 ქინძისთავის მამრობითი მრგვალი პინიანი სათაური და 4 ქინძისთავის ქალი მრგვალი პინიანი სათაური I2C გეიმპადის დასაკავშირებლად.

PETG ფირფიტა

პატარა PET/PETG ფირფიტა dev დაფისა და Lipo ბატარეის მხარდასაჭერად, შეგიძლიათ მარტივად იპოვოთ პროდუქტის შეფუთვაში.

მრავალფუნქციური PCB

საჭიროა 2 PCB, 1 0,4 მმ სისქის ჩვენების მხარდასაჭერად, 1 1,2 მმ სისქით I2C გეიმპედისთვის.

ღილაკები

5 მიმართულებით ღილაკი, 2 პატარა ღილაკი Select and Start და 2 A და B ღილაკებისთვის.

I2C Gamepad კონტროლერი

ამჯერად ვიყენებ ATtiny861 მიკროკონტროლერს, როგორც I2C გეიმპადის კონტროლერი.

სხვა

1 SMD 12 Ohm რეზისტორი, ISP პროგრამისტი (მაგ. TinyISP)

ნაბიჯი 2: პროგრამული უზრუნველყოფის მომზადება

პროგრამული უზრუნველყოფის მომზადება
პროგრამული უზრუნველყოფის მომზადება
პროგრამული უზრუნველყოფის მომზადება
პროგრამული უზრუნველყოფის მომზადება
პროგრამული უზრუნველყოფის მომზადება
პროგრამული უზრუნველყოფის მომზადება

Arduino IDE

ჩამოტვირთეთ და დააინსტალირეთ Arduino IDE, თუ ჯერ არა:

ATTinyCore მხარდაჭერა

მიჰყევით ინსტალაციის ნაბიჯებს ATTinyCore მხარდაჭერის დასამატებლად, თუ ჯერ არა:

ESP-IDF

მიჰყევით ESP-IDF– ის დაწყების გზამკვლევს, თუ როგორ უნდა შექმნათ განვითარების გარემო:

ნაბიჯი 3: 3D ბეჭდვა

3D ბეჭდვა
3D ბეჭდვა

ჩამოტვირთეთ და დაბეჭდეთ საქმე:

ნაბიჯი 4: LCD მხარდაჭერა

LCD მხარდაჭერა
LCD მხარდაჭერა
LCD მხარდაჭერა
LCD მხარდაჭერა

გაჭერით 24 x 27 ხვრელი 0.4 მმ PCB LCD მხარდაჭერისთვის. დაიმახსოვრეთ დაუთმეთ ადგილი დასაკეცი LCD FPC– სთვის. შემდეგ გამოიყენეთ ორმაგი გვერდითი წებოვანი ლენტი, დააფიქსირეთ LCD PCB– ზე.

ნაბიჯი 5: მოამზადეთ PETG ფირფიტა

მოამზადეთ PETG ფირფიტა
მოამზადეთ PETG ფირფიტა
მოამზადეთ PETG ფირფიტა
მოამზადეთ PETG ფირფიტა

ამოიღეთ 62 მმ x 69 მმ PETG ფირფიტა dev board და Lipo ბატარეის საყრდენისთვის.

ნაბიჯი 6: შეასწორეთ ESP32 Dev Board

შეასწორეთ ESP32 Dev Board
შეასწორეთ ESP32 Dev Board

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

ნაბიჯი 7: შეასწორეთ ლიპო ბატარეა

შეასწორეთ ლიპო ბატარეა
შეასწორეთ ლიპო ბატარეა

გამოიყენეთ ორმაგი გვერდითი წებოვანი ლენტი Lipo ბატარეის დასაფიქსირებლად, გარდა დაფისა.

ნაბიჯი 8: შეაერთეთ ბატარეა და გამშვები დაფა

შეაერთეთ Battery & Dev Board
შეაერთეთ Battery & Dev Board

ნაბიჯი 9: მოამზადეთ ჩვენების ქინძისთავები

მოამზადეთ ჩვენების ქინძისთავები
მოამზადეთ ჩვენების ქინძისთავები

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

ზოგიერთი ქინძისთავები დაცულია სენსორული პანელისთვის. ვინაიდან ამ LCD– ს არ აქვს სენსორული პანელი, უბრალოდ ამ ქინძისთავების ამოჭრამ შეიძლება შეამციროს დარღვევა.

ნაბიჯი 10: შეაერთეთ GND ქინძისთავები

შეაერთეთ GND ქინძისთავები
შეაერთეთ GND ქინძისთავები
შეაერთეთ GND ქინძისთავები
შეაერთეთ GND ქინძისთავები

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

ნაბიჯი 11: შეაერთეთ Vcc ქინძისთავები

შეაერთეთ Vcc ქინძისთავები
შეაერთეთ Vcc ქინძისთავები

საჭიროა 2 ქინძისთავის დაკავშირება Vcc, LCD და LED ენერგიასთან. მონაცემთა ფურცლის თანახმად, LCD სიმძლავრე შეიძლება პირდაპირ დაუკავშირდეს dev board 3.3 V პინს, მაგრამ LED სიმძლავრე მუშაობს ოდნავ დაბლა ვიდრე 3.3 ვ. ამიტომ უმჯობესია დაამატოთ SMD რეზისტორი შუაში, მაგ. 12 Ohm რეზისტორი.

ნაბიჯი 12: შეაერთეთ LCD და Dev დაფის მხარდაჭერა

შეაერთეთ LCD და Dev დაფის მხარდაჭერა
შეაერთეთ LCD და Dev დაფის მხარდაჭერა

გამოიყენეთ ფირზე დააკავშირეთ LCD მხარდაჭერა და dev board მხარდაჭერა ერთად. ორივე საყრდენმა უნდა დაიტოვოს დასაკეცი მანძილი დაახლოებით 5 მმ.

ნაბიჯი 13: შეაერთეთ SPI ქინძისთავები

შეაერთეთ SPI ქინძისთავები
შეაერთეთ SPI ქინძისთავები

აქ არის კავშირის შეჯამება:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> არ არის დაკავშირებული Vcc -> 3.3 V LED+ -> 12 Ohm რეზისტორი -> 3.3 V LED - -> GND

ნაბიჯი 14: Flash პროგრამა

ფლეშ პროგრამა
ფლეშ პროგრამა
ფლეშ პროგრამა
ფლეშ პროგრამა
ფლეშ პროგრამა
ფლეშ პროგრამა
ფლეშ პროგრამა
ფლეშ პროგრამა
  1. ჩამოტვირთეთ კოდის წყარო GitHub– ზე:
  2. კოდის საქაღალდის ქვეშ გაუშვით "make menuconfig"
  3. აირჩიეთ "Nofrendo ESP32 სპეციფიკური კონფიგურაცია"
  4. აირჩიეთ "აპარატურა გასაშვებად" -> "პერსონალური აპარატურა"
  5. აირჩიეთ "LCD ტიპი" -> "ST7789V LCD"
  6. შეავსეთ პინის პარამეტრები: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, განათება -> -1, IPS -> Y
  7. გასვლა და შენახვა
  8. გაუშვით "make -j5 flash"
  9. გაუშვით "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

ნაბიჯი 15: I2C კონექტორი

I2C კონექტორი
I2C კონექტორი
I2C კონექტორი
I2C კონექტორი
I2C კონექტორი
I2C კონექტორი

I2C ქინძისთავების გარღვევა, ESP32 ნაგულისხმევი I2C ქინძისთავებია:

პინი 1 (SCL) -> GPIO 22

პინი 2 (SDA) -> GPIO 21 პინი 3 (Vcc) -> 3.3 V (არა 5 ვ სიმძლავრის ლიპო ბატარეით) Pin 4 (GND) -> GND

ნაბიჯი 16: შეკრება ნაწილი 1

Image
Image

მიჰყევით ვიდეო ნაბიჯებს დასაკეცი და ყველა ნაწილის ჩასადებად.

ნაბიჯი 17: პროტოტიპი I2C Gamepad

პროტოტიპი I2C Gamepad
პროტოტიპი I2C Gamepad
პროტოტიპი I2C Gamepad
პროტოტიპი I2C Gamepad

I2C Gamepad– ის პროგრამა ძალიან მარტივია, კოდის მხოლოდ 15 სტრიქონი. მაგრამ ცოტა ძნელია ATtiny861– ის გადაპროგრამება შედუღების შემდეგ, ამიტომ ჯობია ის ჯერ პურის დაფაზე გამოსცადოთ.

ჩამოტვირთეთ, შეადგინეთ და გადმოუშვით პროგრამა GitHub– დან:

ნაბიჯი 18: შექმენით I2C Gamepad

შექმენით I2C Gamepad
შექმენით I2C Gamepad
შექმენით I2C Gamepad
შექმენით I2C Gamepad
შექმენით I2C Gamepad
შექმენით I2C Gamepad

აქ არის კავშირის შეჯამება:

ATtiny861 ღილაკი

GND -> ყველა ღილაკი ერთი პინი Pin 20 (PA0) -> ზემოთ ღილაკი Pin 19 (PA1) -> ქვემოთ ღილაკი Pin 18 (PA2) -> მარცხენა ღილაკი Pin 17 (PA3) -> მარჯვენა ღილაკი Pin 14 (PA4) -> აირჩიეთ ღილაკი Pin 13 (PA5) -> დაწყების ღილაკი Pin 12 (PA6) -> ღილაკი Pin 11 (PA7) -> B ღილაკი Pin 6 (GND) -> I2C მამრობითი pin header pin 4 Pin 5 (Vcc) -> I2C მამრობითი pin header pin 3 Pin 3 (SCL) -> I2C მამრობითი pin header pin 1 Pin 1 (SDA) -> I2C მამრობითი pin header pin 2

ნაბიჯი 19: შეკრება ნაწილი 2

Image
Image
სურვილისამებრ: აუდიო ბრეაკოუტ ქინძისთავები
სურვილისამებრ: აუდიო ბრეაკოუტ ქინძისთავები

დაიცავით ვიდეო ნაბიჯები, რომ დააინსტალიროთ საფარი და I2C გეიმპედი მთავარ სხეულზე.

ნაბიჯი 20: სურვილისამებრ: აუდიო ბრეაკოუტ ქინძისთავები

Image
Image
სურვილისამებრ: აუდიო ბრეაკოუტ ქინძისთავები
სურვილისამებრ: აუდიო ბრეაკოუტ ქინძისთავები

ESP32 dev board Pin 25 და 26 გამოსცემს ანალოგურ აუდიო სიგნალს, ძალიან ადვილია ამ 2 ქინძისთავის გარღვევა და ასევე დენის ქინძისთავები (3.3 V და GND) თავზე. შემდეგ თქვენ შეგიძლიათ დააკოპიროთ ყურსასმენი, რომ ჩართოთ იგი. ან თუნდაც თქვენ შეგიძლიათ დაამატოთ აუდიო გამაძლიერებელი მოდული დინამიკით, რომ ხმამაღლა დაუკრათ.

ნაბიჯი 21: რა არის შემდეგი?

Რა არის შემდეგი?
Რა არის შემდეგი?

NES ემულატორი არ არის ერთადერთი საინტერესო რამ, რისი გაკეთებაც შეგიძლიათ ESP32– ით. Მაგალითად. თქვენ შეგიძლიათ ააწყოთ მიკრო პითონის კონსოლი. ერთადერთი კომპონენტი, რომელიც თქვენ უნდა შეცვალოთ არის I2C gamepad– დან I2C კლავიატურაზე. მე ვფიქრობ, რომ არც ისე რთულია ამის გაკეთება ATtiny88 კონტროლერთან. სტატუსის სანახავად შეგიძლიათ მიყვეთ ჩემს ტვიტერს.

გირჩევთ: