Talaan ng mga Nilalaman:

Kanta ng Tema sa PUBG + Animation With Arduino !: 13 Hakbang (na may Mga Larawan)
Kanta ng Tema sa PUBG + Animation With Arduino !: 13 Hakbang (na may Mga Larawan)

Video: Kanta ng Tema sa PUBG + Animation With Arduino !: 13 Hakbang (na may Mga Larawan)

Video: Kanta ng Tema sa PUBG + Animation With Arduino !: 13 Hakbang (na may Mga Larawan)
Video: Theme Song | Ben 10: Omniverse | Cartoon Network 2024, Nobyembre
Anonim
Image
Image
Pagtitipon ng Lahat ng Mga Bahagi.
Pagtitipon ng Lahat ng Mga Bahagi.

Kumusta doon at maligayang pagdating sa nakakatuwang tagubilin na ito! Inaasahan kong lahat kayo ay maayos at mananatiling malusog. Ang maliit ngunit kamangha-manghang proyekto ay tungkol sa pag-play ng kanta sa tema ng PUBG at kahit na paglikha ng ilang mga animasyon ng laro gamit ang arduino.

Ang mga ginamit na sangkap ay napakadali magagamit at napakadaling magtipun-tipon sa isang piraso ng breadboard. Ibabahagi ko ang buong proseso ng pagbuo at pag-coding sa itinuro na ito, dumikit hanggang sa wakas!

Lubos kong iminumungkahi na panoorin mo ang video upang makakuha ng isang ideya ng proyekto:) Kung nais mo ito pagkatapos ay gusto at ibahagi ang video. Isaalang-alang ang pag-subscribe sa aking channel kung nasisiyahan ka sa aking build. Salamat!

Kaya, nang walang anumang karagdagang pagkaantala, magsimula na tayo!

Hakbang 1: Pagtitipon ng Lahat ng Mga Bahagi.

Pagtitipon ng Lahat ng Mga Bahagi.
Pagtitipon ng Lahat ng Mga Bahagi.

Pangunahing binubuo ang build ng isang Arduino Nano na siyang pangunahing core para sa proyektong ito. Maaari mong gamitin ang anumang iba pang mga variant ng Arduino tulad ng sikat na Arduino Uno, Arduino Pro Mini, Arduino Mega atbp. Upang maipakita ang mga animasyon at mga imahe, nagpasya akong pumunta sa isang 0.96 inch OLED display na may resolusyon na 128 by 64 pixel. Ang display na ito ay maaaring maging interface sa arduino gamit ang I2C protocol na nangangailangan ng dalawang wires para sa data at orasan, sa gayon binabawasan ang bilang ng mga koneksyon at ginagawang mas siksik ang proyekto. Para sa pag-play ng melody na tema ng PUBG Gumamit ako ng isang 5V buzzer kung saan kinonekta ko ang positibong pin na may digital pin 6 ng arduino at ang ground ay napupunta sa ground ng Arduino.

Ito ang listahan ng mga bahagi na kinakailangan para sa proyekto:

  1. Arduino Nano (o anumang iba pang board ng arduino na iyong pinili)
  2. 0.96 Inch OLED display module
  3. 5V buzzer
  4. Jumper wires
  5. Breadboard
  6. Arduino programming cable

Hakbang 2: Pagkonekta sa Up ng OLED Display

Pagkonekta sa OLED Display
Pagkonekta sa OLED Display
Pagkonekta sa OLED Display
Pagkonekta sa OLED Display
Pagkonekta sa OLED Display
Pagkonekta sa OLED Display

Isang kabuuan ng 4 na koneksyon ang kinakailangan para maikonekta ang display na OLED mula sa arduino:

Vcc 5V ng Arduino

Gnd Gnd ng Arduino

SDA A4 ng Arduino

SCK A5 ng Arduino

Ang Pins A4 at A5 ng arduino ay nagsisilbi ng maraming layunin ng mga analog input pati na rin ang mga pin para sa komunikasyon ng I2C. Narito na ginamit namin ang mga pin para sa I2C protocol para sa interfacing sa display module.

Ang link sa Adafruit library na ginamit sa proyektong ito:

Hakbang 3: Pagkonekta sa Buzzer

Kumokonekta sa Buzzer
Kumokonekta sa Buzzer
Kumokonekta sa Buzzer
Kumokonekta sa Buzzer

Ang 5V buzzer ay may positibo at negatibong supply terminal.

Positibong pin D6 ng Arduino (digital pin 6) (maaari mong gamitin ang anumang digital pin ng arduino)

Negatibong pin Gnd ng Arduino

