Sadržaj:
- Korak 1: Okupljanje svih dijelova
- Korak 2: Povezivanje OLED zaslona
- Korak 3: Spajanje zujalice
- Korak 4: Sve hardverske veze su dovršene
- Korak 5: Uključivanje knjižnice i inicijalizacija protokola prikaza
- Korak 6: Melodija tematske pjesme
- Korak 7: Reprodukcija pjesme tijekom pokretanja
- Korak 8: Pretvaranje slika u bitmape
- Korak 9: Prilagodite razlučivost prema zaslonu
- Korak 10: Generiranje niza bitmapa
- Korak 11: Prikaz slika kao slijeda
- Korak 12: Cijeli kôd:
- Korak 13: Rezultati:
Video: PUBG tematska pjesma+animacija s Arduinom!: 13 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Pozdrav i dobrodošli u ovu zabavnu pouku! Nadam se da ste svi dobro i da ste zdravi. Ovaj mali, ali nevjerojatan projekt govori o sviranju tematske pjesme PUBG, pa čak i stvaranju animacija igara pomoću arduina.
Korištene komponente su vrlo lako dostupne i vrlo se lako sastavljaju na komadu matične ploče. Dijelit ću cijeli proces izgradnje i kodiranja u ovom uputstvu, držite se do kraja!
Toplo bih vam predložio da pogledate video kako biste stekli ideju o projektu:) Ako vam se sviđa onda lajkujte i podijelite video. Pretplatite se na moj kanal ako vam se sviđa moja verzija. Hvala!
Dakle, bez daljnjeg odlaganja, počnimo!
Korak 1: Okupljanje svih dijelova
Izgradnja se uglavnom sastoji od Arduino Nanoa koji je glavna jezgra ovog projekta. Možete koristiti bilo koje druge Arduino varijante poput popularnih Arduino Uno, Arduino Pro Mini, Arduino Mega itd. Za prikaz animacija i slika odlučio sam se s OLED zaslonom od 0,96 inča rezolucije 128 x 64 piksela. Ovaj zaslon može biti sučelje s arduinom s I2C protokolom koji zahtijeva samo dvije žice za podatke i sat, čime se smanjuje broj veza i čini projekt kompaktnijim. Za sviranje melodije teme PUBG koristio sam 5V zujalicu od koje sam spojio pozitivni pin s digitalnim pinom 6 arduina i uzemljenje ide uzemljenje Arduina.
Ovo je popis dijelova potrebnih za projekt:
- Arduino Nano (ili bilo koja druga arduino ploča po vašem izboru)
- 0,96 inčni OLED modul zaslona
- Zujalica 5V
- Kratkospojne žice
- Oglasna ploča
- Arduino kabel za programiranje
Korak 2: Povezivanje OLED zaslona
Za povezivanje OLED zaslona s arduina potrebno je ukupno 4 veze:
Vcc 5V iz Arduina
Gnd Gnd iz Arduina
SDA A4 iz Arduina
SCK A5 iz Arduina
Igle A4 i A5 arduina služe za višestruke namjene analognih ulaza, kao i pinovi za I2C komunikaciju. Ovdje smo koristili pinove za I2C protokol za povezivanje s zaslonskim modulom.
Veza na biblioteku Adafruit koja se koristi u ovom projektu:
Korak 3: Spajanje zujalice
Zvučni signal 5V ima pozitivni i negativni priključak za napajanje.
Pozitivni pin D6 Arduina (digitalni pin 6) (možete koristiti bilo koji digitalni pin arduina)
Negativni pin Gnd iz Arduina
Na digitalnom pinu D6 stvorit ćemo željeni ton na koji će zujalica svirati melodiju.
Korak 4: Sve hardverske veze su dovršene
Sve potrebne veze OLED zaslona i zujalice su potpune. Idemo sada na razumijevanje programskog aspekta projekta.
Korak 5: Uključivanje knjižnice i inicijalizacija protokola prikaza
Cijeli program podijeljen je u 3 komponente:
- Glavni program koji se sastoji od inicijalizacije i sekvenci prikaza slike i melodije
- "pitches.h" datoteka koja se sastoji od popisa glazbenih nota i pripadajuće frekvencije
- Datoteka "pictures.h" sastoji se od bitmapa slika za prikaz.
U sljedećim koracima raspravlja se o procesu pretvorbe slike u bitmap niz za OLED zaslon.
Također ću priložiti cijeli kôd zajedno s ovim uputstvom za upotrebu:)
Korak 6: Melodija tematske pjesme
Potražio sam na internetu osnovne note koje sadrže pjesmu teme PUBG, a zatim sam ih dodao u niz melodija.
Provodeći znatnu količinu vremena svirajući i ponavljajući melodijski niz, tada sam stvorio niz vremenskih trajanja koji se odnosi na to koliko dugo svaka nota mora biti odsvirana. Kombinacija niza melodija i niza trajanja sadrži potpune informacije za reprodukciju pjesme.
Korak 7: Reprodukcija pjesme tijekom pokretanja
Postoji ukupno 63 note koje sam koristio za sastavljanje melodije. Koristeći for petlju i ponavljajući se po notama i nizu trajanja s unaprijed određenom pauzom između svake note, cijeli niz se svira jednom, budući da ovaj komad koda leži u postavci void (). Zanimljivo je da niti jedan kod za ovaj projekt ne koristi void loop () arduino koda jer namjeravam reproducirati i prikazati slike samo jednom. Naravno, ako želite ponavljajući niz, to morate staviti u funkciju void loop ().
Korak 8: Pretvaranje slika u bitmape
Zanimljiv dio projekta je proces pretvaranja slike u niz bitmapa za OLED zaslon prema gustoći piksela. Za to sam pronašao savršeni mrežni alat koji nam omogućuje generiranje prilagođenih bitmapa.
Veza za ovu internetsku aplikaciju je:
Zahvaljujući nevjerojatnim kreatorima ove aplikacije, ovo mi uvelike olakšava rad.
Nakon odlaska na vezu prvo morate učitati sliku koju želite izraditi bitmapu. Ovdje valja napomenuti da biste trebali pokušati odabrati slike koje nemaju puno kontrasta boja, pokušajte se držati slika s nekoliko čvrstih boja, bez nagiba za bolje rezultate
Korak 9: Prilagodite razlučivost prema zaslonu
U sljedećem koraku moramo promijeniti veličinu slike prema rezoluciji zaslona. Za naš OLED zaslon, širok je 28 i visok 64 piksela, što sam prilagodio kako je prikazano na slici. Prilagodite prag svjetline kako biste bili sigurni da je slika znatno jasna (tu dolazi do izražaja prednost korištenja slika u čvrstim bojama. Što je više nagiba boja, kvaliteta slike na jednobojnom zaslonu će se pogoršati jer se pokvari sa pragom svjetline).
Sljedeći korak je postavljanje slike na zaslon zadržavajući netaknute proporcije i prilagođavanje simetrije za koju već postoje opcije. Možete istražiti ove opcije kako biste dobili željeni izlaz slike. Za referencu dobivate i nevjerojatnu opciju pregleda!
Korak 10: Generiranje niza bitmapa
Nakon podešavanja parametara slike, u sljedećem koraku samo odaberite Arduino kod kao izlazni format i kliknite generiraj da biste dobili željeni niz bitmapa!
Tamo! uspješno ste pretvorili svoju sliku u željeni niz bitmapa. Učinio sam ovaj postupak za ukupno 7 slika i spremio ih.
Korak 11: Prikaz slika kao slijeda
Za prikaz slika upotrijebio sam funkciju Arduino millis () za pozivanje funkcije draw () koja je u osnovi skup naredbi za brisanje prikaza, iscrtavanje niza bitmapa na OLED i inicijalizaciju prikaza. Glavna logika je da se nakon svakih 3,5 sekundi slika mijenja i prikazuje sljedeća slika. Pa, 3,5 sekunde nije jedinstven broj, samo sam shvatio da ako cijelo trajanje melodije podijelim sa 7 slika, dobivam otprilike 3,5 sekunde za svaki prikaz. Ovoj možete dodati još slika i po želji skratiti vrijeme prikaza za svaku sliku.
Isječci koda objašnjavaju kako se funkcije pozivaju na temelju funkcije millis ().
Cijeli niz bitmapa slika pohranjeni su u datoteci "pictures.h"
Korak 12: Cijeli kôd:
Ovdje dijelim cijeli kôd za sve vas da se igrate i eksperimentirate!
Kad sve izgleda dobro, vrijeme je da ga postavite na ploču:)
Korak 13: Rezultati:
Kao što vidite, slike su se pokazale odličnima! I melodija je isto! Nadam se da ste pogledali video u kojem je prisutna cijela demonstracija.
Nadam se da je ova Arduinova verzija PUBG -a uzbudljiv projekt za sve ljubitelje igara i elektronike.
Slobodno podijelite svoje povratne informacije u komentarima i podijelite sve prijedloge. Također razmislite o pretplati na moj kanal za više takvih sadržaja jer je to dio OLED serije na kojoj radim. Javite mi ako izgradite ovaj zabavni projekt:)
Do sljedećeg puta.
Preporučeni:
Bitmap animacija na SSD1331 OLED zaslonu (SPI) s Visuinom: 8 koraka
Bitmap animacija na SSD1331 OLED zaslonu (SPI) s Visuinom: U ovom ćemo vodiču prikazati i kretati se po bitmapskoj slici u jednostavnom obliku animacije na SSD1331 OLED zaslonu (SPI) s Visuinom. Pogledajte video
Animacija Con Keynote: 20 koraka
Animación Con Keynote: Selecciona cualquiera de las plantillas que te Presenta Keynote
Arduino LED gumb s gumbima koji pokreće obradu animacija: 36 koraka (sa slikama)
Arduino LED gumb s gumbima koji pokreće obradu animacija: Ovaj gumb s jastučićima izrađen je od PCB -a i drugih komponenti koje proizvodi Sparkfun. Vozi ga Arduino Mega. Svaki gumb lijep je i mekan i zadovoljavajući za pritiskanje, a unutra ima RGB LED! Koristila sam ga za kontrolu animacija
Kinegram ili analogni bumerang animacija: 9 koraka (sa slikama)
Kinegram ili analogni bumerang animacija: *- * Ovo uputstvo je na engleskom jeziku. Kliknite ovdje za nizozemsku verziju, *- * Deze Instructable je u het Engelsu. Kliknite na verziju za Nederlandse. Postoje dvije vrste ljudi: oni koji prihvaćaju svaku novu tehnologiju i oni koji čeznu za nostalgijom
Arduino Uno: Bitmap animacija na ILI9341 TFT ekranu osjetljivom na dodir s Visuinom: 12 koraka (sa slikama)
Arduino Uno: Bitmap animacija na ILI9341 TFT ekranu osjetljivom na dodir s Visuinom: TFT zasloni osjetljivi na dodir zasnovani na ILI9341 vrlo su popularni jeftini zaslonski zasloni za Arduino. Visuino već neko vrijeme ima podršku za njih, ali nikad nisam imao priliku napisati Tutorial o tome kako ih koristiti. Nedavno je, međutim, malo ljudi pitalo