記事一覧
M5Stack Core2 シンプルな時計
パソコンからシリアル通信で、時刻を送ってもらって、内臓RTCに時間をセットします。 main.c #include <M5Core2.h>#include "EEPROM.h"#include "mySerialRXTask.hpp"//B…
M5 ATOM Lite LovyanGFX 基本図形描画
<コード> #include <M5Atom.h>#define LGFX_USE_V1#include <LovyanGFX.hpp>#include <Wire.h>//グローバル変数*****************************************************…
M5Stack Core2 シンプルな時計
パソコンからシリアル通信で、時刻を送ってもらって、内臓RTCに時間をセットします。
main.c
#include <M5Core2.h>#include "EEPROM.h"#include "mySerialRXTask.hpp"//Buttonクラスの練習帳//Page展開#define LCDWIDE 320#define LCDHEIGHT 240TFT_eSprite canvas
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.set
もっとみる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() : isInite
PIC18F27Q43 プログラミング2割り込み処理
前回、オシレータをFosc=32Mhzに設定しました。今回は、Timer0を使った割り込みでLEDを点滅させます。
0.従来のPICの割り込み処理 従来の16F、18F系PICマイコンの割り込みは、 割込発生時に飛んでいく割り込み処理ルーチンの開始アドレスが0004hの一つだけでした。そこから実行させる割り込み処理関数も一つだけだったので、その中で、タイマー割り込み、外部入力割り込み、AD割込み
PIC18F27Q43 プログラミング1 内蔵オシレータFosc=32Mhzで、LEDを点滅させる。
PIC18F27Q43を使って、Lチカさせるまでの内容。レジスタを直接叩いて、マイコンを制御するのも面白い。今回は、内臓オシレータを使って、Fosc=32Mhz に設定し、LEDを点滅させます。
1.PIC18F27Q43 主なスペック電源 1.8v~5.5v
プログラムメモリ 128kbytes
Data SRAM 8192bytes
Data EEPROM 1024
IO
M5ATOM Lite外付けEEPROM 24FC512ドライバー製作
Microchip社製EEPROM 512kbits 24FC512 をArduino Wireクラスで動かします。今まで、PICマイコンを主に使っていたので、C言語オンリーでコードを書いていました。arduino,M5Stackになってオブジェクト指向で書くようになったので、なかなか、苦戦しております。それでも、C++言語のクラスは使い勝手がよく、もう自分のデフォルト言語をC++やC#にしていき
もっとみる”M5AtomLite”と”M5Core2”の間で、 bluetooth通信(BluetoothSerialクラス)
1.動作概要2台のM5マイコン同士 を、peer to peerで、ブルートゥース通信を行いました。BluetoothSerialクラスを使用します。通信が何らかの理由で切断されても、自動再接続できるようにしました。ですが、実際に運用してみないと、
どうなるかわかりません。とりあえず、室内では、動作しています。
<マスター、スレーブの決定>
Core2: bluetooth マスタ
M5Stack プログラミングメモ 集
わからなくて、調べたことを、随時、追記していきます。
1.std::vectorクラスC++の標準テンプレートライブラリ (STL) に含まれる動的配列を実現するためのクラス。
template<typename _Tp, typename _Alloc = std::allocator<_Tp> > class vector : protected _Vector_base<_Tp,
M5Core2 突然液晶の色表示がおかしくなった時の対処法。原因解析中!!
更新24/1/12:どうも、わたしのCore2固有の問題で、液晶のレジスタが壊れたか、なにかが、おかしい感じです。M5Core2,M5Unified,LovyanGFXなどのCore2ドライバーに問題はなさそうなので、提供されているドライバーを改変するのは、あまりやらないほうが無難だと思います。
教えてもらえたコードです。
void invert_setting(bool rev){M5.
M5Core2 タッチパネルボタン イベント処理
Core2のタッチパネル上にボタンを作りました。
M5Uinfiedライブリーを使ったほうが、後々よさそうですが、
とりあえず、M5Core2ライブラリー+LovyanGFXライブラリーで
やってます。
<<M5Core2ライブラリ タッチパネル>>コンストラクタ:
Function: Creates rectangular key area instances.
タッチパネル上にボタンエリ
M5 ATOM Lite ENVⅲセンサーを使う
今回は、ATOM Lite に、ENV3センサー を接続して
温度、湿度、気圧を計測して、SSD1306液晶に表示させます。
<開発環境 追加ライブラリー>開発環境 VScode + PlataformIO
・M5ATOM by M5Stack
・FastLED by Daniel Garcia
・LovyanGFX by lovyan03
・M5Unit-ENV byM5Stack
M5 ATOM Lite LovyanGFX 基本図形描画
<コード>
#include <M5Atom.h>#define LGFX_USE_V1#include <LovyanGFX.hpp>#include <Wire.h>//グローバル変数********************************************************uint colorNumber=0;//RGBLEDの色配列指定int color[3]={0x
M5 ATOM Lite SSD1306をLovyanGFXで描画する。
M5Stack ATOM Liteで、SSD1306に描画する方法について解説します。今回は、LovyanGFXライブラリを使用してSSD1306を描画します。
LovyanGFXは、センスのいいフォントやグラフィック関数が充実しています。今後もCore2などでも、利用できるので、すこし頑張って学習してみました。
<I2C arduino Wire0、Wire1>
LovyanGFXを使用