introduzione
Con la rapida progressione dell'Internet delle Cose (IoT) e la proliferazione di dispositivi indossabili, c'è una crescente domanda da parte degli sviluppatori per schede di sviluppo che siano compatte, efficienti e ricche di funzionalità. L'M5StickC Plus2, un membro notevole della serie M5Stack, si distingue per il suo design compatto, integrazione multifunzionale e interfaccia user-friendly, rendendolo una scelta esemplare per una vasta gamma di progetti. Questo articolo mira a chiarire le caratteristiche principali del M5StickC Plus2 e fornire indicazioni su come sfruttare le sue funzionalità integrate di altoparlante e display per eseguire la riproduzione audio e la visualizzazione di testo all'interno di un progetto campione.
Che cos'è M5StickC Plus2?
-
Design compatto: misura solo 54 mm × 54 mm, è facile da trasportare e integrare in vari progetti.
-
Display integrato: un display TFT a colori da 1,14 pollici che supporta più caratteri e display grafici.
-
Sensori multifunzionali: include, tra gli altri, un accelerometro, un giroscopio, sensori di temperatura e umidità, adatti a diversi scenari applicativi.
-
Altoparlante integrato: supporta la riproduzione audio, ideale per feedback sonoro e funzioni di allarme.
-
Interfacce avanzate: supporta GPIO, I2C, UART e altre interfacce di comunicazione, facilitando l'espansione delle periferiche.
-
Alimentato a batteria: la batteria integrata supporta il funzionamento a lungo termine, adatta per applicazioni mobili.

Impostazione dell'ambiente di sviluppo
-
Arduino IDE: utilizzato per scrivere e caricare codice su M5StickC Plus2. Scaricalo dal sito ufficiale di Arduino.
-
Libreria M5StickC Plus2: installa la libreria M5Stack nell'IDE Arduino per utilizzare le funzionalità fornite.

Installazione della libreria M5StickC Plus2
-
Aprire l'IDE Arduino.
-
Vai a
Strumenti>Bacheca>Gestione bacheche. -
Cerca
M5StickC Plus2e installa la versione più recente della libreria.

