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, Juli
Anonim
Image
Image
Okupljanje svih delova
Okupljanje svih delova

Pozdrav i dobrodošli u ovu zabavnu nastavu! Nadam se da ste svi dobro i da ste zdravi. Ovaj mali, ali nevjerojatan projekt govori o sviranju PUBG tematske pjesme, pa čak i stvaranju nekih animacija igara pomoću arduina.

Korištene komponente su vrlo lako dostupne i lako se sastavljaju na komadu matične ploče. Podijelit ću cijeli proces izgradnje i kodiranja u ovom uputstvu, držite se do kraja!

Toplo vam predlažem da pogledate video da biste stekli ideju o projektu:) Ako vam se sviđa onda lajkujte i podijelite video. Pretplatite se na moj kanal ako uživate u mojoj verziji. Hvala!

Dakle, bez daljnjeg odlaganja, počnimo!

Korak 1: Okupljanje svih dijelova

Okupljanje svih delova
Okupljanje svih delova

Izgradnja se uglavnom sastoji od Arduino Nano -a 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 za OLED ekran 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 na uzemljenje Arduina.

Ovo je lista dijelova potrebnih za projekt:

  1. Arduino Nano (ili bilo koja druga arduino ploča po vašem izboru)
  2. 0,96 inčni OLED displej modul
  3. 5V zujalica
  4. Žice za kratkospojnike
  5. Breadboard
  6. Arduino kabl za programiranje

Korak 2: Povezivanje OLED ekrana

Povezivanje OLED ekrana
Povezivanje OLED ekrana
Povezivanje OLED ekrana
Povezivanje OLED ekrana
Povezivanje OLED ekrana
Povezivanje OLED ekrana

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še namjena analognih ulaza, kao i pinovi za I2C komunikaciju. Ovdje smo koristili pinove za I2C protokol za povezivanje s zaslonskim modulom.

Veza do biblioteke Adafruit koja se koristi u ovom projektu:

Korak 3: Povezivanje 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 pin -u D6 stvorit ćemo željeni ton na koji će zvučni signal pustiti 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 ekrana i zujalice su potpune. Idemo sada na razumijevanje programskog aspekta projekta.

Korak 5: Uključivanje biblioteke i inicijalizacija protokola prikaza

Uključujući biblioteku i inicijalizaciju protokola prikaza
Uključujući biblioteku 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 liste muzičkih nota i pripadajuće frekvencije
  3. "pictures.h" datoteka koja se sastoji od bitmapa slika za prikaz.

U narednim koracima raspravlja se o procesu pretvorbe slike u bitmap niz za OLED ekran.

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 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 tokom pokretanja

Reproduciranje pjesme tokom pokretanja
Reproduciranje pjesme tokom pokretanja

Postoji ukupno 63 note koje sam koristio za sastavljanje sekvence melodija. 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: Pretvorite slike u bitmape

Pretvaranje slika u bitmape
Pretvaranje slika u bitmape

Zanimljiv dio projekta je proces pretvaranja slike u bitmap niz za OLED ekran u skladu s gustoćom piksela. Za to sam pronašao savršeni mrežni alat koji nam omogućava generiranje prilagođenih bitmapa.

Link za ovu internetsku aplikaciju je:

Zahvaljujući nevjerojatnim kreatorima ove aplikacije, ovo mi uvelike olakšava rad.

Odlaskom na vezu prvo morate otpremiti sliku koju želite stvoriti bitmapu. Jedna stvar koju treba napomenuti ovdje je da biste trebali pokušati odabrati slike koje nemaju veliki kontrast boja, pokušajte se držati slika s nekoliko čvrstih boja, bez nagiba za bolje rezultate

Korak 9: Podešavanje rezolucije prema vašem ekranu

Podešavanje rezolucije prema vašem ekranu
Podešavanje rezolucije prema vašem ekranu

U sljedećem koraku moramo promijeniti veličinu slike prema rezoluciji prikaza. Za naš OLED ekran širina je 28 piksela, a visina 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 u jednobojnom prikazu će se pogoršati jer se pokvari sa pragom svjetline).

Sljedeći korak je postavljanje slike na ekran zadržavajući netaknute proporcije i prilagođavanje simetrije za koju već postoje opcije. Možete istražiti ove opcije da 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. Uradio sam ovaj postupak za ukupno 7 slika i spremio ih.

Korak 11: Prikaz slika kao niza

Prikazivanje slika kao niza
Prikazivanje slika kao niza
Prikazivanje slika kao niza
Prikazivanje slika kao niza
Prikazivanje slika kao niza
Prikazivanje slika kao niza

Za prikaz slika koristio 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 osnovu funkcije millis ().

Cjelokupni niz bitmapa slika pohranjen je u datoteci "pictures.h"

Korak 12: Cijeli kod:

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 isto! Nadam se da ste pogledali video u kojem je prisutna cijela demonstracija.

Nadam se da je ova Arduino 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 ovo dio OLED serije na kojoj radim. Javite mi ako izgradite ovaj zabavni projekt:)

Do sljedećeg puta.

Preporučuje se: