コンピュータビジョン(『ロボットの眼』開発)が専門の”はやぶさ”先生@Cpp_Learningの一番弟子です! はやぶさ先生は、画像処理や機械学習などの技術を分かりやすく説明してくれる”変な…優しいお兄さん”です! 本サイト:はやぶさの技術ノートで はやぶさ先生が書いた記事がタダで読めるよー 【深層学習入門】画像処理の基礎(画素操作)からCNN設計まで画像処理の基礎(画素操作)から深層学習のCNN設計までカバーした記事です。画像処理にはOpenCVとPythonを使用しました。画像処理入門、深層学習入門、どちらも取り組みたい人におすすめの記事です。... MXNetで『カメラ・動画対応!物体検出ソフト』を作った -Yolo, SSD, Faster-RCNNモデル対応-こんにちは。 コンピュータビジョン(『ロボットの眼』開発)が専門の”はやぶさ”@Cpp_Learningです。 『深層学習
この記事では、Arduino IDEを使ってM5Stackのディスプレイに文字や画像を表示する際のちらつきや、安定した描画を行うための仕組みについて画面制御の方法を確認していきます。 今回は、「lovyan03」さんが公開されているArduino IDE向けのライブラリ「Lovyan GFX」 Libraryを使用します。 「Lovyan GFX」は、Arduino IDE共通で使用でき、かつ様々なディスプレイコントローラに対応されているので、、Arduino対応機器間で同じソースを使いたい場合に有効です。 しかも、ディスプレイへの描画速度を安定化させるための仕組みをいくつか実装されています。 ディスプレイに描画する際に悩むポイント プログラムで、マイコンなどのディスプレイに文字や画像を描画する際によく悩むのが次のポイントです。 画像をつかったアニメーションが難しい。 なんか画面がチラチラ
M5Stackシリーズで日本語表示や「チラツキ」なく文字や数字、グラフを描画したいと思い、らびやんさん作の「lovyanGFX」を使用させていただくことにしました。 「lovyanGFX」にはたくさんの機能があるようですが、簡単に日本語表示ができることと、メモリ内で処理した画像を一気に出力(スプライト)して画面の「チラツキ」を抑えることができるため、これだけでも非常にありがたいです。 たくさん機能があり以下リンクの「Git Hub」で詳しく紹介されてますが、基本的な表示だけで十分便利なので、まずは日本語表示や線、図形等の基本的な表示方法を紹介したいと思います。 GitHub - lovyan03/LovyanGFX: SPI LCD graphics library for ESP32 (ESP-IDF/ArduinoESP32) / ESP8266 (ArduinoESP8266) /
基本的には上記の5種類が基本的に利用するフォントになります。この中で一番使いやすいのがFont0になります。横6ドット、縦8ドットの固定サイズで英数が使えます。Font2とFont4は横幅が可変なので英字をたくさん表示したいときに適していますが、文字によって横幅が違うので使いにくい場合もあります。Font6以降は数字と一部の記号のみなので注意してください。 内蔵フォント以外を利用することも可能です。後ほど日本語フォントを使う方法を書きたいと思います。 フォントサイズについて わかりやすいように拡大してあります。フォントサイズですが、元の大きさからの倍率を指定します。つまりフォントサイズ1が標準のフォントです。フォントサイズ2にすると縦横が2倍に拡大されます。 LovyanGFXは更に、3.5などの実数指定が可能になっています。縦8ドットのFont0を1.5指定することで12ドットで描画する
M5Stack製品の売りは、何と言っても大きなディスプレイがあげられますよね。大きなディスプレイを有意義に使っていきたいものです。 Fig. M5Stack_Display 今回はディスプレイ表示する上で便利な”スプライト技術“について、まとめてみました。 見てもらうのが理解が早いと思いますので、作例をお見せすると、スプライトを利用するとこんな感じの画像が作画できます。 図. スプライト例 (記事の最後にソースコードあります!) 上図を見て分かるとおり、スプライト技術は、パーツを定義して合成する技術になります。この技術は、パーツを複数回使い回す際や、簡単なセル画のような動画を作成するの際に役立ちます。 簡単にイメージがついたところで、本題に入りましょう! 本記事の概要 適用範囲:ESPマイコンにおけるLCD表示手法 ハード: ESPマイコン + SPI によるLCD表示器M5Stack関連
以前作ったWordClockをESP32の開発キットで作り直そうとしたら、LEDがうまく点灯しなかったので実験した備忘録。 結論から先に書くと、ESP32でAdafruit_NeoPixelを使ったら不安定だったのでFastLEDのライブラリを使ったというもの。前回はESP-WROOM-02でFastLEDのライブラリを使ったら不安定だったのでAdafruit_NeoPixelを使ったという経緯があったが、今回はその逆だ。 テープLEDはWS2812B テープLEDは電源と信号線を数本配線するだけで、数十から数百のLEDをコントロールできるのでとても便利。WS2812Bはマイコンチップを搭載したシリアルLED。直列に繋いだLEDを信号線一本で制御できる。 LED単体の最大電流値は約50mAということなので、USBから電源をとったりESP32と電源を共有したりするときには、要注意。大量に点灯
NeoPixel NeoPixel14は Adafruit 社の LED 製品のブランドです。「デジタル RGB LED」または「スマート LED」と呼ばれる WorldSemi 社15の WS2811, WS2812 や Shenzhen LED Color 社16の SK6812 が使われています。"1/4 60 Ring"17は掛時計の製作にぴったりと思われます。 M5Stack 社の M5Atom18は、小型で安価な IoT 開発用デバイスです。素材は ESP32 です。単体で WiFi 接続が可能で、時刻合わせに NTP を使えます。Arduino-IDE などの開発環境があります。M5Atom Lite19は NeoPixel 仕様の LED を 1 個、M5Atom Matrix20は 25 個搭載しています。M5Atom.h が FastLED.h をインクルードしているた
M5Stackには標準でリポバッテリーが内蔵されている。あまり容量は多くない上かえって動作の邪魔になる事もある。 バッテリー駆動していると気になるのがバッテリー残量である。下記掲示板によると、M5Stackの製造がFireモデルより後であればバッテリー残量が大まかな4段階であるが取得できる様だ。 https://github.com/m5stack/M5Stack/issues/74 手持ちのM5Stackの製造を見ると2018.03となっており、上記掲示板のスケッチで残量らしきデータが取得できた。 これをベースに、少しグラフィカルに残量を表示する様にしたスケッチが以下の通り。25%以下になると赤色表示になる。 #include <M5Stack.h> #define RGB(r,g,b) (int16_t)(b + (g << 5) + (r << 11)) //色0~31 緑0~63
今回は電池の残量を表示をしてみましょう。 初期化 サンプルコード 初期化 電源関係の初期化はM5.begin()では行っていないのでこちらの関数で初期化しましょう。 私は初期化を忘れてかなりの時間、正しい電池残量を取得出来てませんでした。。。 M5.Power.begin(); さらに自身のM5stackが電源関係の制御できるかこちらの関数で確認できます。 trueが戻り値で返ってきたら制御できます。 M5.Power.canControl(); 電池残量を取得する関数はこちらです。戻り値に残量のパーセンテージが返ってきます。 M5.Power.getBatteryLevel(); サンプルコード #include <M5Stack.h> static int giBattery = 0; static int giBatteryOld = 0xFF; void setup() { M5.
「ATOM Lite」は、「M5StickC」から、バッテリーやLCDなどを取り除いた感じのデバイスです。 価格が1000円以下と、非常に安価なデバイスですが、Wi-Fiにつながるので、簡単に、ちょっとしたIoTデバイスをつくることができそうです。 スイッチサイエンスでは、2020年4月から販売開始しているようですが、ずっと品切れが続いており、2ヶ月近くがたって、ようやく入手できました。 外観はこのとおりです。サイズはわずか24 x 24 mmです。M5Stackも十分コンパクトだと思っていましたが、比べてみると、ATOM Liteの小ささが際立ちます。 裏面はこのとおりで、GPIOがこの面についています(M5StackやM5StickCのGPIOは、側面にあります)。 さっそく環境構築をしてみたいと思います。 環境構築の手順については、M5Stack社のドキュメント(こちら)を参考にしま
Joseph Halfmoon 無線通信機能が無いボード類を無線ネットワークに参加させるべく、適当なデバイスを物色していたのであります。今回購入してみましたのは、M5Stack社のATOM Liteというデバイスです。ちゃんとシャーシに入っていますが24mm角の小ささ。とりあえず第1回は開発環境をセットアップし、単品にて動作確認いたしました。 WiFiあるいはBluetoothの無線通信機能を付加したいという場合、今やEspressif社のESP32系のデバイスが定番じゃないでしょうか。何と言ってもそのお値段が魅力です。その上、人気もあっていろいろソフトウエア環境も揃っているので、お楽です。コスパと大きさだけを考えればモジュールで購入してボードに載せるのが一番でしょう。しかし、表面実装品なので手元で「電子工作」するときには扱い難いです。そこでブレッドボードに刺さる形のブレークアウト基板品な
M5Stackでできる10のこと 1. スマートウォッチ ▲転載元:小型万能マイコン「M5Stack」で自分だけのクソダサいスマートウォッチを作る M5Stackを拡張モジュールのウォッチバンドと組み合わせることで、スマートウォッチとして使えるようになります。 サンプルコードを実行するだけなので、プログラミング初心者の方でも簡単に実装できます。スマートウォッチにしては画面が大きく扱いづらい(そしてちょっとダサい)のが難点ですが……。 参考:小型万能マイコン「M5Stack」で自分だけのクソダサいスマートウォッチを作る 2. ゲーム ▲転載元:とんちき録 M5Stackを、拡張パーツであるインターフェース・パネルと組み合わせることで、ゲームを作成できます。まるでゲームボーイのような実装も可能です。 サンプルコードだけで作成可能なゲームもあり、初心者でも簡単に実装できます。自作ゲームのデータも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く