M5Stack Begynder: Plus 2 udnytter lyd- og skærmfunktioner

Introduktion

Med den hurtige udvikling af Internet of Things (IoT) og udbredelsen af bærbare enheder er der en stigende efterspørgsel fra udviklere efter udviklingskort, der er kompakte, effektive og funktionsrige. M5StickC Plus2, et bemærkelsesværdigt medlem af M5Stack-serien, skiller sig ud gennem sit kompakte design, multifunktionelle integration og brugervenlige grænseflade, hvilket gør det til et fremragende valg til en bred vifte af projekter. Denne artikel har til formål at belyse de vigtigste funktioner i M5StickC Plus2 og give vejledning i, hvordan man udnytter dens integrerede højttaler og displayfunktioner til at afspille lyd og vise tekst i et eksempelprojekt.

M5StickC PLUS2

M5StickC PLUS2

Se produkt

  

Hvad er M5StickC Plus2?

M5StickC Plus2 er et kompakt udviklingskort, der bruger ESP32-chip (ESP32-PICO-V3-02), med en række integrerede sensorer og perifere enheder. Dette design gør det yderst velegnet til en bred vifte af indlejrede applikationer. Dets hovedfunktioner inkluderer:
  • Kompakt design: Måler kun 54 mm × 54 mm, nem at bære og integrere i forskellige projekter.

  • Indbygget display: Et 1,14-tommer farvet TFT-display der understøtter flere skrifttyper og grafiske visninger.

  • Multifunktionelle sensorer: Indeholder accelerometer, gyroskop, temperatur- og fugtighedssensorer med mere, velegnet til forskellige anvendelsesscenarier.

  • Indbygget højttaler: Understøtter lydafspilning, ideel til lydfeedback og alarmfunktioner.

  • Rige grænseflader: Understøtter GPIO, I2C, UART og andre kommunikationsgrænseflader, hvilket letter udvidelse af periferiudstyr.

  • Batteridrevet: Integreret batteri understøtter langvarig drift, velegnet til mobile applikationer.

  

Opsætning af udviklingsmiljøet

Før du begynder at skrive kode, skal du sikre dig, at du har følgende udviklingsværktøjer installeret:
  1. Arduino IDE: Bruges til at skrive og uploade kode til M5StickC Plus2. Download fra Arduino's officielle hjemmeside.

  2. M5StickC Plus2-bibliotek: Installer M5Stack-biblioteket i Arduino IDE for at udnytte de funktioner, det tilbyder.

Flere detaljer: Arduino IDE Opsætning
 

Installation af M5StickC Plus2-biblioteket

  1. Åbn Arduino IDE'en.

  2. Naviger til Tools > Board > Boards Manager.

  3. Søg efter M5StickC Plus2 og installer den nyeste version af biblioteket.

Flere detaljer:

 

Eksempelprojekt: Vise tekst og afspille lyde

Det følgende dokument præsenterer et enkelt eksempelprojekt, der illustrerer processen med at vise tekst på M5StickC Plus2's skærm samt generere forskellige frekvenstoner gennem den integrerede højttaler.
#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);
}


✔ Kopieret!

  

Kodeforklaring

  1. Inkludering af bibliotek  #include "M5StickCPlus2.h"

Denne erklæring inkluderer M5StickC Plus2-biblioteket, hvilket muliggør adgang til dets forskellige funktioner, såsom displaykontrol og højttalerafspilning.
  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);
}

✔ Kopieret!

 

Displaykonfiguration:
  • Rotation: setRotation(1) roterer displayet 90 grader for at matche enhedens fysiske orientering.

  • Tekstfarve: setTextColor(GREEN) sætter tekstfarven til grøn.

  • Tekstjustering: setTextDatum(middle_center) centrerer tekstjusteringen.

  • Font og størrelse: Bruger Orbitron_Light_24-fonten og sætter tekststørrelsen til 1.

  • Vis tekst: Viser "Buzzer Test" i midten af skærmen.

  • Opdater skærm: Kalder display() for at opdatere skærmen med det tegnede indhold.

3. loop() Funktion

StickCP2.Speaker.tone(10000, 100);
  • 10000: Denne parameter repræsenterer normalt frekvensen af tonen i Hertz (Hz). En frekvens på 10.000 Hz er en højfrekvent lyd, nær den øvre grænse for menneskelig hørelse.

  • 100: Denne parameter repræsenterer typisk varigheden af tonen i millisekunder (ms). Så tonen vil spille i 100 millisekunder (0,1 sekunder).

