無いものを作る趣味の工作やバイクいじり、お出かけネタなどを取り扱っています。

2026年7月アーカイブ

こんにちは
管理人のかいざーです

バイクに乗っていると急に気温変わってビビったりすることありますよね
一般的には高度100m上がるごとに気温は0.6℃下がるそうなので
高度と気温のモニターはしておきたいところです

つい先日Amazon見てたらこんなの見つけました

ESP32.png


モニター付きの小型のマイコンボードで
センサーとかいろいろ接続して様々な用途に使えるらしい
もちろん気圧やGPSも繋げるので、これを使えば希望のものが作れそう

電源やプログラムの書き込みはUSBでPCや電源に繋げたら大丈夫なので
3Dプリンタでケース作ったりすればいい感じのが出来上がりそうだよね
プロブラムはClaude先生に丸投げすれば大丈夫だしw


そんなわけでこれと気圧センサーとGPSセンサー注文しました

BMP280.png

GPSはまだ届いてないから
高度のセットとGPS時計はまだ使えないですが
とりあえず線繫いでテスト

20260719_112634794.jpg

見た目がダサすぎるwww
Claud先生にやり直しを要求!!

こんな感じのにして

AltMeter.png


って言ったらさすがCaude先生
うまく仕上げてくれました

最終的に自分で微調整して出来上がったのがコレ

20260719_132915129.jpg

ヤバいかっこいい(自画自賛)
フォントはいろいろ試したけど、これぐらいが限界でした

この気圧センサー結構高性能で
1m高さ変わるだけでも拾ってくれる
最近のテクノロジーすげぇな

あとはGPSセンサー届くの待つだけ

書き込んだコードはこれになります(まだ途中だよ?)


ESP32 高度計プログラム


#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_BMP280.h>

#define LGFX_USE_V1
#include <LovyanGFX.hpp>

class LGFX_Waveshare19 : public lgfx::LGFX_Device {
lgfx::Panel_ST7789 _panel_instance;
lgfx::Bus_SPI _bus_instance;
public:
LGFX_Waveshare19() {
{
auto cfg = _bus_instance.config();
cfg.spi_host = SPI2_HOST;
cfg.spi_mode = 0;
cfg.freq_write = 40000000;
cfg.pin_sclk = 18;
cfg.pin_mosi = 23;
cfg.pin_miso = -1;
cfg.pin_dc = 2;
this->_bus_instance.config(cfg);
_panel_instance.setBus(&_bus_instance);
}
{
auto cfg = _panel_instance.config();
cfg.pin_cs = 15;
cfg.pin_rst = 4;
cfg.pin_busy = -1;
cfg.panel_width = 170;
cfg.panel_height = 320;
cfg.offset_x = 35;
cfg.offset_y = 0;
// 色順の設定を修正(背景黒・水色文字を確実にする設定)
cfg.rgb_order = false;
cfg.invert = true;
this->_panel_instance.config(cfg);
}
setPanel(&_panel_instance);
}
};

LGFX_Waveshare19 lcd;
Adafruit_BMP280 bmp;

// --- 表示用カラー定義(これで確実に黒背景+水色文字になります) ---
#define COLOR_MAIN TFT_CYAN // 水色
#define COLOR_LABEL TFT_CYAN // 水色
#define COLOR_LINE TFT_CYAN // 水色
#define COLOR_BG TFT_BLACK // 漆黒の黒

