PlatformIOの使い方 その2

PlatformIOをインストールして、main.cppに書き込んでもうまく動かない。

エラーを見てみると、M5Core2.hが動いてない感じでした。

どうも、ライブラリに入れるだけではだめで、そこからプロジェクトに追加が

必要みたい。

ということで、PlatformIOのホーム画面からLibrariesに入り、M5core2で

検索するとM5Core2 by M5Stackというのが出てくるので、それを選択。

するとAdd to projectの青いボタンがあるのでそれを押すと、プロジェクトを

選択する画面が表示されるので、そこで使用するプロジェクトを選ぶと

使えるようになりました。

PlatformIOはArduinoIDEより良いという話を聞きましたが、個人的には

初心者には優しくないと感じます。

ArduinoIDEは最初にボードさえ決めておけばそんなにいじるところないので。

とは言えどちらも初期設定が必要なのは間違いない。ネットの情報は

ArduinoIDEのほうが多い感じなので両方入れておいて、状況によって

使い分けていこうと思います。

PlatformIOをインストールしてみた

M5Stack Core2でいろんなサンプルコードを入れたりしてテストしているのですが

UiFlowは何か動きが遅くて細かい処理ができないので、結局Arduino IDE

使っています。ただこれはこれでコンパイルが遅いのでいい方法がないかなと

思って調べていたら、PlatformIOというのが早いというコメントを見たので

試してみることにしました。

(こちらの記事を参考にさせていただきました)

www.media.lab.uec.ac.jp

まず、VIsual Studio Codeというのをインストール

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

ここから今すぐダウンロード>プラットフォームを選択>自動DL となるのでDLしたファイルをインストールする。

インストールしたアプリを起動したら、左端のメニューの一番下にあるExtensionsを選択し、PlatformIO IDEを検索してインストール。

インストールが終わったら、一旦アプリを終了して再度起動します。

(私が使用したバージョンは起動時に自動的に日本語化のダイアログが表示され、

設定をONにすると日本語化されました)

起動後、画面左下の設定のなかにあるコマンドパレットを選択し、platformIO Homeと入力して検索し、出てきた項目を選択するとPlatformIOの画面が出てきます。

New Projectを選択し、Project Wizardを埋めます。

Name:適当なプロジェクトの名前を入力

Board:使用するマイコン。私の場合はM5Stack Core2を選択

Framework:Arduinoを選択

これで準備完了。あとはできたプロジェクト内のsrcの中にあるmain.cppに

プログラムを書いて、画面下部の青いバーにあるBuild、Uploadを押せば

書き込みができます。

こちらの記事ではPythonを使うので導入しておく必要がある、と記載がありました。

使うかはわかりませんが、一応インストールしておきました。

https://www.python.org/downloads/

 

これで準備完了かな。

 

大人のおもちゃ(M5Stack Core2)を買ってみた

マイコンの部品を色々買おうとして、液晶やらセンサやら色々買おうとするとそれなりの値段になるので、それならセットのやつ買ったほうが良いのかな?と思ったのでM5Stack Core2を買ってみました。

f:id:guchi_infinity:20220505225630j:image

合わせてセンサも購入。GPSモジュールと温湿度センサです。あとおまけでI2Cのハブも1つ。ケーブル単品がほしかったのですが高かったのでケーブルとハブが付いている物を買いました。

 

M5Stack Core2の紹介ですが、これは簡単に言うと

デュアルコアのそこそこ速いCPUが載ってて

・16MBのフラッシュメモリと8MBのPSRAMが載ってて

・2インチのTFT液晶が載ってて

・スピーカ、マイク、6軸加速度センサなどの各種センサが色々載ってて

・I2Cで拡張可能な マイコンです。

 

で、早速起動してみましたが、最初に起動したらエヴァの管理画面みたいなのが表示されました。どうやらデモアプリみたい。

f:id:guchi_infinity:20220505225644j:image

タイマーや充電状況の確認など一通りの機能を確認した上で書き込みテストを開始です。

M5StackはUiFlowというグラフィカルな開発環境に対応しているのでそちらを試してみました。

 

shop.m5stack.com

 

こちらからまずはM5BurnerとCP2104 Driverをダウンロード、それぞれインストールします。

その後、本体をPCと繋いでM5BurnerでCore2用のUiFlowのデータを書き込むと完了です。

書き込みが成功すると、起動時にIPアドレスが表示されるので、Core2の本体に表示されているアクセスポイントに接続して表示されたアドレスにアクセスすると、インターネットに接続できるSSIDとPWを入力すると、自動的にCore2側にインターネット接続環境が書き込まれて接続できるようになります。

 

インターネットに繋がるようになると、起動時にインターネットに接続し、M5Flowで接続するための文字列が表示されるようになります。

その、文字列をM5Flowで入力すれば、オンライン上でUiFlowが使えるようになります。

