Inhoudsopgave:
- Stap 1: Verzamel alle onderdelen
- Stap 2: Het OLED-scherm aansluiten
- Stap 3: De zoemer aansluiten
- Stap 4: Alle hardwareverbindingen voltooid
- Stap 5: De bibliotheek opnemen en weergaveprotocollen initialiseren
- Stap 6: De melodie van het themalied
- Stap 7: Het nummer afspelen tijdens het opstarten
- Stap 8: De afbeeldingen converteren naar bitmaps
- Stap 9: De resolutie aanpassen aan uw beeldscherm
- Stap 10: De bitmap-array genereren
- Stap 11: De afbeeldingen weergeven als reeks
- Stap 12: De hele code:
- Stap 13: De resultaten:
Video: PUBG-themalied + animatie met Arduino! 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Hallo daar en welkom bij deze leuke instructable! Ik hoop dat jullie allemaal gezond zijn en blijven. Dit kleine maar geweldige project gaat over het spelen van het PUBG-themalied en zelfs het maken van game-animaties met arduino.
De gebruikte componenten zijn zeer gemakkelijk verkrijgbaar en zeer eenvoudig te monteren op een stuk breadboard. Ik zal het hele bouw- en coderingsproces in deze instructable delen, blijf tot het einde!
Ik raad je ten zeerste aan om de video te bekijken om een idee te krijgen van het project:) Als je het leuk vindt, like en deel de video dan. Overweeg om je op mijn kanaal te abonneren als je mijn build leuk vindt. Bedankt!
Dus, zonder verder uitstel, laten we aan de slag gaan!
Stap 1: Verzamel alle onderdelen
De build bestaat voornamelijk uit een Arduino Nano die de belangrijkste kern is voor dit project. Je kunt alle andere Arduino-varianten gebruiken, zoals de populaire Arduino Uno, Arduino Pro Mini, Arduino Mega enz. Om de animaties en de afbeeldingen weer te geven, besloot ik te gaan voor een 0,96 inch OLED-scherm met een resolutie van 128 bij 64 pixels. Dit display kan worden gekoppeld aan de arduino met het I2C-protocol dat slechts twee draden nodig heeft voor gegevens en klok, waardoor het aantal verbindingen wordt verminderd en het project compacter wordt. Voor het spelen van de PUBG-themamelodie heb ik een 5V-zoemer gebruikt waarvan ik de positieve pin heb verbonden met digitale pin 6 van arduino en aarde gaat naar aarde van Arduino.
Dit is de lijst met onderdelen die nodig zijn voor het project:
- Arduino Nano (of een ander arduino-bord naar keuze)
- 0,96 inch OLED-displaymodule
- 5V zoemer
- Doorverbindingsdraden
- Breadboard
- Arduino programmeerkabel
Stap 2: Het OLED-scherm aansluiten
Er zijn in totaal 4 aansluitingen nodig om het OLED-scherm vanaf arduino aan te sluiten:
Vcc 5V van Arduino
Gnd Gnd van Arduino
SDA A4 van Arduino
SCK A5 van Arduino
Pins A4 en A5 van de arduino dienen voor meerdere doeleinden van analoge ingangen, evenals pinnen voor I2C-communicatie. Hier hebben we de pinnen voor het I2C-protocol gebruikt voor de interface met de weergavemodule.
De link naar de Adafruit-bibliotheek die in dit project wordt gebruikt:
Stap 3: De zoemer aansluiten
De 5V-zoemer heeft een positieve en negatieve voedingsklem.
Positieve pin D6 van Arduino (digitale pin 6) (u kunt elke digitale pin van de Arduino gebruiken)
Negatieve pin Gnd van Arduino
We gaan de gewenste toon creëren op digitale pin D6 waarop de zoemer de melodie zal spelen.
Stap 4: Alle hardwareverbindingen voltooid
Alle benodigde aansluitingen van het OLED-display en de zoemer zijn voltooid. Laten we nu verder gaan om het programmeeraspect van het project te begrijpen.
Stap 5: De bibliotheek opnemen en weergaveprotocollen initialiseren
Het hele programma is opgedeeld in 3 componenten:
- Het hoofdprogramma bestaande uit de initialisatie en de sequenties van beeldweergave en melodie
- "pitches.h" bestand bestaande uit de lijst met muzieknoten en de bijbehorende frequentie
- "pictures.h"-bestand dat bestaat uit bitmaps van de afbeeldingen die moeten worden weergegeven.
Het proces van het converteren van een afbeelding naar een bitmap-array voor OLED-weergave wordt in de komende stappen besproken.
Ik zal ook de volledige code bijvoegen, samen met deze instructable die je kunt gebruiken:)
Stap 6: De melodie van het themalied
Ik zocht op internet naar de basisnoten van het PUBG-themalied en voegde ze vervolgens toe aan de melodiereeks.
Door een aanzienlijke hoeveelheid tijd te besteden aan het spelen en opnieuw afspelen van de melodiereeks, heb ik vervolgens de tijdsduurarray gemaakt die betrekking heeft op hoe lang elke noot moet worden gespeeld. De combinatie van de melodie-array en de duur-array omvat de volledige informatie om het nummer af te spelen.
Stap 7: Het nummer afspelen tijdens het opstarten
Er zijn in totaal 63 noten die ik heb gebruikt om de melodiereeks te maken. Door een for-lus te gebruiken en door de noten- en duurreeks te bladeren met een vooraf bepaalde pauze tussen elke noot, wordt de hele reeks één keer gespeeld, omdat dit stuk code liegt in de lege setup(). Interessant is dat geen van de code voor dit project de void loop() van de Arduino-code gebruikt, omdat ik van plan ben afbeeldingen maar één keer af te spelen en weer te geven. Als je een herhalende reeks wilt, moet dat natuurlijk in de functie void loop() worden geplaatst.
Stap 8: De afbeeldingen converteren naar bitmaps
Het interessante deel van het project is het proces om een afbeelding om te zetten in een bitmap-array voor het OLED-scherm op basis van de pixeldichtheid. Hiervoor vond ik de perfecte online tool waarmee we de aangepaste bitmaps kunnen genereren.
De link voor deze online applicatie is:
Dankzij de geweldige makers van deze applicatie maakt dit mijn werk veel gemakkelijker.
Als je naar de link gaat, moet je eerst de afbeelding uploaden waarvan je de bitmap wilt maken. Een ding om hier op te merken is dat je moet proberen afbeeldingen te selecteren die niet veel kleurcontrast bevatten, probeer vast te houden aan afbeeldingen met een paar effen kleuren, zonder verloop om betere resultaten te krijgen
Stap 9: De resolutie aanpassen aan uw beeldscherm
In de volgende stap moeten we het formaat van de afbeelding aanpassen aan de schermresolutie. Voor ons OLED-scherm is het 28 pixels breed en 64 pixels hoog, wat ik heb aangepast zoals weergegeven in de afbeelding. Pas de helderheidsdrempel aan om ervoor te zorgen dat het beeld aanzienlijk helder is (dit is waar het voordeel van het gebruik van afbeeldingen met effen kleuren in het spel komt, hoe meer kleurovergangen, de beeldkwaliteit in monochrome weergave zal verslechteren omdat het de helderheidsdrempel verprutst).
De volgende stap is om de afbeelding op het scherm te laten passen, waarbij de verhoudingen intact blijven en de symmetrie wordt aangepast waarvoor de opties er al zijn. U kunt deze opties verkennen om de gewenste afbeeldingsuitvoer te krijgen. Ter referentie krijg je ook de geweldige preview-optie!
Stap 10: De bitmap-array genereren
Nadat u de afbeeldingsparameters hebt aangepast, selecteert u in de volgende stap gewoon Arduino-code als uitvoerformaat en klikt u op genereren om de gewenste bitmap-array te krijgen!
Daar! u hebt uw afbeelding met succes geconverteerd naar de gewenste bitmaparray. Ik heb dit proces voor in totaal 7 afbeeldingen gedaan en opgeslagen.
Stap 11: De afbeeldingen weergeven als reeks
Voor het weergeven van de afbeeldingen heb ik de Arduino millis()-functie gebruikt om de draw()-functie aan te roepen, wat in feite een reeks commando's is om het display te wissen, de bitmap-array naar de OLED te plotten en het display te initialiseren. De belangrijkste logica is dat na elke 3,5 seconden de afbeelding wordt gewijzigd en de volgende afbeelding wordt weergegeven. Nou, 3,5 seconden is geen uniek getal, ik kwam er net achter dat als ik de hele melodieduur deel door 7 afbeeldingen, ik ongeveer 3,5 seconden krijg voor elk scherm. U kunt hier meer afbeeldingen aan toevoegen en de weergavetijd voor elke afbeelding verkorten als u dat wilt.
De codefragmenten leggen uit hoe de functies worden aangeroepen op basis van de millis()-functie.
De volledige bitmap-arrays van de afbeeldingen worden opgeslagen in het bestand "pictures.h"
Stap 12: De hele code:
Hier deel ik de volledige code zodat jullie allemaal kunnen spelen en experimenteren!
Zodra alles in orde lijkt, is het tijd om het te uploaden naar het bord:)
Stap 13: De resultaten:
Zoals je kunt zien zijn de foto's prachtig geworden! En de melodie ook! Ik hoop dat je de video hebt gezien waarin de hele demonstratie aanwezig is.
Ik hoop dat deze Arduino-versie van PUBG een spannend project is voor alle game- en elektronische liefhebbers die er zijn.
Aarzel niet om uw feedback in de opmerkingen te delen en eventuele suggesties te delen. Overweeg ook om u op mijn kanaal te abonneren voor meer van dergelijke inhoud, aangezien dit een onderdeel is van de OLED-serie waaraan ik werk. Laat het me weten als je dit leuke project hebt gebouwd:)
Tot de volgende keer.
Aanbevolen:
Hoe een Battlebot te bouwen met karton en Arduino 7 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe een gevechtsbot te bouwen met karton en Arduino: Ik heb gevechtsbots gemaakt met behulp van de Arduino UNO en karton werd gebruikt om de lichamen te bouwen. Ik probeerde betaalbare benodigdheden te gebruiken en gaf de kinderen creatieve vrijheid bij het ontwerpen van hun gevechtsrobots. Battlebot ontvangt opdrachten van de draadloze controller
Hoe op IoT gebaseerde domotica te maken met NodeMCU-sensoren Besturingsrelais 14 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe op IoT gebaseerde huisautomatisering te maken met NodeMCU-sensoren Besturingsrelais: In dit op IoT gebaseerde project heb ik huisautomatisering gemaakt met Blynk en NodeMCU besturingsrelaismodule met realtime feedback. In de handmatige modus kan deze relaismodule worden bediend vanaf mobiel of smartphone en handmatige schakelaar. In de automatische modus is deze slimme
Hoe maak je een stopwatch met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een stopwatch met behulp van Arduino: dit is een zeer eenvoudige Arduino 16 * 2 lcd-scherm stopwatch ……….. Als je deze Instructable leuk vindt, abonneer je dan op mijn kanaal https://www.youtube.com /ZenoModiff
Hoe de GPS-module (NEO-6m) met Arduino te interfacen: 7 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe een GPS-module (NEO-6m) te interfacen met Arduino: In dit project heb ik laten zien hoe een GPS-module met Arduino UNO kan worden gekoppeld. De gegevens voor lengte- en breedtegraad worden weergegeven op het LCD-scherm en de locatie kan worden bekeken op de app.Lijst van materiaal Arduino Uno ==> $8 Ublox NEO-6m GPS-module ==> $15 16x
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e