Introduktion
Med den snabba utvecklingen av Internet of Things (IoT) och spridningen av bärbara enheter ökar efterfrågan från utvecklare på utvecklingskort som är kompakta, effektiva och funktionsrika. M5StickC Plus2, en framstående medlem i M5Stack-serien, utmärker sig genom sin kompakta design, multifunktionella integration och användarvänliga gränssnitt, vilket gör den till ett utmärkt val för en mängd olika projekt. Denna artikel syftar till att förklara de viktigaste funktionerna hos M5StickC Plus2 och ge vägledning om hur man använder dess integrerade högtalare och displayfunktioner för att spela upp ljud och visa text i ett exempelprojekt.
Vad är M5StickC Plus2?
-
Kompakt design: Mäter endast 54 mm × 54 mm, lätt att bära med sig och integrera i olika projekt.
-
Inbyggd display: En 1,14-tums färg TFT-display som stödjer flera typsnitt och grafiska visningar.
-
Multifunktionella sensorer: Inkluderar accelerometer, gyroskop, temperatur- och fuktighetssensorer med mera, lämpliga för olika applikationsscenarier.
-
Inbyggd högtalare: Stöder ljuduppspelning, idealisk för ljudfeedback och larmsignaler.
-
Rika gränssnitt: Stöder GPIO, I2C, UART och andra kommunikationsgränssnitt, vilket underlättar perifer expansion.
-
Batteridriven: Integrerat batteri som stödjer långvarig drift, lämpligt för mobila applikationer.
Ställa in utvecklingsmiljön
-
Arduino IDE: Används för att skriva och ladda upp kod till M5StickC Plus2. Ladda ner från Arduinos officiella webbplats.
-
M5StickC Plus2-biblioteket: Installera M5Stack-biblioteket i Arduino IDE för att använda dess tillhandahållna funktioner.

Installera M5StickC Plus2-biblioteket
-
Öppna Arduino IDE.
-
Navigera till
Tools
>Board
>Boards Manager
. -
Sök efter
M5StickC Plus2
och installera den senaste versionen av biblioteket.
Exempelprojekt: Visa text och spela ljud
#include "M5StickCPlus2.h" void setup() { // Retrieves device configuration. auto 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(GREEN); // centers the text StickCP2.Display.setTextDatum(middle_center); // 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("Buzzer Test", StickCP2.Display.width() / 2, StickCP2.Display.height() / 2); } void loop() { // Play a 10,000 Hz tone for 100 milliseconds StickCP2.Speaker.tone(10000, 100); // Delay for 1 second delay(1000); // Play a 4,000 Hz tone for 20 milliseconds StickCP2.Speaker.tone(4000, 20); // Delay for 1 second delay(1000); }
Kodförklaring
-
Inkludera biblioteket
#include "M5StickCPlus2.h"
-
setup()
Funktion
void setup() { // Retrieves device configuration. auto 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(GREEN); // centers the text StickCP2.Display.setTextDatum(middle_center); // 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("Buzzer Test", StickCP2.Display.width() / 2, StickCP2.Display.height() / 2); }
-
Rotation:
setRotation(1)
roterar skärmen 90 grader för att matcha enhetens fysiska orientering. -
Textfärg:
setTextColor(GREEN)
ställer in textfärgen till grön. -
Textjustering:
setTextDatum(middle_center)
centrerar textjusteringen. -
Teckensnitt och storlek: Använder teckensnittet
Orbitron_Light_24
och ställer in textstorleken till 1. -
Visa text: Visar "Buzzer Test" i mitten av skärmen.
-
Uppdatera skärm: Anropar
display()
för att uppdatera skärmen med det ritade innehållet.
3. loop()
Funktion
StickCP2.Speaker.tone(10000, 100);
-
10000
: Denna parameter representerar vanligtvis tonens frekvens i Hertz (Hz). En frekvens på 10 000 Hz är ett högfrekvent ljud, nära den övre gränsen för människans hörsel. -
100
: Denna parameter representerar vanligtvis tonens varaktighet i millisekunder (ms). Tonen spelas alltså i 100 millisekunder (0,1 sekunder).
-
Spelar en 10 000 Hz ton med hög frekvens i 100 millisekunder.
-
Väntar i 1 sekund.
-
Spelar en 4 000 Hz ton med lägre frekvens i 20 millisekunder.
-
Väntar i ytterligare 1 sekund.
void loop() { // Play a 10,000 Hz tone for 100 milliseconds StickCP2.Speaker.tone(10000, 100); // Delay for 1 second delay(1000); // Play a 4,000 Hz tone for 20 milliseconds StickCP2.Speaker.tone(4000, 20); // Delay for 1 second delay(1000); }
Projektutvidgning och tillämpningar
-
Ljudåterkoppling och larmsystem
-
Notifikationslarm: Spela ljud för att meddela användare om specifika händelser.
-
Larmsystem: Sänd ut högfrekventa toner för att varna användare om onormala tillstånd.
-
Interaktiva spel: Skapa enkla ljudeffekter för spel med olika frekvenser och varaktigheter.
-
Informationsvisning och interaktion
-
Realtidsdata visning: Visa realtidsdata från sensorer som temperatur och luftfuktighet.
-
Användargränssnitt: Skapa enkla menyer och knappar för användarinteraktion via displayen.
-
Animeringar och grafik: Visa dynamisk grafik eller animeringar för att förbättra projektens visuella attraktionskraft.
-
Bärbara enheter
-
Hälsoövervakning: Kombinera sensorer för att övervaka hälsodata som hjärtfrekvens och steg, och visa informationen.
-
Smartarmband: Implementera informationspåminnelser och enkla interaktioner med hjälp av display och högtalare.
-
Fitnessspårare: Registrera och visa träningsdata i realtid via displayen.
Överväganden och optimeringsförslag
-
Bekräfta objektnamn
M5
som huvudobjekt. Om biblioteket faktiskt använder StickCP2
, hänvisa till den officiella dokumentationen för att bekräfta dess användning. Om nödvändigt, ersätt StickCP2
med M5
som visas i exempel-koden.-
M5Unified: https://github.com/m5stack/M5Unified
-
M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
-
Högtalarprestanda
-
Frekvensområde: Se till att de frekvenser du tänker spela ligger inom högtalarens stödda område. Extremt höga eller låga frekvenser kan orsaka ljudförvrängning eller kanske inte höras alls.
-
Volymkontroll: Om biblioteket stödjer volymkontroll, justera volymen efter behov för att undvika att ljudet blir för högt eller för lågt.
-
Displayuppdatering
display()
funktion för att uppdatera skärmen. Annars kanske det ritade innehållet inte visas på displayen.-
Felhantering
-
Strömhantering
M5StickC Plus2-projekt
M5StickC Bluetooth-högtalare – OpenELAB
Mini Slot Machine-projekt med M5StickC Plus2
Rekommenderade artiklar
Hur slår jag på och av min M5StickC PLUS2?
Vad är skillnaden mellan M5StickC PLUS och PLUS2?
Bygg ett system för cykelhastighetsdetektion
M5Stack Nybörjare: M5Burner Bränning
M5Stack nybörjare: PLUS2 knappanvändarguide
M5Stack nybörjare: PLUS2 infraröda funktioner
M5Stack nybörjarprojekt: implementera en fjärrkontrollfunktion