eTools研究所

eTools研究所

最近の記事

M5Stack Core2 シンプルな時計

パソコンからシリアル通信で、時刻を送ってもらって、内臓RTCに時間をセットします。 main.c #include <M5Core2.h>#include "EEPROM.h"#include "mySerialRXTask.hpp"//Buttonクラスの練習帳//Page展開#define LCDWIDE 320#define LCDHEIGHT 240TFT_eSprite canvas = TFT_eSprite(&M5.Lcd);RTC_DateTypeDef

    • M5Stack Core2タッチパネル 自主トレ 

      1.M5.Touchクラス getPressPointでタッチパネル座標を取得する#include <M5Core2.h>//Buttonクラスの練習帳#define LCDWIDE 320#define LCDHEIGHT 240TFT_eSprite canvas = TFT_eSprite(&M5.Lcd);void setup(){ M5.begin(); canvas.setColorDepth(8); // Set color depth.

      • M5Stack Core2 タッチパネルテスト2 M5Button.hで、ボタン操作の基本をテストしてみた。

        タッチパネル操作するときに、タッチしたり、ドラッグしたり、ダブルタップ、スワイプしたりと、いろいろな操作をします。M5Core2は、情報をどうやって、取得するのか、不思議でした。 調べていくと、M5Button.hの中のM5Buttonsクラス、そのメンバ、EventクラスとButtonクラスがキーポイントになってそうです。 ボタン操作に特化していて、ここから学習を始めてみました。 英語コメントをがりがり読みながら、使えそうなメソッドを、テストしてみました。 まずは、ヘッ

        • M5Core2 タッチパネルテスト1 M5Touch.hから使えそうな関数を試してみた。

          M5Core2ライブラリーのクラスメソッドで、タッチパネルの基礎を学習します。 0.M5Touch::M5Touch() クラスインスタンス生成M5Core2.cpp内でM5Core2クラスインスタンス宣言。このとき、M5touchクラスインスタンスも生成される。M5Core2()コンストラクタはisInitedをfalseにしている。 M5Core2::M5Core2() : isInited(0) {} 1. Touch.begin();M5.begin()の中で実

          PIC18F27Q43 プログラミング2割り込み処理

          前回、オシレータをFosc=32Mhzに設定しました。今回は、Timer0を使った割り込みでLEDを点滅させます。 0.従来のPICの割り込み処理 従来の16F、18F系PICマイコンの割り込みは、 割込発生時に飛んでいく割り込み処理ルーチンの開始アドレスが0004hの一つだけでした。そこから実行させる割り込み処理関数も一つだけだったので、その中で、タイマー割り込み、外部入力割り込み、AD割込みなど、すべての割り込みをフラグを見て、各々の割り込み処理を、たった一つの関数で行

          PIC18F27Q43 プログラミング2割り込み処理

          PIC18F27Q43 プログラミング1 内蔵オシレータFosc=32Mhzで、LEDを点滅させる。

          PIC18F27Q43を使って、Lチカさせるまでの内容。レジスタを直接叩いて、マイコンを制御するのも面白い。今回は、内臓オシレータを使って、Fosc=32Mhz に設定し、LEDを点滅させます。 1.PIC18F27Q43 主なスペック電源 1.8v~5.5v プログラムメモリ 128kbytes Data SRAM      8192bytes Data EEPROM     1024 IO 25本 PPSで端子機能の任意振り分け可能。 CPUクロック 最速64Mhz D

          PIC18F27Q43 プログラミング1 内蔵オシレータFosc=32Mhzで、LEDを点滅させる。

          M5ATOM Lite外付けEEPROM 24FC512ドライバー製作

          Microchip社製EEPROM 512kbits 24FC512 をArduino Wireクラスで動かします。今まで、PICマイコンを主に使っていたので、C言語オンリーでコードを書いていました。arduino,M5Stackになってオブジェクト指向で書くようになったので、なかなか、苦戦しております。それでも、C++言語のクラスは使い勝手がよく、もう自分のデフォルト言語をC++やC#にしていきたいところです。 話をもどして、AruduinoのWireクラスの話になります。

          M5ATOM Lite外付けEEPROM 24FC512ドライバー製作

          ”M5AtomLite”と”M5Core2”の間で、 bluetooth通信(BluetoothSerialクラス)

          1.動作概要2台のM5マイコン同士 を、peer to peerで、ブルートゥース通信を行いました。BluetoothSerialクラスを使用します。通信が何らかの理由で切断されても、自動再接続できるようにしました。ですが、実際に運用してみないと、 どうなるかわかりません。とりあえず、室内では、動作しています。 <マスター、スレーブの決定> Core2:      bluetooth マスター AtomLite: bluetooth スレーブ 2.ATOM側スレーブデ

          ”M5AtomLite”と”M5Core2”の間で、 bluetooth通信(BluetoothSerialクラス)

          M5Stack プログラミングメモ 集

          わからなくて、調べたことを、随時、追記していきます。 1.std::vectorクラスC++の標準テンプレートライブラリ (STL) に含まれる動的配列を実現するためのクラス。 template<typename _Tp, typename _Alloc = std::allocator<_Tp> > class vector : protected _Vector_base<_Tp, _Alloc> {#ifdef _GLIBCXX_CONCEPT_CHEC

          M5Stack プログラミングメモ 集

          M5Core2 突然液晶の色表示がおかしくなった時の対処法。原因解析中!!

          更新24/1/12:どうも、わたしのCore2固有の問題で、液晶のレジスタが壊れたか、なにかが、おかしい感じです。M5Core2,M5Unified,LovyanGFXなどのCore2ドライバーに問題はなさそうなので、提供されているドライバーを改変するのは、あまりやらないほうが無難だと思います。 教えてもらえたコードです。 void invert_setting(bool rev){M5.Display.startWrite();M5.Display.writeCom

          M5Core2 突然液晶の色表示がおかしくなった時の対処法。原因解析中!!

          M5Core2 タッチパネルボタン イベント処理

          Core2のタッチパネル上にボタンを作りました。 M5Uinfiedライブリーを使ったほうが、後々よさそうですが、 とりあえず、M5Core2ライブラリー+LovyanGFXライブラリーで やってます。 <<M5Core2ライブラリ タッチパネル>>コンストラクタ:  Function: Creates rectangular key area instances. タッチパネル上にボタンエリアを構築。クラスインスタンス化する。 ボタンの描画は、LovyanGFXを使用し

          M5Core2 タッチパネルボタン イベント処理

          [ M5 ATOM Lite ] RTC DS3231を組み込む。

          <開発環境> VScode + platformIO<使用ライブラリ>・M5ATOM by M5Stack ・FastLED by Daniel Garcia ・LovyanGFX by lovyan03 ・M5Unit-ENV byM5Stack ・RTClib by Adafruit(エイダフルーツ) <Adafuit RTClibライブラリー>DS3231初期化関数 /************************************************

          [ M5 ATOM Lite ] RTC DS3231を組み込む。

          M5 ATOM Lite ENVⅲセンサーを使う

          今回は、ATOM Lite  に、ENV3センサー を接続して 温度、湿度、気圧を計測して、SSD1306液晶に表示させます。 <開発環境 追加ライブラリー>開発環境 VScode + PlataformIO ・M5ATOM by M5Stack ・FastLED by Daniel Garcia ・LovyanGFX by lovyan03 ・M5Unit-ENV byM5Stack   <M5 ENV3センサー>ENV3には2つのモジュールが入っています。  SHT

          M5 ATOM Lite ENVⅲセンサーを使う

          M5 ATOM Lite LovyanGFX 基本図形描画

          <コード> #include <M5Atom.h>#define LGFX_USE_V1#include <LovyanGFX.hpp>#include <Wire.h>//グローバル変数********************************************************uint colorNumber=0;//RGBLEDの色配列指定int color[3]={0xFF0000,0x008000, 0x0000FF};//RGBLED Red(

          M5 ATOM Lite LovyanGFX 基本図形描画

          M5 ATOM Lite SSD1306をLovyanGFXで描画する。

          M5Stack ATOM Liteで、SSD1306に描画する方法について解説します。今回は、LovyanGFXライブラリを使用してSSD1306を描画します。 LovyanGFXは、センスのいいフォントやグラフィック関数が充実しています。今後もCore2などでも、利用できるので、すこし頑張って学習してみました。 <I2C arduino Wire0、Wire1> LovyanGFXを使用してSSD1306にカウンター値を表示させます。 AtomのCPU, ESP32

          M5 ATOM Lite SSD1306をLovyanGFXで描画する。

          M5 ATOM Lite RGBLEDを点灯させる。

          M5Stack Atom Liteで内蔵RGBLEDを制御します。 东莞市欧思科光电科技有限公司SK6812という駆動IC内蔵型LEDが、ATOM Liteに組み込まれています。(回路図赤枠)。 1線式ワイヤなので、パルス幅の大きさで0,1を送信します。    ”0”を送信 High:0.3us  Low:0.9us            "1"を送信 High:0.6us  Low:0.6us デイジーチェーンでSK6812のDINとDOUTを数珠つなぎに接続すれば、い

          M5 ATOM Lite RGBLEDを点灯させる。