全機種:スマートリモコンの学習キット「sLab-Remo2」【データ利用①編】

おはようございます!!

先日、こちら↓の記事を書かせていただきました。

本日はスマートリモコンの学習キット「sLab-Remo2」の【Wifi利用③編】です!いよいよスマホからボード上のLEDをコントロールします!!

スマートリモコンの学習キット「sLab-Remo2」ですね!!

キット構成
ArduinoIDE ESP32と書込
スケッチ書込
ライブラリ等 実習①Lチカ
実習②照度センサ 実習③温湿度センサ 実習④人感センサ
実習⑤赤外線
リモコン受信
実習⑥赤外線
リモコン送信
実習⑦
超音波センサ
実習⑧赤外線
障害物センサ
Wifi利用①
Wifi無線接続
Wifi利用②
Webサーバ機能
Wifi利用③スマホ
でLEDを制御

【Wifi利用③編】ということで、回路は以前のものそのままで、スマホでLEDの制御まで行いました。

・・・で、今回からはデータ利用①編】で、EE-PROMによるデータ利用学習しました!!

スマートリモコン「sLab-Remo2」(エスラボリモ2)【Scratch・Arduino対応】環境センサ・カメラ付《IoT電子工作・AI学習・プログラミング》

こちらです!


詳しい話は以前の記事↓へ!!

本日はスマートリモコンの学習キット「sLab-Remo2」の紹介と【じっくり見てみた編】です!

4,290円でこれだけ遊べたら安いものです。(・・・と奧さんに言われています)

ちなみに、本キットの心臓部ESP32-DevKitCですが、Amazonさん1,500円ぐらいで普通に買えますね。


Espressif社純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D

壊してしまったら一大事!と思ってましたが・・・昼ごはん1回我慢すれば買えます(泣)

昼ご飯は1コイン以下ちゃうのん? 見栄はったらあかんよ!!

では、スタートします。

sLab-Remo2【データ利用①編】

公式メニューデータ利用に入ります!(こちら


そろそろ中盤でしょうか?今回は データ利用を学習するわけですね!!

ESP32-DevKitC(ESP-WROOM-32)は4MByteのフラッシュメモリを実装しており、このフラッシュメモリを活用してデータを保存する方法が以下の2つあります。

(1)EEPROM(Electrically Erasable Programmable Read-Only Memory)
(2)SPIFFS (SPI Flash File System)

どちらかと言えば、パソコンやスマホにも使われている部品中身の話になってきましたね。

EEPROMによるデータ利用

こちらですね。

そう言えば、EE-PROMってなんでしたっけ??Wikiによりますと・・・

ああ!USBメモリーで使っているフラッシュメモリーもその一種なんですね。
書き込んだら、電源を切っても覚えておいてくれる便利なメモリーですね。

それほどではないでしょ~

容量はこちらによると4MBだそうです。画像ファイル1個入るかは入らないかの小さい領域ですね。

電気回路と電子工作

プログラム内の変数でデータを定義せずに、プログラム上でSSIDパスワードなどを設定し、電源OFF・ON後も設定データを利用したい場合があります。
このような場合にEEPROM(Electrically Erasable Programmable Read-Only Memory)が利用できます。EEPROMは不揮発性メモリの一種でByte単位にデータを書き込んだり読み込んだりでき設定情報などの保存に利用します。一般的なフラッシュメモリはEEPROMを新しく拡張したもので、ブロック単位で読み書きできるためデータ量が多くなるとコスト的に安くなります。

「ブロック単位で読み書き」とか書いてありますが、ちょっと面倒ですね。
今回は関係あるのでしょうかね?

ESP32-DevKitC(ESP-WROOM-32)は4MByteのフラッシュメモリを実装しており、このフラッシュメモリの一部を仮想的にEEPROMとして利用できます。また、EEPROMを利用できるライブラリが標準で提供されており、サイズは4Kbyteまで利用可能となります。4Kbyteなので大きなデータには適しませんので設定データなど小さなデータに利用します。
EEPROMを利用してデータを読み書きするスケッチを以下に説明します。

4MBのフラッシュメモリー一部(4k byte)を仮想的にEEPROMとしているんですね。
4kbyteとはいえ1024 x 4 = 4,096byte(文字)なので、確かに設定データぐらいなら十分ですね。


(書いていませんが)回路は前回と同じですね。

前回同様、上側だけで十分なのですが、配線が切れてないかチェックだけしてそのまま使いました。

スケッチ(制御ソフトウェア)

Arduino IDEの登場です!!・・・あ~大変だ。
これでプログラミングしないと回路が動かないわけですね。

スケッチを作成!!

今回前回作ったArduinoフォルダの中のsLab-Remo2フォルダSumaho_de_LEDEEPROM_Test名前をつけて保存しました。(※ 手順の画像はこれまでと同様なので端折ります)
今回はソースコードも新規なのでそのまま貼りました!!

スケッチの中身

今回も丁寧に解説してありますね。・・・ちょっと読んだだけではサッパリよくわかりませんが(泣)

とりあえずフローチャートにしてみました。
(※ プログラムと解説を見比べながら、Webツール(こちら)を使って作りました。)

先にEEPROMのデータを読み出して表示してから、初期値を書き込んで終わってるんですね。
ああ~想像してたのと逆でした。(※ この作業は最後にやってたので、後から理解しました)

ハラハラドキドキ!動作確認!!

ハラハラドキドキです。

ボードUSBケーブルを繋いでノートパソコンに接続、そして、プログラムを開きました。ボードへの書込は、忘れずにこの技↓ですね!!(※ 該当の部分に飛びます)
(※ 後半の「書き始めるまでBOOTボタン押しっぱなし技」です。)

本日はスマートリモコンの学習キット「sLab-Remo2」の【事前準備③編】です!Arduino IDEの検証と書き込み実習ですね。

久しぶりにちゃんと撮りました!!(笑)

今回も1回でうまくいきました!

・・・で、やってみました!!

書込後にシリアルモニターを起動して、リセットボタンを押せば・・・

はい!出ました!!

※ sLabダンサーズ(仮称)

・・・あれ? でも、これって、もしや書込出来てなくても表示されてるのでは?
ちょっと考えてみますね。

・・・わかりました!!

よくよく見ればEEPROMからの読み出しと表示の後に、初期値をEEPROMに書き込んでいるので、ボードへプログラムを書き込んだ直後の1巡目では表示されないんですね。(※残念ながら1巡目は消してしまったので再確認できません(泣))

じっくり考えてから実行すればよかったです。(※ フローチャート書いてから理解しました)

まとめ

ここのところずっとなのですが、ライブラリにおんぶに抱っこ状態で、いまいち実感がわきません。あっさり終わって嬉しいのですが・・・

次回【データ利用】SPIFFSによるファイル操作ですね!

このモヤモヤ感、まだまだ続くのでしょうかね?。

以上です!!

あ~!ライブラリ理解しなくては~!!

(おわり)

人気ブログランキング

↓ この記事よかったよ!!という方はクリックお願いいたします。

人気ブログランキング

ブログ村

↓ この記事よかったよ!!という方はクリックお願いいたします。
ブログランキング・にほんブログ村へ
にほんブログ村

シェアする

  • このエントリーをはてなブックマークに追加

フォローする