Progetto di esempio: visualizzazione di testo e riproduzione di suoni
#include "M5StickCPlus2.h"
impostazione nulla() {
// Retrieves device configuration.
cfg automatico = M5.config();
// Initializes the M5StickC Plus2.
StickCP2.begin(cfg);
// Rotates the display
StickCP2.Display.setRotation(1);
// sets text color to green
StickCP2.Display.setTextColor(VERDE);
// 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("Test del cicalino", StickCP2.Display.width() / 2,
StickCP2.Display.height() / 2);
}
ciclo vuoto() {
// Play a 10,000 Hz tone for 100 milliseconds
StickCP2.Altoparlante.tono(10000, 100);
// Delay for 1 second
ritardo(1000);
// Play a 4,000 Hz tone for 20 milliseconds
StickCP2.Altoparlante.tono(4000, 20);
// Delay for 1 second
ritardo(1000);
}
Spiegazione del codice
-
Inclusa la Biblioteca
#include "M5StickCPlus2.h"
-
impostare()Funzione
impostazione nulla() {
// Retrieves device configuration.
cfg automatico = M5.config();
// Initializes the M5StickC Plus2.
StickCP2.begin(cfg);
// Rotates the display
StickCP2.Display.setRotation(1);
// sets text color to green
StickCP2.Display.setTextColor(VERDE);
// 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("Test del cicalino", StickCP2.Display.width() / 2,
StickCP2.Display.height() / 2);
}
-
Rotazione:
setRotation(1)ruota il display di 90 gradi per adattarlo all'orientamento fisico del dispositivo. -
Colore testo:
setTextColor(GREEN)imposta il colore del testo su verde. -
Allineamento del testo:
setTextDatum(middle_center)centra l'allineamento del testo. -
Carattere e dimensione: utilizza il carattere
Orbitron_Light_24e imposta la dimensione del testo su 1. -
Testo visualizzato: visualizza "Buzzer Test" al centro dello schermo.
-
Aggiorna visualizzazione: richiama
display()per aggiornare la visualizzazione con il contenuto disegnato.
3. ciclo continuo() Funzione
StickCP2.Altoparlante.tono(10000, 100);-
10000: questo parametro rappresenta solitamente la frequenza del tono in Hertz (Hz ). Una frequenza di 10.000 Hz è un suono acuto, vicino al limite superiore dell'udito umano. -
100: questo parametro rappresenta in genere la durata del tono in millisecondi (ms). Pertanto, il tono verrà riprodotto per 100 millisecondi (0,1 secondi).
-
Riproduce un tono ad alta frequenza da 10.000 Hz per 100 millisecondi.
-
Ritardi per 1 secondo.
-
Riproduce un tono a frequenza più bassa da 4.000 Hz per 20 millisecondi.
-
Ritarda per un altro 1 secondo.
ciclo vuoto() {
// Play a 10,000 Hz tone for 100 milliseconds
StickCP2.Altoparlante.tono(10000, 100);
// Delay for 1 second
ritardo(1000);
// Play a 4,000 Hz tone for 20 milliseconds
StickCP2.Altoparlante.tono(4000, 20);
// Delay for 1 second
ritardo(1000);
}
Espansione del progetto e applicazioni
-
Feedback sonoro e sistemi di allarme
-
Avvisi di notifica: riproduci suoni per avvisare gli utenti di eventi specifici.
-
Sistemi di allarme: emettono toni ad alta frequenza per avvisare gli utenti di condizioni anomale.
-
Giochi interattivi: crea semplici effetti sonori di gioco utilizzando frequenze e durate diverse.
-
Visualizzazione e interazione delle informazioni
-
Visualizzazione dati in tempo reale: mostra i dati del sensore in tempo reale come temperatura e umidità.
-
Interfacce utente: crea semplici menu e pulsanti per l'interazione dell'utente attraverso il display.
-
Animazioni e grafica: visualizza grafica dinamica o animazioni per migliorare l'attrattiva visiva dei progetti.
-
Dispositivi indossabili
-
Monitoraggio della salute: combina i sensori per monitorare i dati sulla salute come la frequenza cardiaca e i passi e visualizzare le informazioni.
-
Braccialetti intelligenti: implementa promemoria informativi e semplici interazioni utilizzando il display e l'altoparlante.
-
Fitness Tracker: registra e visualizza i dati degli esercizi in tempo reale attraverso il display.
Considerazioni e suggerimenti per l'ottimizzazione
-
Conferma i nomi degli oggetti
M5 come oggetto principale. Se la libreria utilizza effettivamente StickCP2, fare riferimento alla documentazione ufficiale per confermarne l'utilizzo. Se necessario, sostituisci StickCP2 con M5 come mostrato nel codice di esempio.-
M5Unificato: https://github.com/m5stack/M5Unified
-
M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
-
Prestazioni degli altoparlanti
-
Gamma di frequenza: assicurati che le frequenze che intendi riprodurre rientrino nella gamma supportata dall'altoparlante. Frequenze estremamente alte o basse possono causare distorsioni del suono o potrebbero non essere udibili.
-
Controllo volume: se la libreria supporta il controllo volume, regola il volume secondo necessità per evitare che i suoni siano troppo forti o troppo deboli.
-
Aggiorna visualizzazione
display() funzione per aggiornare lo schermo. In caso contrario, il contenuto disegnato potrebbe non essere visualizzato sul display.-
Gestione degli errori
-
Gestione energetica
Progetto M5StickC Plus2
Altoparlante Bluetooth M5StickC – OpenELAB
Progetto Mini Slot Machine con M5StickC Plus2
Articoli consigliati
Come accendo e spengo il mio M5StickC PLUS2?
Qual è la differenza tra M5StickC PLUS e PLUS2?
Costruisci un sistema di rilevamento della velocità della bicicletta
Principiante M5Stack: masterizzazione di M5Burner
M5Stack Principiante: Guida per l'utente del pulsante PLUS2
Principiante M5Stack: funzionalità a infrarossi PLUS2
Progetto per principianti M5Stack: implementa una funzione di controllo remoto