Lilikha kami ng ninanais na tono sa digital pin D6 kung saan patugtugin ng buzzer ang himig.

Hakbang 4: Kumpleto ang Lahat ng Mga Koneksyon sa Hardware.

Nakumpleto ang Lahat ng Mga Koneksyon sa Hardware.
Nakumpleto ang Lahat ng Mga Koneksyon sa Hardware.
Kumpleto ang Lahat ng Mga Koneksyon sa Hardware.
Kumpleto ang Lahat ng Mga Koneksyon sa Hardware.

Lahat ng kinakailangang koneksyon ng OLED display at buzzer ay kumpleto na. Ngayon sige nating maunawaan ang aspeto ng pag-program ng proyekto..

Hakbang 5: Kasama ang Library at Initializing Display Protocols

Kasama ang Library at Initializing Display Protocols
Kasama ang Library at Initializing Display Protocols

Ang buong programa ay na-hiwalay sa 3 mga bahagi:

  1. Ang pangunahing programa na binubuo ng pagsisimula at mga pagkakasunud-sunod ng pagpapakita ng imahe at himig
  2. Ang "pitches.h" na file na binubuo ng listahan ng mga tala ng musikal at ang kaugnay na dalas
  3. Ang "pictures.h" na file na binubuo ng mga bitmap ng mga imaheng maipakita.

Ang proseso ng kung paano i-convert ang isang imahe sa isang bitmap array para sa OLED display ay tinalakay sa mga paparating na hakbang.

Ikakabit ko rin ang buong code kasama ang itinuturo na ito na magagamit mo:)

Hakbang 6: Ang Theme Song Melody.

Ang Theme Song Melody.
Ang Theme Song Melody.
Ang Theme Song Melody.
Ang Theme Song Melody.

Tumingin ako sa internet para sa mga pangunahing tala na naglalaman ng awit na tema ng PUBG at pagkatapos ay idinagdag ang mga ito sa hanay ng himig.

Sa pamamagitan ng paggastos ng isang malaking halaga ng oras sa pag-play at pag-replay ng pagkakasunud-sunod ng himig, nilikha ko ang hanay ng tagal ng oras na nababahala sa kung gaano katagal kailangang i-play ang bawat tala. Ang kumbinasyon ng melody array at ang tagal ng array ay sumasama sa kumpletong impormasyon upang i-play ang kanta.

Hakbang 7: Pagpatugtog ng Kanta Habang Nagsisimula.

Pinatugtog ang Kanta Habang Nagsisimula.
Pinatugtog ang Kanta Habang Nagsisimula.

Mayroong isang kabuuang 63 tala na ginamit ko upang mabuo ang pagkakasunud-sunod ng himig. Gumagamit ng isang para sa loop at umuulit sa pamamagitan ng mga tala at tagal ng hanay na may paunang natukoy na pag-pause sa pagitan ng bawat tala, ang buong pagkakasunud-sunod ay nilalaro nang isang beses, dahil ang piraso ng code na ito ay namamalagi. sa walang bisa na pag-setup (). Kapansin-pansin, wala sa code para sa proyektong ito ang gumagamit ng void loop () ng arduino code dahil balak kong maglaro at magpakita ng mga imahe nang isang beses lamang. Siyempre kung nais mo ang isang paulit-ulit na pagkakasunud-sunod pagkatapos ay kailangang mailagay sa void loop () na pagpapaandar.

Hakbang 8: Pag-convert ng Mga Imahe sa Bitmaps.

Pag-convert ng Mga Imahe sa Bitmaps.
Pag-convert ng Mga Imahe sa Bitmaps.

Ngayon, ang kagiliw-giliw na bahagi ng proyekto ay ang proseso upang mai-convert ang isang imahe sa isang bitmap array para sa OLED display ayon sa density ng pixel. Para sa mga ito natagpuan ko ang prefect online na tool na nagbibigay-daan sa amin upang makabuo ng pasadyang mga bitmap.

Ang link para sa online na application na ito ay:

Salamat sa kamangha-manghang mga tagalikha ng application na ito, ginagawang mas madali ang aking gawain.

Sa pagpunta sa link kailangan mo munang i-upload ang imahe na nais mong likhain ang bitmap. Ang isang bagay na dapat tandaan dito ay dapat mong subukan na pumili ng mga imahe na walang maraming kaibahan ng kulay dito, subukang dumikit sa mga imahe na may ilang mga solidong kulay, nang walang anumang mga gradient upang makakuha ng mas mahusay na mga resulta

Hakbang 9: Pagsasaayos ng Resolusyon Ayon sa Iyong Display