void setup() {
Serial.begin(115200);
delay(1000);

lcd.init();
lcd.setRotation(1); // 横長画面に設定
lcd.fillScreen(COLOR_BG); // 画面全体を黒で塗りつぶす

// 気圧センサーの起動
Wire.begin(21, 22);
if (!bmp.begin(0x76)) {
Serial.println("センサーエラー");
while (1);
}

// --- 固定グラフィック(枠線やラベル)を描画 ---
// 外枠の角丸四角形(【修正】画面の端から5ピクセル内側に小さくしました)
lcd.drawRoundRect(5, 5, 310, 160, 15, COLOR_LINE);

// 横の仕切り線(枠が小さくなったので位置調整)
lcd.drawFastHLine(5, 110, 310, COLOR_LINE);
// 縦の仕切り線
lcd.drawFastVLine(155, 110, 55, COLOR_LINE);

// 「Alt」ラベル
lcd.setFont(&fonts::Font4); // 読みやすいゴシック体
lcd.setTextColor(COLOR_LABEL, COLOR_BG);
lcd.setCursor(20, 50);
lcd.print("Alt");

// 「m」単位ラベル
lcd.setCursor(255, 50); // 数字がArial調になり幅が変わるため位置調整
lcd.print("m");

// 「Temp」ラベル
lcd.setFont(&fonts::Font2);
lcd.setCursor(15, 130);
lcd.print("Temp");

// 「Time」ラベル
lcd.setFont(&fonts::Font2);
lcd.setCursor(165, 130);
lcd.print("Time");
}

void loop() {
// センサーデータの取得
float temperature = bmp.readTemperature();
float altitude = bmp.readAltitude(1013.25);

// --- 1. 高度(Alt)の表示(まっすぐ太字仕様) ---
lcd.setFont(&fonts::DejaVu56);
lcd.setTextColor(COLOR_MAIN, COLOR_BG);
// ど真ん中に表示
lcd.drawCentreString(String((int)altitude), 160, 30);

// --- 2. 温度(Temp)の表示 ---
// ★次の文字に影響が出ないように、太字(フチ取り)を解除してバトンタッチ
lcd.setTextPadding(2);
lcd.setFont(&fonts::DejaVu24);
lcd.setTextSize(1.3);
lcd.setCursor(62, 125);
lcd.print((int)temperature);
lcd.setFont(&fonts::Font2);
lcd.setCursor(105, 125);
lcd.print(" `C"); // 「°C」表示

// --- 3. 時間(Time)の表示(現在はダミー) ---
lcd.setFont(&fonts::DejaVu24);
lcd.setCursor(210, 125);
lcd.print("15:00");

delay(500);
}




この手のガジェット
Claude先生がいればだいたい何とかなるね、さすがAI
間違いも多いけど

あとはケース作って収めるだけだけど
ここが一番大変そう、防水も考えなくちゃいけないし
完全にふさいだら気圧測れなくなるし、GPSのアンテナもなんか考えないといけないし


それではまた

こんばんは
管理人のかいざーです

NUROを10Gに切り替えて
ファイルサーバーをOpenmediavault8で新たに組みなおしたり
途中紆余曲折はありましたが、なんとかこの形で固まりました

ネットワークマップ.jpg


NUROのIPv6はRTXを越えられないので、PCにIntel-X550のカードを増設してLAN2に直結
LAN2はIPv4をReject
この時点でNUROのIPv6はPC専用になります

NUROのIPv4はRTXを経由してPCのLAN1へ
PCのLAN1はIPv6をReject
NTTのVDSLのPPPoEをバックアップ回線にして、チャンネルボンディング
RTX下流のIPv6はNTTのVDSLが担当

ファイルサーバは192.168.1.0 /24とIPv6でPCと10G接続
このままではDLNAのブロードキャストがテレビに届かないので
オンボードの1G-LANを192.168.0.0 /24に振って
IPv6は使わないし競合しそうだから切って
このポートから外へは繫がないからゲートウェイも削除したのち
そっちにブロードキャスト

これで速度のの犠牲を最小限に抑えられると思う


スピードテストはまずまずの結果

Speed.png

最初使ってたRealtekのチップ載せたカードだと30%ぐらい落ちるんだよね
さすがIntel


ネットワークドライブへの読み書きは
ほぼ期待値通りの結果に


Speed.png


3日間潰して頑張った甲斐があったかも


それではまた...





月別 アーカイブ

2026年7月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

このアーカイブについて

このページには、2026年7月に書かれた記事が新しい順に公開されています。

前のアーカイブは2026年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ブログランキング・にほんブログ村へにほんブログ村 バイクブログ バイク 修理・整備へ
にほんブログ村 バイクブログ ソロツーリング(バイク)へ
にほんブログ村 IT技術ブログ Webサイト構築へ