Toneafspilning:
  • Afspiller en 10.000 Hz højfrekvent tone i 100 millisekunder.

  • Forsinker i 1 sekund.

  • Afspiller en 4.000 Hz lavfrekvent tone i 20 millisekunder.

  • Forsinker i yderligere 1 sekund.

Denne løkke skifter kontinuerligt mellem høje og lave frekvenstoner og skaber rytmisk lydfeedback.
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);
}

✔ Kopieret!

 

Projektudvidelse og anvendelser

  1. Lydfeedback og alarmsystemer
Ved at bruge den indbyggede højttaler kan forskellige lydfeedback- og alarmfunktioner implementeres, såsom:
  • Notifikationsalarmer: Afspil lyde for at underrette brugere om specifikke begivenheder.

  • Alarmsystemer: Udsend højfrekvente toner for at advare brugere om unormale forhold.

  • Interaktive spil: Skab simple spillydeffekter ved hjælp af forskellige frekvenser og varigheder.

  1. Informationsvisning og interaktion
Ved at kombinere displayet kan rig informationspræsentation og brugerinteraktion opnås:
  • Realtids data visning: Vis realtids sensor data som temperatur og fugtighed.

  • Brugergrænseflader: Opret simple menuer og knapper til brugerinteraktion via displayet.

  • Animationer og grafik: Vis dynamisk grafik eller animationer for at forbedre projektets visuelle appel.

  1. Bærbare enheder
På grund af sin kompakte størrelse og rige funktioner er M5StickC Plus2 særdeles velegnet som en kernekomponent til bærbare enheder:
  • Sundhedsovervågning: Kombiner sensorer til at overvåge sundhedsdata som puls og skridt og vis informationen.

  • Smartarmbånd: Implementer informationspåmindelser og simple interaktioner ved hjælp af display og højttaler.

  • Fitness Trackere: Registrer og vis træningsdata i realtid via displayet.

  

Overvejelser og optimeringsforslag

  1. Bekræft objektnavne
Sørg for, at du bruger de korrekte objektnavne i din kode. Typisk bruger M5Stack-seriens biblioteker M5 som hovedobjekt. Hvis biblioteket faktisk bruger StickCP2, henvis til den officielle dokumentation for at bekræfte dets anvendelse. Udskift om nødvendigt StickCP2 med M5 som vist i eksempelkoden.
Afhængigt bibliotek:
  1. Højttalerens ydeevne

  • Frekvensområde: Sørg for, at de frekvenser, du har til hensigt at afspille, ligger inden for højttalerens understøttede område. Ekstremt høje eller lave frekvenser kan forårsage lydforvrængning eller være uhørlige.

  • Volumenkontrol: Hvis biblioteket understøtter volumenkontrol, juster lydstyrken efter behov for at undgå, at lydene bliver for høje eller for svage.

  1. Displayopdatering

Efter at have tegnet indhold på displayet, skal du altid kalde display() funktion til at opdatere skærmen. Ellers vises det tegnede indhold muligvis ikke på displayet.
  1. Fejlhåndtering

Indarbejd passende fejlbehandlingsmekanismer for at sikre, at enheden kan give feedback og tage nødvendige handlinger, hvis der opstår fejl under initialisering eller kørsel.
  1. Strømstyring

For batteridrevne projekter, håndter strømforbruget effektivt for at forlænge enhedens driftstid. Brug lavstrømsfunktioner eller optimer koden for at reducere unødvendigt energiforbrug.

 

 

M5StickC Plus2-projekt

  

Anbefalede Artikler

Hvad er M5Stack?

Hvordan tænder og slukker jeg min M5StickC PLUS2?

Hvad er forskellen mellem M5StickC PLUS og PLUS2?

Byg et cykelhastighedsdetekteringssystem

M5Stack Begynder: M5Burner Brænding

M5Stack begynder: PLUS2 knap brugervejledning

M5Stack begynder: PLUS2 infrarøde funktioner

M5Stack begynderprojekt: implementer en fjernbetjeningsfunktion

 
Vi håber virkelig, at denne artikel gør det nemmere for dig at lære M5StickC Plus2 at kende! Hvis du støder på udfordringer undervejs i din udvikling, så tøv ikke med at kontakte venlige fællesskaber for hjælp eller del dine fantastiske projektresultater. Vi ønsker dig held og lykke på din spændende rejse ind i IoT og embedded udvikling!
  

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

Sidebjælke

Seneste indlæg

Denne sektion indeholder i øjeblikket ikke noget indhold. Tilføj indhold til denne sektion ved hjælp af sidepanelet.

Tilmeld dig vores nyhedsbrev

Få de seneste oplysninger om vores produkter og særlige tilbud.