m5stackで組込み!!

Arduinoによるm5stack開発のいろいろと...

サンプルコード

バイブレーション機能

久しぶりの更新になりました。 今回はバイブレーション機能を触ってみました。 バイブレーション関数 サンプルコード バイブレーション関数 第一引数はAXPのLDO番号、第二引数は有効/無効(true/false) を設定します。 M5.Axp.SetLDOEnable( uint8_t number…

タッチによる色変え

前回はタッチによる座標を表示しましたが、 今回はタッチしたエリアに色を付けて表現してみました。m5stack-build.hatenablog.com サンプルコード サンプルコード #include <M5Core2.h> typedef struct TS_TOUCH_GAME { unsigned short usCoord_X; unsigned short usCoo</m5core2.h>…

タッチの座標

M5stack Core2の一番の魅力は画面をタッチして操作できること。 そのためにはまずタッチした座標を知る必要があります。 では座標を表示してみましょう。 座標位置を取得する関数 サンプルコード 座標位置を取得する関数 戻り値はTouchPoint_t構造体です。 …

何事もはじめは Hello world

どのプログラミング言語も大体は「Hello World」で始まってますよね。今回はm5stack Core2でもHello Worldを表示させてみよう。 「Hello World」の表示 「Hello World」の表示 サンプルコード #include <M5Core2.h> void setup() { // put your setup code here, to run</m5core2.h>…

音声合成 その3

前回に引き続き音声合成です。m5stack-build.hatenablog.com 音量の変更 サンプルコードだと音量が大きいので変更しました。 ただ、音が汚くなりました。。。 // hello_aquestalk.ino - AquesTalk pico for ESP32 #include "driver/i2s.h" #include "aquesta…

音声合成 その2

前回に引き続き音声合成です。m5stack-build.hatenablog.com 発話速度の変更 サンプルコードだと速度が速いので変更しました。 // hello_aquestalk.ino - AquesTalk pico for ESP32 #include "driver/i2s.h" #include "aquestalk.h" #define LEN_FRAME 32 ui…

スリープモード

今回は自動でスリープモードに入るような設定を作成しました。 deepSleepモード lightSleepモード サンプルコード deepSleepモード 名前の通り深いスリープです。スリープ復帰後にCPUは再起動されます。 M5.Power.deepSleep(SLEEP_SEC(5)); lightSleepモード…

ビープ音を出力

今回はビープ音を出力するプログラミングを作成しました。 音を鳴らすための初期化 音を鳴らすためのAPI サンプルコード 音を鳴らすための初期化 ビープ音関係の初期化はM5.begin()では行っていないのでこちらの関数で初期化しましょう。 私は初期化を忘れて…

twitterに投稿 その2

ソースを綺麗にしたので公開 メインファイル twitterライブラリ メインファイル #include <M5Stack.h> #include "WifiTwitter.h" WifiTwitter wifitwitter("YOUR_TOKEN"); void setup() { String config_ini; String ssid; String password; /* 初期化 */ M5.begin(); /</m5stack.h>…

BLEのサーバ側

今回はBLEのサーバ側を作成します。 BLEとは サーバ側とクライアント側 サンプルコード BLEとは Bluetooth Low Energyの略語です。 日本語で言うと低消費電力の通信モード、そのまんまですね。 サーバ側とクライアント側 BLEにはサーバとクライアントの役割…

SDからiniファイルの読込み

今回はSDカードにiniファイルを作ってWifiのSSIDとパスワードを管理するようにしました。 起動時のsetup()でiniファイルのSSIDとパスワードを読込む処理を作りました。 読込むiniファイル SDの中にsetフォルダを作ってconfig.iniファイルを格納します。 中身…

日本語表示

日本語表示に挑戦してみましょう。 フォントデータの作成 フォントデータのロード サンプルコード フォントデータの作成 まずは日本語フォントのデータを作成します。 こちらのサイトを参考にして作りました。Processingなるツールを使って作るみたいです。 …

ビットマップ画像の表示

ビットマップ画像の表示をしてみましょう。 ビットマップ画像とは サンプルコード JPEGとBMPの比較 ビットマップ画像とは 圧縮処理がされていない画像です。そのため、JPEGやPNGにくらべてサイズは大きいです。 BMP画像を表示する関数がこちらです。 引数にx…

シリアルプロッタ

今回はArduino IDEのシリアルプロッタ機能を紹介します。 シリアルプロッタ 1個のデータを表示 2個のデータを表示 シリアルプロッタ シリアル通信で送られてくる数値をグラフ表示します。 連続的な数値のデータを表示する際はすごい役に立つ機能ですね。シリ…

シリアルで受信した文字列の表示

シリアルモニタを使って受信したデータの表示をしてみましょう。 データ受信 サンプルコード データ受信 まずはシリアルでデータを受信しているか確認するための関数がこちらです。 戻り値にデータのバイト数を返します。 Serial.available(); 受信したデー…

QRコードの表示

TwitterのURLをQRコードで表示していみました。 QRコード関数 サンプルコード QRコード関数 QRコードで表示した文字列を設定します。 QRコードのバージョンを第5引数に設定します。 M5.Lcd.qrcode("QRコードにしたい文字列",50,10,220,6); サンプルコード #i…

JPEG画像の表示

SDカードのJPEG画像を表示してみました。 JPEGデータ描画関数 サンプルコード JPEGデータ描画関数 M5stackのディスプレイサイズと同じ大きさの画像を用意すれば、引数にファイルデバイスとファイルパスだけで綺麗に表示されます。 M5.Lcd.drawJpgFile(SD,"/i…

SDカードの中身を出力

SDカードの中身を表示出来ないかなーっと思って今回はやってみました。 ディレクトリの中身 サンプルコード ディレクトリの中身 今回はどうやればいいのかさっぱりわからなかったのでネットでググったらとても良いサイトがありました。 こちらを参考にしまし…

充電状態の表示

今回は充電状態を表示をしてみましょう。 初期化 充電状態を取得するAPI サンプルコード 初期化 初期化に関しては前々回の電池残量を表示したときの記事を参考にしてください。 m5stack-build.hatenablog.com 充電状態を取得するAPI 充電状態を取得する関数…

電池の残量を表示

今回は電池の残量を表示をしてみましょう。 初期化 サンプルコード 初期化 電源関係の初期化はM5.begin()では行っていないのでこちらの関数で初期化しましょう。 私は初期化を忘れてかなりの時間、正しい電池残量を取得出来てませんでした。。。 M5.Power.be…

温度と湿度

今回は温度と湿度の表示をしてみましょう。 用意するもの サンプルコード 用意するもの 今回はm5stackだけではできません!! この前買った充電台に温度湿度センサがついてるのでそれを使います。 m5stack-build.hatenablog.com サンプルコード Arduino IDE…

マルチタスクで実装

今回はマルチタスクの実装をしてみましょう。 タスクの生成 マルチコアを実行するコード タスクの生成 タスクを生成する関数はこちらです。 // タスク生成 xTaskCreatePinnedToCore(Clock_Time, "Clock_Time", 4096, NULL, 1, NULL, 0); xTaskCreatePinnedTo…

時刻の設定

今回は時刻を設定してみましょう。 NTPサーバによる時刻設定 setTimeによる時刻設定 時刻を設定するコード NTPサーバによる時刻設定 前回は起動時にNTPサーバから時刻情報を取ってきて表示してました。 m5stack-build.hatenablog.com setTimeによる時刻設定 …

時刻の表示

今回はWifiに接続して時刻を取ってきて表示するプログラミングを作成しました。 色々と詰め込んでしまいました。。。 wifiへの接続 時刻の取得 時刻を表示するコード wifiへの接続 まずは初期化して引数にSSIDとパスワードを設定します。 WiFi.begin(ssid, p…

SDカードへのアクセス

今回はSDカードへアクセスするプログラミングを作成しました。 SDカード用意 SDカードにアクセスする手順 テキストファイルの内容を表示するコード SDカード用意 M5stackでは16GB以下のmicroSDカードが使えるみたいなので、用意するときは容量に注意して購入…

バックライトの調整

前回からだいぶ時間が空いてしまいましたが、 今回はバックライトを調整するプログラミングを作成しました。 バックライトの設定 バックライトを設定するコード バックライトの設定 バックライトの設定関数をがこちらです。0~255まで設定可能です。 M5.Lcd.…

ボタンを使ってカウンタを作ってみた

今回はボタンを押して、押された回数をカウントするプログラミングを作成しました。 ボタンのイベントを取得する方法図形の表示 ボタンをカウントするコード ボタンのイベントを取得する方法図形の表示 各ボタンの関数がこちらです。ボタンが押されると戻り…

図形を使った簡単なプログラミング

今回は三角形、四角形、円をランダムで表示させるプログラミングを作成しました。 図形の表示 ランダムで図形を表示 次回 図形の表示 図形表示の方法はこちら m5stack-build.hatenablog.com ランダムで図形を表示 ランダム関数も使用して、どの図形を表示さ…

図形の表示

m5stackでは文字の表示だけでなく、図形を表示する関数も用意されています。今回は三角形、四角形、円を表示させてみよう。 図形の表示 次回 図形の表示 三角形はdrawTriangle()関数で三点のxy座標を指定します。 M5.Lcd.drawTriangle(22, 22, 69, 98, 51, 2…

文字位置の変更 ~Hello World!~

どのプログラミング言語も大体は「Hello World」で始まってますよね。今回はm5stackでもHello Worldを表示させてみよう。 文字位置の指定 次回 文字位置の指定 位置はsetCursor()関数でx座標とy座標を指定します。 M5.Lcd.setCursor(50,100); 中央位置に表示…