Pagsasaayos ng Resolusyon Ayon sa Iyong Display
Pagsasaayos ng Resolusyon Ayon sa Iyong Display

Sa susunod na hakbang, kailangan nating baguhin ang laki sa imahe ayon sa paglabas ng resolusyon sa display. Para sa aming OLED display, 28 pixel ang lapad nito at 64 pixel ang taas, na naayos ko tulad ng ipinakita sa imahe. Isaayos ang threshold ng ningning upang matiyak na ang imahe ay malinaw na malinaw (ito ay kung saan ang kalamangan ng paggamit ng mga imahe na may solidong kulay ay maglaro, mas maraming mga gradient ng kulay, ang kalidad ng imahe sa monochrome display ay magpapasama habang gumugulo ito sa threshold ng ilaw).

Susunod na hakbang ay upang magkasya ang imahe sa screen na pinapanatili ang mga sukat na buo at pag-aayos para sa mahusay na proporsyon kung saan naroroon na ang mga pagpipilian. Maaari mong tuklasin ang mga pagpipiliang ito upang makuha ang nais na output ng imahe. Para sa sanggunian makakakuha ka rin ng kamangha-manghang pagpipilian ng preview!

Hakbang 10: Pagbubuo ng Bitmap Array.

Bumubuo ng Bitmap Array.
Bumubuo ng Bitmap Array.

Matapos ayusin ang mga parameter ng imahe, sa susunod na hakbang piliin lamang ang Arduino code bilang output format at i-click ang bumuo upang makuha ang nais na bitmap array!

Ayan! matagumpay mong na-convert ang iyong imahe sa nais na bitmap array. Nagawa ko ang prosesong ito para sa isang kabuuang 7 mga imahe at nai-save ang mga ito.

Hakbang 11: Pagpapakita ng Mga Imahe Bilang Sequence

Pagpapakita ng Mga Imahe Bilang Sequence
Pagpapakita ng Mga Imahe Bilang Sequence
Pagpapakita ng Mga Imahe Bilang Sequence
Pagpapakita ng Mga Imahe Bilang Sequence
Pagpapakita ng Mga Imahe Bilang Sequence
Pagpapakita ng Mga Imahe Bilang Sequence

Para sa pagpapakita ng mga imaheng ginamit ko ang pagpapaandar ng Arduino millis () upang tawagan ang paggana ng () paggana na karaniwang isang hanay ng mga utos upang i-clear ang display, balangkas ang bitmap array sa OLED at isimulan ang pagpapakita. Ang pangunahing lohika ay na pagkatapos ng bawat 3.5 segundo, ang imahe ay nabago at ang susunod na imahe ay ipinapakita. Sa gayon, ang 3.5 segundo ay hindi isang natatanging numero, naisip ko lamang na kung hahatiin ko ang buong tagal ng himig ng 7 mga imahe nakakuha ako ng halos 3.5 segundo para sa bawat display. Maaari kang magdagdag ng higit pang mga imahe dito at bawasan ang oras ng pagpapakita para sa bawat imahe kung nais mo.

Ipinapaliwanag ng mga snippet ng code kung paano tinawag ang mga pagpapaandar batay sa paggana ng millis ().

Ang buong mga array ng bitmap ng mga imahe ay nakaimbak sa file na "pictures.h"

Hakbang 12: Ang Buong Code:

Narito ibinabahagi ko ang buong code para sa iyo lahat upang makapaglaro at mag-eksperimento!

Kapag ang lahat ay mukhang maayos na oras na upang i-upload ito sa board:)

Hakbang 13: Ang Mga Resulta:

Ang Mga Resulta
Ang Mga Resulta
Ang Mga Resulta
Ang Mga Resulta
Ang Mga Resulta
Ang Mga Resulta
Ang Mga Resulta
Ang Mga Resulta

Tulad ng nakikita mo ang mga imahe ay naging mahusay! At gayun din ang himig! Inaasahan kong napanood mo ang video kung saan naroroon ang buong demonstrasyon.

Inaasahan kong ang bersyon ng PUBG na ito ng Arduino ay isang nakagaganyak na proyekto para sa lahat ng mga laro at mga mahilig sa elektronikong naroon.

Mangyaring huwag mag-atubiling ibahagi ang iyong puna sa mga komento at magbahagi ng anumang mga mungkahi. Gayundin, isaalang-alang ang pag-subscribe sa aking channel para sa mas maraming naturang nilalaman dahil ito ay bahagi ng seryeng OLED na aking pinagtatrabahuhan. Ipaalam sa akin kung bumuo ka ng masayang proyekto:)

Hanggang sa muli.

Inirerekumendang: