INHOUDSOPGAWE:
- Stap 1: Versamel al die dele
- Stap 2: Koppel die OLED -skerm aan
- Stap 3: Verbind die gonser
- Stap 4: Alle hardewareverbindings voltooi
- Stap 5: Sluit die biblioteek in en initialiseer vertoonprotokolle
- Stap 6: Die temaliedmelodie
- Stap 7: Speel die liedjie tydens die opstart
- Stap 8: Omskakeling van die beelde na bitmaps
- Stap 9: Pas die resolusie aan volgens u skerm
- Stap 10: Genereer die bitmap -reeks
- Stap 11: Wys die beelde as volgorde
- Stap 12: Die hele kode:
- Stap 13: Die resultate:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hallo daar en welkom by hierdie aangename instruksies! Ek hoop dit gaan goed met julle almal en dat julle gesond bly. Hierdie klein, maar ongelooflike projek handel oor die speel van die PUBG -temalied en selfs die skep van 'n paar animasies met behulp van arduino.
Die gebruikte komponente is baie maklik beskikbaar en baie maklik om op 'n stuk broodbord te monteer. Ek sal die hele bouproses en koderingsproses in hierdie instruksies deel, bly tot die einde toe!
Ek beveel sterk aan dat u na die video kyk om 'n idee te kry van die projek:) As u daarvan hou, kan u die video 'like' en deel. Oorweeg om op my kanaal in te teken as u van my build hou. Dankie!
Dus, sonder verdere vertraging, laat ons begin!
Stap 1: Versamel al die dele
Die konstruksie bestaan hoofsaaklik uit 'n Arduino Nano, wat die belangrikste kern vir hierdie projek is. U kan ander Arduino -variante gebruik, soos die gewilde Arduino Uno, Arduino Pro Mini, Arduino Mega, ens. Om die animasies en die beelde te vertoon, het ek besluit om 'n 0,96 duim OLED -skerm met 'n resolusie van 128 by 64 pixels te gebruik. Hierdie skerm kan koppelvlakke wees met die arduino met die I2C -protokol wat slegs twee drade vir data en klok benodig, wat die aantal verbindings verminder en die projek meer kompak maak. Om die PUBG -temamelodie te speel, gebruik ek 'n 5V -zoemer, waarvan ek die positiewe pen met die digitale pen 6 van arduino verbind het en die grond na die grond van Arduino gaan.
Dit is die lys van dele wat nodig is vir die projek:
- Arduino Nano (of enige ander arduino -bord van u keuse)
- 0.96 duim OLED -skermmodule
- 5V gonser
- Springdrade
- Broodbord
- Arduino programmeerkabel
Stap 2: Koppel die OLED -skerm aan
'N Totaal van 4 verbindings is nodig om die OLED -skerm van arduino aan te sluit:
Vcc 5V van Arduino
Gnd Gnd van Arduino
SDA A4 van Arduino
SCK A5 van Arduino
Spelde A4 en A5 van die arduino dien verskeie analoge insette sowel as penne vir I2C -kommunikasie. Hier het ons die penne vir die I2C -protokol gebruik om met die skermmodule te koppel.
Die skakel na die Adafruit -biblioteek wat in hierdie projek gebruik word:
Stap 3: Verbind die gonser
Die 5V -zoemer het 'n positiewe en negatiewe toevoerterminal.
Positiewe pen D6 van Arduino (digitale pen 6) (u kan enige digitale pen van die arduino gebruik)
Negatiewe pen Gnd van Arduino
Ons gaan die gewenste toon skep op die digitale pen D6 waarna die zoemer die melodie sal speel.
Stap 4: Alle hardewareverbindings voltooi
Al die nodige verbindings van die OLED -skerm en die zoemer is voltooi. Laat ons nou die programmeringsaspek van die projek verstaan.
Stap 5: Sluit die biblioteek in en initialiseer vertoonprotokolle
Die hele program is in drie komponente verdeel:
- Die hoofprogram bestaan uit die inisialisering en die rye van beeldvertoning en melodie
- 'pitches.h' lêer wat bestaan uit die lys musieknote en die gepaardgaande frekwensie
- 'pictures.h' lêer wat bestaan uit bitmaps van die beelde wat vertoon moet word.
Die proses om 'n beeld in 'n bitmap -skikking vir OLED -skerm te omskep, word in die komende stappe bespreek.
Ek heg ook die hele kode saam met die instruksies wat u kan gebruik:)
Stap 6: Die temaliedmelodie
Ek het op die internet gesoek na die basiese note wat uit die PUBG -temalied bestaan, en dit dan by die melodie -reeks gevoeg.
Deur 'n aansienlike hoeveelheid tyd te spandeer en die melodiereeks weer te speel, het ek die tydsduurskikking geskep wat handel oor hoe lank elke noot gespeel moet word. Die kombinasie van die melodie -reeks en die duur -array bevat die volledige inligting om die liedjie te speel.
Stap 7: Speel die liedjie tydens die opstart
Daar is 'n totaal van 63 note wat ek gebruik het om die melodiereeks op te stel. Deur 'n for -lus te gebruik en deur die note en duur -reeks te herhaal met 'n voorafbepaalde pouse tussen elke noot, word die hele reeks een keer gespeel, aangesien hierdie stuk kode lê in die nietige opstelling (). Interessant genoeg, nie een van die kode vir hierdie projek gebruik die leemte -lus () van die arduino -kode nie, aangesien ek van plan is om slegs een keer afbeeldings te speel en te vertoon. As u natuurlik 'n herhalende volgorde wil hê, moet dit in die leemte -lus () -funksie geplaas word.
Stap 8: Omskakeling van die beelde na bitmaps
Die interessante deel van die projek is die proses om 'n beeld na 'n bitmap -skikking vir die OLED -skerm om te skakel volgens die pixeldigtheid daarvan. Hiervoor het ek die prefek -aanlynhulpmiddel gevind waarmee ons die aangepaste bitmaps kan genereer.
Die skakel vir hierdie aanlyn -toepassing is:
Danksy die wonderlike skeppers van hierdie toepassing, maak dit my werk baie makliker.
As u na die skakel gaan, moet u eers die prent oplaai waarvan u die bitmap wil skep. Een ding om hier op te let, is dat u prente moet kies wat nie veel kleurkontras bevat nie, maar probeer om by beelde met 'n paar soliede kleure te bly, sonder enige verloop om beter resultate te kry
Stap 9: Pas die resolusie aan volgens u skerm
In die volgende stap moet ons die grootte van die prent verander volgens die resolusie van die skerm. Vir ons OLED -skerm is dit 28 pixels breed en 64 pixels hoog, wat ek aangepas het soos in die prent getoon word. Pas die helderheidsdrempel aan om seker te maak dat die beeld aansienlik duidelik is (dit is waar die voordeel van die gebruik van beelde met soliede kleure in die spel kom, hoe meer kleurgradiënte, hoe minder beeldkwaliteit in monochroom vertoon word as dit met die helderheidsdrempel knoei).
Die volgende stap is om die prentjie op die skerm te plaas, terwyl die verhoudings ongeskonde bly en pas vir simmetrie waarvoor die opsies reeds bestaan. U kan hierdie opsies ondersoek om die gewenste beelduitset te kry. As verwysing kry u ook die wonderlike voorskou -opsie!
Stap 10: Genereer die bitmap -reeks
Nadat u die beeldparameters aangepas het, kies u in die volgende stap slegs die Arduino -kode as uitvoerformaat en klik op genereer om die gewenste bitmap -skikking te kry!
Daar! u het u beeld suksesvol omgeskakel na die gewenste bitmap -skikking. Ek het hierdie proses vir 'n totaal van 7 beelde gedoen en dit gestoor.
Stap 11: Wys die beelde as volgorde
Vir die vertoon van die beelde het ek die Arduino millis () -funksie gebruik om die tekenfunksie () te noem, wat basies 'n stel opdragte is om die skerm skoon te maak, teken die bitmap -skikking na die OLED en begin die skerm. Die belangrikste logika is dat die beeld na elke 3,5 sekondes verander word en die volgende prentjie vertoon word. 3.5 sekondes is nie 'n unieke nommer nie; ek het net agtergekom dat as ek die hele melodieduur deur 7 beelde deel, ongeveer 3,5 sekondes vir elke vertoning gekry het. U kan meer beelde hierby voeg en die vertoontyd vir elke prentjie verminder as u wil.
Die kodefragmente verduidelik hoe die funksies genoem word op grond van millis () -funksie.
Die hele bitmap -skikkings van die beelde word in die "pictures.h" -lêer gestoor
Stap 12: Die hele kode:
Hier deel ek die hele kode sodat julle almal kan speel en mee kan eksperimenteer!
As alles goed lyk, is dit tyd om dit op die bord te laai:)
Stap 13: Die resultate:
Soos u kan sien, was die beelde wonderlik! En so ook die melodie! Ek hoop dat u die video waarin die hele demonstrasie is, gekyk het.
Ek hoop dat hierdie weergawe van PUBG van Arduino 'n opwindende projek is vir al die spel- en elektroniese entoesiaste.
Deel asseblief u terugvoer in die kommentaar en deel voorstelle. Oorweeg ook om op my kanaal in te teken vir meer inhoud, aangesien dit deel uitmaak van die OLED -reeks waaraan ek werk. Laat weet my as u hierdie prettige projek bou:)
Tot volgende keer.