flow.m5stack.com

 

オンライン上でプログラムを書き込んで、RUNを押すだけでCore2側でアプリが動く!インターネット経由なので本体を繋いでおく必要がなく、また書き換えが楽なのでサクサク作ることができます。これは便利!

 

ただ、UiFlowはあんまりカスタマイズできなそうなのと、動きが重いので、結局Arduino IDEを使うことになりそうな気がしなくもない…とりあえずつ買い続けてみようと思います。

Arduino unoを久々に触る

M5Stamp picoは最終組み込みには良いけど普段の検証には使いにくいなと思ったので、以前購入していたArduino unoを使ってみることにしました。

簡単な組み立てはしたけどLCDの接続とかはしていなかったので実施。

ライブラリを使って文字を表示するところまでは出来ました。

f:id:guchi_infinity:20220430234038j:image

あとは超音波センサを引っ張り出して距離計測を企画中…

M5Stamp Picoにデータを書き込んでみた

先日ネットを見ていて、切手サイズのマイコンWi-FiBluetoothを内蔵したものがあるというのを知り、買ってみることにしました。

www.switch-science.com

M5Stamp Picoというものです。

これはいくつかセットがあるみたいですが、今回はM5Stamp Pico Mateというモデルにしました。

本体の他にはピンやコネクタ、配線が記載されたシール、カバー、カバーを外す六角レンチなどが入っていました。技適も取得している様子。

 

使い方ですが、書き込み用のコネクタがないのでUSBシリアル変換ツールが必要です。

 

どうしようかと思っていたのですが、以前Arduino Pro Miniを購入したときについてきたUSB-TTLシリアルコンバータが転がっていたので流用。

端子は

・GND

CTS(入力)

・VCC(5V)

・TXD

・RXD

RTS(出力)

となっていました。

これをM5Stamp Picoにつなぎます。

USB側とM5Stampのつなぎ方は

・GND↔GND

・VCC↔5V

・TXD↔Rx0

・RXD↔Tx0

となっていました。最初TXDとTx0をつなぐものだと思っていて全然書き込めなくて困りました。紛らわしいw

更に、書き込む際はM5StampのGPDIO0の端子とGNDを繋いでおく必要があります。

使うときはオープンにすればOK。

 

書き込みについてはArduino IDEを使っています。

設定方法はこちらにあるけど英語はよくわからないので…

初期設定としては、Arduino IDEのファイル>環境設定の追加のボードマネージャのURLに下記のURLを追加します。

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

 

で、ツール>ボード>ボードマネージャ で画面を出して「M5」で検索したら

M5Stackが出てくるのでインストールします。

インストールするとM5のボードが出てくるので選択します。

 

ネットを見てると様々なヘッダファイルが使われていたのでDLして入れておきました。

 ここからファイルをDLして、Arduino>librariesにフォルダを入れておきます。

 

あとは適当にネットに転がっているサンプルデータを使って動作確認。

コンパイルが通っていれば、あとは配線間違えなければ問題なく書き込めます。

(5Vのケーブルを使っている場合は3.3VのVCCではなく5Vの方につなげるの注意)

書き込みが終わったらGPDIO1の端子を浮かせて動作させればOK。

このサイズで通信できるとか夢が広がりますね~

カロリーメイトのバニラ味を買ってみた

f:id:guchi_infinity:20220429102010j:image

久々の出社で朝ごはんを食べる暇がなかったので、コンビニでカロリーメイトを買いました。

どの味にするか迷ったけど、新作のバニラ味を試してみました。

 

味はバニラ感のある少ししっとり目のクッキーみたいな感じで、他の味よりパサパサ感が少なくて美味しい。

中に黒い粒が入っているのですが味はよく分からん…チョコチップ?そんなに気にならないです。

私が中学生のころ、陸上部にいた時からカロリーメイトは愛用していて、その頃はチョコレート一択でした。

しかし歳をとるにつれてフルーツの美味しさに目覚めてフルーツを買うことが多かったのですが、このバニラは選ぼうかなと思える味でした。

バランス栄養食も美味しくなったなー

 

正宗が届いた

友人からプレゼントが届きました。

商品:食器

 

早速中を開けてみると…

f:id:guchi_infinity:20220423225755j:image

何やら和風な包装紙が出てきました。

中身はこんな感じ。

f:id:guchi_infinity:20220423225820j:image

牛刀包丁でした。正宗の文字が彫られています。

正宗から24代目にあたる人物が作っているらしい。本物?の正宗です。

見た目よりは軽い感じで使いやすそう。

早速りんごを切ってみましたが、刃を入れると種など硬い部分があるのにとても軽い力で切れます。また断面が瑞々しくて普段の包丁とは全然違う感じがしました。

錆びやすいようなので丁寧に使おうと思いました。

こんな時のために砥石もあるので思う存分研ぎまくろうと思います。