M5Stack Beginner: Plus 2 Gebruik van geluids- en weergavefuncties
Invoering
Met de snelle voortgang van het Internet der Dingen (IoT) en de proliferatie van draagbare apparaten, is er een toenemende vraag van ontwikkelaars naar ontwikkelborden die compact, efficiënt en rijk aan functies zijn. De M5StickC Plus2, een opmerkelijk lid van de M5Stack-serie, onderscheidt zich door zijn compacte ontwerp, multifunctionele integratie en gebruiksvriendelijke interface, waardoor het een voorbeeldige keuze is voor een diverse reeks projecten. Dit artikel heeft als doel de belangrijkste kenmerken van de M5StickC Plus2 toe te lichten en richtlijnen te bieden voor het benutten van de geïntegreerde luidspreker- en displayfunctionaliteiten om geluidsweergave en tekstweergave uit te voeren binnen een voorbeeldproject.
Wat is M5StickC Plus2?
-
Compact ontwerp: Met een afmeting van slechts 54 mm x 54 mm is hij gemakkelijk mee te nemen en te integreren in verschillende projecten.
-
Ingebouwd beeldscherm: een 1,14-inch TFT-kleurenscherm dat meerdere lettertypen en grafische weergaven ondersteunt.
-
Multifunctionele sensoren: Inclusief een versnellingsmeter, gyroscoop, temperatuur- en vochtigheidssensoren, geschikt voor diverse toepassingsscenario's.
-
Ingebouwde luidspreker: Ondersteunt het afspelen van audio, ideaal voor geluidsfeedback en alarmfuncties.
-
Rijke interfaces: ondersteunt GPIO, I2C, UART en andere communicatie-interfaces, waardoor uitbreiding van randapparatuur wordt vergemakkelijkt.
-
Batterijvoeding: Geïntegreerde batterij ondersteunt langdurig gebruik, geschikt voor mobiele toepassingen.
Het opzetten van de ontwikkelomgeving
-
Arduino IDE: gebruikt voor het schrijven en uploaden van code naar de M5StickC Plus2. Downloaden van de officiële Arduino-website.
-
M5StickC Plus2-bibliotheek: Installeer de M5Stack-bibliotheek in Arduino IDE om de meegeleverde functionaliteiten te gebruiken.
De M5StickC Plus2-bibliotheek installeren
-
Open de Arduino IDE.
-
Navigeer naar
Tools
>Bord
>Boards Manager
. -
Zoek naar
M5StickC Plus2
en installeer de nieuwste versie van de bibliotheek.
Voorbeeldproject: tekst weergeven en geluiden afspelen
#include "M5StickCPlus2.h" lege instellingen() { // Retrieves device configuration. automatische cfg = M5.config(); // Initializes the M5StickC Plus2. StickCP2.begin(cfg); // Rotates the display StickCP2.Display.setRotation(1); // sets text color to green StickCP2.Display.setTextColor (GROEN); // centers the text StickCP2.Display.setTextDatum(midden_midden); // uses the "Orbitron_Light_24" font StickCP2.Display.setTextFont(&fonts::Orbitron_Light_24); StickCP2.Display.setTextSize(1); // Displays the message "Power LED" at the screen’s center. StickCP2.Display.drawString("Zoemertest", StickCP2.Display.width() / 2, StickCP2.Display.hoogte() / 2); } lege lus() { // Play a 10,000 Hz tone for 100 milliseconds StickCP2.Luidsprekertoon(10000, 100); // Delay for 1 second vertraging(1000); // Play a 4,000 Hz tone for 20 milliseconds StickCP2.Luidsprekertoon(4000, 20); // Delay for 1 second delay(1000); }
Code-uitleg
-
Inclusief de Bibliotheek
#include "M5StickCPlus2.h"
-
instellen()
Functie
lege instellingen() { // Retrieves device configuration. automatische cfg = M5.config(); // Initializes the M5StickC Plus2. StickCP2.begin(cfg); // Rotates the display StickCP2.Display.setRotation(1); // sets text color to green StickCP2.Display.setTextColor (GROEN); // centers the text StickCP2.Display.setTextDatum(midden_midden); // uses the "Orbitron_Light_24" font StickCP2.Display.setTextFont(&fonts::Orbitron_Light_24); StickCP2.Display.setTextSize(1); // Displays the message "Power LED" at the screen’s center. StickCP2.Display.drawString("Zoemertest", StickCP2.Display.width() / 2, StickCP2.Display.hoogte() / 2); }
-
Rotatie:
setRotation(1)
draait het scherm 90 graden, zodat het overeenkomt met de fysieke oriëntatie van het apparaat. -
Tekstkleur:
setTextColor(GREEN)
stelt de tekstkleur in op groen. -
Tekstuitlijning:
setTextDatum(middle_center)
centreert de tekstuitlijning. -
Lettertype en grootte: gebruikt het lettertype
Orbitron_Light_24
en stelt de tekstgrootte in op 1. -
Tekst weergeven: Geeft "Zoemertest" weer in het midden van het scherm.
-
Weergave vernieuwen: Roept
display()
aan om de weergave bij te werken met de getekende inhoud.
3. lus()
Functie
StickCP2.Luidsprekertoon(10000, 100);
-
10000
: deze parameter vertegenwoordigt doorgaans de frequentie van de toon in Hertz (Hz ). Een frequentie van 10.000 Hz is een hoog geluid, dichtbij de bovengrens van het menselijk gehoor. -
100
: deze parameter vertegenwoordigt doorgaans de duur van de toon in milliseconden (ms). De toon speelt dus 100 milliseconden (0,1 seconde).
-
Speelt een hoogfrequente toon van 10.000 Hz af gedurende 100 milliseconden.
-
Vertragingen van 1 seconde.
-
Speelt een 4000 Hz toon met een lagere frequentie af gedurende 20 milliseconden.
-
Vertragingen van nog eens 1 seconde.
lege lus() { // Play a 10,000 Hz tone for 100 milliseconds StickCP2.Luidsprekertoon(10000, 100); // Delay for 1 second vertraging(1000); // Play a 4,000 Hz tone for 20 milliseconds StickCP2.Luidsprekertoon(4000, 20); // Delay for 1 second delay(1000); }
Projectuitbreiding en toepassingen
-
Geluidsfeedback en alarmsystemen
-
Meldingswaarschuwingen: speel geluiden af om gebruikers op de hoogte te stellen van specifieke gebeurtenissen.
-
Alarmsystemen: zenden hoogfrequente tonen uit om gebruikers te waarschuwen voor abnormale omstandigheden.
-
Interactieve games: maak eenvoudige geluidseffecten voor games met verschillende frequenties en duur.
-
Informatieweergave en interactie
-
Realtime gegevensweergave: toon realtime sensorgegevens zoals temperatuur en vochtigheid.
-
Gebruikersinterfaces: maak eenvoudige menu's en knoppen voor gebruikersinteractie via het display.
-
Animaties en afbeeldingen: geef dynamische afbeeldingen of animaties weer om de visuele aantrekkingskracht van projecten te verbeteren.
-
Draagbare apparaten
-
Gezondheid Monitoring: combineer sensoren om gezondheidsgegevens zoals hartslag en stappen te monitoren en de informatie weer te geven.
-
Slimme armbanden: implementeer informatieherinneringen en eenvoudige interacties met behulp van het display en de luidspreker.
-
Fitness Trackers: trainingsgegevens in realtime opnemen en weergeven via het display.
Overwegingen en optimalisatiesuggesties
-
Objectnamen bevestigen
M5
als het hoofdobject. Als de bibliotheek inderdaad StickCP2
gebruikt, raadpleeg dan de officiële documentatie om het gebruik ervan te bevestigen. Vervang indien nodig StickCP2
door M5
zoals weergegeven in de voorbeeldcode.-
M5Unified: https://github.com/m5stack/M5Unified
-
M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
-
Sprekerprestaties
-
Frequentiebereik: Zorg ervoor dat de frequenties die u wilt afspelen binnen het ondersteunde bereik van de luidspreker vallen. Extreem hoge of lage frequenties kunnen geluidsvervorming veroorzaken of zijn mogelijk niet hoorbaar.
-
Volumeregeling: als de bibliotheek volumeregeling ondersteunt, past u het volume indien nodig aan om te voorkomen dat geluiden te luid of te zacht worden.
-
Weergave vernieuwen
weergave()
functie om het scherm te verversen. Anders verschijnt de getekende inhoud mogelijk niet op het scherm.-
Foutafhandeling
-
Energiebeheer
M5StickC Plus2-project
M5StickC Bluetooth-luidspreker – OpenELAB
Mini-gokautomaatproject met M5StickC Plus2
Aanbevolen artikelen
Hoe kan ik mijn M5StickC PLUS2 in- en uitschakelen?
Wat is het verschil tussen M5StickC PLUS en PLUS2?
Bouw een fietssnelheidsdetectiesysteem
M5Stack-beginner: M5Burner branden
M5Stack-beginner: PLUS2-knop Gebruikershandleiding
M5Stack-beginner: PLUS2 infraroodmogelijkheden
M5Stack Beginner Project: implementeer een afstandsbedieningsfunctie