Sadržaj:

PUBG tematska pjesma+animacija s Arduinom!: 13 koraka (sa slikama)
PUBG tematska pjesma+animacija s Arduinom!: 13 koraka (sa slikama)

Video: PUBG tematska pjesma+animacija s Arduinom!: 13 koraka (sa slikama)

Video: PUBG tematska pjesma+animacija s Arduinom!: 13 koraka (sa slikama)
Video: Disneyland Paris - Complete Walkthrough with Rides - 4K - with Captions 2024, Studeni
Anonim
Image
Image
Okupljanje svih dijelova
Okupljanje svih dijelova

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

Okupljanje svih dijelova
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:

  1. Arduino Nano (ili bilo koja druga arduino ploča po vašem izboru)
  2. 0,96 inčni OLED modul zaslona
  3. Zujalica 5V
  4. Kratkospojne žice
  5. Oglasna ploča
  6. Arduino kabel za programiranje

Korak 2: Povezivanje OLED zaslona

Povezivanje OLED zaslona
Povezivanje OLED zaslona
Povezivanje OLED zaslona
Povezivanje OLED zaslona
Povezivanje OLED zaslona
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

Povezivanje zujalice
Povezivanje zujalice
Povezivanje zujalice
Povezivanje 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 hardverske veze su dovršene
Sve hardverske veze su dovršene
Sve hardverske veze su dovršene
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

Uključujući knjižnicu i inicijalizaciju protokola prikaza
Uključujući knjižnicu i inicijalizaciju protokola prikaza

Cijeli program podijeljen je u 3 komponente:

  1. Glavni program koji se sastoji od inicijalizacije i sekvenci prikaza slike i melodije
  2. "pitches.h" datoteka koja se sastoji od popisa glazbenih nota i pripadajuće frekvencije
  3. 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

Melodija tematske pjesme
Melodija tematske pjesme
Melodija tematske pjesme
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

Reproduciranje pjesme tijekom pokretanja
Reproduciranje 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

Pretvaranje slika u bitmape
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

Podešavanje razlučivosti prema zaslonu
Podešavanje razlučivosti 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

Generiranje bitmap niza
Generiranje bitmap niza

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

Prikazivanje slika kao slijeda
Prikazivanje slika kao slijeda
Prikazivanje slika kao slijeda
Prikazivanje slika kao slijeda
Prikazivanje slika kao slijeda
Prikazivanje 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:

Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
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: