M5Stack Nybörjare: Plus 2 utnyttjar ljud- och displayfunktioner

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.

M5StickC PLUS2

M5StickC PLUS2

Visa produkt

  

Vad är M5StickC Plus2?

M5StickC Plus2 är ett kompakt utvecklingskort som använder ESP32-chipet (ESP32-PICO-V3-02), med en rad integrerade sensorer och kringutrustning. Denna design gör det mycket lämpligt för en mängd olika inbäddade applikationer. Dess huvudfunktioner inkluderar:
  • 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

Innan du börjar skriva kod, se till att du har följande utvecklingsverktyg installerade:
  1. Arduino IDE: Används för att skriva och ladda upp kod till M5StickC Plus2. Ladda ner från Arduinos officiella webbplats.

  2. M5StickC Plus2-biblioteket: Installera M5Stack-biblioteket i Arduino IDE för att använda dess tillhandahållna funktioner.

Mer information: Arduino IDE-inställning
 

Installera M5StickC Plus2-biblioteket

  1. Öppna Arduino IDE.

  2. Navigera till Tools > Board > Boards Manager.

  3. Sök efter M5StickC Plus2 och installera den senaste versionen av biblioteket.

Mer information:

 

Exempelprojekt: Visa text och spela ljud

Följande dokument presenterar ett enkelt exempelprojekt som illustrerar processen att visa text på M5StickC Plus2:s skärm samt att generera olika frekvenstoner via den integrerade högtalaren.
#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);
}


✔ Kopierat!

  

Kodförklaring

  1. Inkludera biblioteket  #include "M5StickCPlus2.h"

Detta uttalande inkluderar M5StickC Plus2-biblioteket, vilket möjliggör åtkomst till dess olika funktioner, såsom skärmkontroll och högtalaruppspelning.
  1. 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);
}

✔ Kopierat!

 

Skärminställningar:
  • 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).

Tonuppspelning:
  • 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.

Denna loop växlar kontinuerligt mellan toner med hög och låg frekvens och skapar rytmisk ljudåterkoppling.
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);
}

✔ Kopierat!

 

Projektutvidgning och tillämpningar

  1. Ljudåterkoppling och larmsystem
Genom att använda den inbyggda högtalaren kan olika ljudåterkopplings- och larmlösningar implementeras, såsom:
  • 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.

  1. Informationsvisning och interaktion
Genom att kombinera displayen kan rik informationspresentation och användarinteraktion uppnås:
  • 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.

  1. Bärbara enheter
På grund av sin kompakta storlek och rika funktioner är M5StickC Plus2 mycket lämplig som en kärnkomponent för 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

  1. Bekräfta objektnamn
Se till att du använder rätt objektnamn i din kod. Vanligtvis använder M5Stack-seriens bibliotek 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.
Beroende bibliotek:
  1. 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.

  1. Displayuppdatering

Efter att ha ritat innehåll på displayen, anropa alltid display() funktion för att uppdatera skärmen. Annars kanske det ritade innehållet inte visas på displayen.
  1. Felhantering

Inkludera lämpliga felhanteringsmekanismer för att säkerställa att enheten kan ge feedback och vidta nödvändiga åtgärder om initierings- eller körfel uppstår.
  1. Strömhantering

För batteridrivna projekt, hantera strömförbrukningen effektivt för att förlänga enhetens driftstid. Använd lågströmslägen eller optimera koden för att minska onödig energianvändning.

 

 

M5StickC Plus2-projekt

  

Rekommenderade artiklar

Vad är M5Stack?

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

 
Vi hoppas verkligen att den här artikeln gör det enklare för dig att lära känna M5StickC Plus2! Om du stöter på några problem under utvecklingen, tveka inte att kontakta vänliga gemenskaper för hjälp eller dela dina fantastiska projektresultat. Vi önskar dig lycka till på din spännande resa inom IoT och inbyggd utveckling!
  

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *

Sidopanel

Senaste inlägg

Denna sektion innehåller för närvarande inget innehåll. Lägg till innehåll i denna sektion med hjälp av sidofältet.

Registrera dig för vårt nyhetsbrev

Få den senaste informationen om våra produkter och specialerbjudanden.