NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

LEDライト(GENTOS AX-005MB)電池交換!

LEDライト(GENTOS AXシリーズ AX-005MB)用、リチウム電池(3.7V,1300mah,103040)

 日課にしている夕食後散歩(ドラクエウォーク)のお供で、2014年位に買ったLEDライトが異常発熱しだしました。充電しても直ぐに満充電になる事から遂にバッテリーに寿命が来たようです( ;∀;)
 裏蓋を固定しているボルトを外した所、下図の通り「3.7V,1300mah,103040」が使われていました。
 103040は「10×30×40.5mm」の意味で、10年近く経とうが規格品なのでNetで検索すれば直ぐに見つかりまね(*'▽')/ポチッとなー

バラした所

1.バッテリー交換

 旧バッテリーと基盤(B+:赤線、B-:黒線)を接続している電源線の長さに合わせ、旧バッテリー電源線と新バッテリー電源線を途中でカット後各被覆を2mm程度剥く。

 その後熱収縮チューブを入れ、配線同士をはんだ付け、最後に熱収縮チューブをはんだごてのコテ元でなでて完成!

基盤シルク印刷された「B+:赤線、B-:黒線」がBatteryの電源線です

~はんだ付け&熱収縮チューブ処理~

2.動作確認

 LEDライト筐体内に基盤とバッテリーを戻して固定。

 次にUSBアダプタからUSB microBケーブルをLEDライトに接続すると、電源ボタンが赤色(充電中表示)に光ります!(*'▽')充電で来た!

USB microBを抜き、電源ボタンを長押しするとLEDが光ります!!(^^)!完成!

充電ランプ(赤色)点灯!OK

電源ボタンを長押しでLED点灯!OK

3.まとめ

 これで後9年戦える気がします(*'▽')?

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【NOBのArduino日記!】目次に戻る


 
 

3.5インチLCDの使い方(WT32-SC01 Plus)

WT32-SC01 Plus 3.5 
 マルツの2023/3/30メールマガジン広告を見て、無意識にポチってしまった「WT32-SC01 Plus」を試しに動かしてみました(;'∀')USBに繋ぐだけで直ぐにタッチDispのGUI作れて超便利!(税込¥12,500!?)
 
1.1 「WT32-SC01 Plus」の概要
 「WT32-SC01 Plus」とは、3.5インチLCDカラーディスプレイとArduinoIDEで開発可能なマイコン「ESP32-S3」が搭載されたIoT機器開発ボードです。
 「WT32-SC01 Plus」の特徴として、従来の「WT32-SC01」に比べ、CPUがESP32からESP32-S3に、ディスプレイインターフェースがSPIから8ビットパラレルに変更されたことにより、表示速度が大幅に改善されています。※左記Youtubeリンク先を見て買うのを決めました(*'▽')いい
 また、SDカードスロットが追加され、周辺機器どうしを接続できるOTG(On-The-Go)にも対応したことにより使い勝手が大幅に向上したとの事。
図1:「WT32-SC01 Plus」の外観写真
1.2 「WT32-SC01 Plus」の仕様
 「WT32-SC01 Plus」の仕様を表1と図2に、「WT32-SC01 Plus」と「WT32-S3-WROVER-N16R2」のピンアサインを図3に示します。
 
表1:WT32-S3-WROVER-N16R2の仕様
項目 内容
CPU Dual core X tensa 32 bit LX 17 MCU
メモリ フラッシュ:最大16MB、PSRAM:最大 8MB
WIFI 2.4GHz Wi-Fi(802.11b/g/n) (日本国内技適認証済み)
Bluetooth Bluetooth 5(LE) module (日本国内技適認証済み)
表示LCD IPS 3.5 LCD 320×480ピクセル / Display Driver IC:ST7796U
タッチスクリーン 静電容量型 / Touch Screen IC:FT6336U
電源入力 DC5V/500mA (USB Type-C 経由)
アンテナ 内蔵型
Interface RS485 / USB / Speaker / SD_Card / Extendet_IO_port
寸法 本体約92mm×60mm×10.8mm
重量 本体約 100g
 

図2:「WT32-SC01 Plus」の I/F及び、グレー部の搭載マイコンWT32-S3-WROVER-N16R2
PinNoは、左上をPin1として反時計回りにPin41
図3:「WT32-SC01 Plus」 I/Fと、搭載マイコンWT32-S3-WROVER-N16R2」のピンアサイ
1.3 「WT32-SC01 Plus」の回路図
 「WT32-SC01 Plus」の回路図を図4に示します。

図4:「WT32-SC01 Plus」 の回路図

2.実験!

 実際に「WT32-SC01 Plus」をPCに接続すると、図5左図のプリインストールされたGUIが表示されます。
 今回はGIT HUBに「sukesh-ak/WT32-SC01-Plus_ESP32-S3.ino」として公開されているソースコードをそのまま使用させて頂き、「WT32-SC01 Plus」画面をタッチしてお絵描き出来るシンプルアプリを書き込んでみました!!(^^)!図5右の通りお絵描き出来ました!
図5:左:before(プリインストールGUI) 、右:after(タッチお絵描きアプリ)
2.1 準備
 USB-TypeCケーブルで「PC」と「WT32-SC01 Plus」 を接続し、以下ArduinoIDE(無ければココからダウンロード)にボードやらライブラリやらをインストールすれば準備完了です!

図6:ArduinoIDE(rev2.0.4)を開き、メニュー → ファイル → 基本設定 → 追加のボードマネージャーのURLに「https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json」入力 → OKクリック
たまねぎブログさん記事「ESP32-S3-DevkitC-1」を参考にさせて頂きました。

図7:ArduinoIDE(rev2.0.4)左側に「ボードアイコン」を押し、ボードマネージャーで一応「esp32 by Espressif Systems・・・」をrev2.0.7にしてインストールをクリック

図8:USB-OTGに対応している為か分かりませんが、ボードが自動で「TAMC Termod S3」を選択

図8:ArduinoIDE左側「ライブラリアイコン」を押し、ライブラリマネージャーのTextBoxに「LovyanGFX」と入力/検索し、「LovyanGFX by loviyan03」Ver1.1.5をインストール。

図9:「LovyanGFX」ライブラリは、プログラム中の先頭で「#define LGFX_AUTODETECT」としておくと、パネルIDから自動認識してくれるので、上記「1_simple_use」がそのまま動くかと思いましたが、「core0 panic」無限再起動となってしまいました(;'∀')残念!

※補足:LovyanGFXライブラリとは?

 ESP32とSPI, I2C, 8ビットパラレル接続のディスプレイ / ESP8266とSPI接続のディスプレイ / ATSAMD51とSPI接続のディスプレイの組み合わせで動作するグラフィックライブラリです。AdafruitGFX や TFT_eSPI と互換性をある程度持ちつつ、より高機能・高速動作

◇既存のライブラリに対して、以下のアドバンテージがあります。
・ArduinoESP32 / ESP-IDF 対応
・16bit / 24bitカラーモード両対応(実際の色数はディスプレイの仕様によります)
・DMA転送を用いた通信動作中の別処理実行
・オフスクリーンバッファ(スプライト)の高速な回転/拡縮描画
・複数ディスプレイの同時利用
・モノクロディスプレイに対する減色描画の自動処理
OpenCV,SDL2を描画先として利用でき、PC上で動作可能
コンポジットビデオ信号(NTSC,PAL)を出力できます (ESP32のみ)
・#define LGFX_AUTODETECT // 自動認識 (パネルID読取りが出来ない物は自動認識対象外)

 

2.2 プログラム
 図5右で動いている、「sukesh-ak/WT32-SC01-Plus_ESP32-S3.ino」コードは以下の通りです。
/*
    Simple Touch Drawing sample for WT32-SC01-Plus_ESP32-S3
    Requirements:
    - Development board : WT32-SC01-Plus_ESP32-S3
    - Arduino Library - Display/Touch : LovyanGFX
    - Board selected in Arduino : ESP32S3 Dev Module

*/

#define LGFX_USE_V1         // set to use new version of library
#include     // main library

class LGFX : public lgfx::LGFX_Device
{

  lgfx::Panel_ST7796  _panel_instance;  // ST7796UI
  lgfx::Bus_Parallel8 _bus_instance;    // MCU8080 8B
  lgfx::Light_PWM     _light_instance;
  lgfx::Touch_FT5x06  _touch_instance;

public:
  LGFX(void)
  {
    {
      auto cfg = _bus_instance.config();
      cfg.freq_write = 20000000;    
      cfg.pin_wr = 47;             
      cfg.pin_rd = -1;             
      cfg.pin_rs = 0;              

      // LCD data interface, 8bit MCU (8080)
      cfg.pin_d0 = 9;              
      cfg.pin_d1 = 46;             
      cfg.pin_d2 = 3;              
      cfg.pin_d3 = 8;              
      cfg.pin_d4 = 18;             
      cfg.pin_d5 = 17;             
      cfg.pin_d6 = 16;             
      cfg.pin_d7 = 15;             

      _bus_instance.config(cfg);   
      _panel_instance.setBus(&_bus_instance);      
    }

    { 
      auto cfg = _panel_instance.config();    

      cfg.pin_cs           =    -1;  
      cfg.pin_rst          =    4;  
      cfg.pin_busy         =    -1; 

      cfg.panel_width      =   320;
      cfg.panel_height     =   480;
      cfg.offset_x         =     0;
      cfg.offset_y         =     0;
      cfg.offset_rotation  =     0;
      cfg.dummy_read_pixel =     8;
      cfg.dummy_read_bits  =     1;
      cfg.readable         =  true;
      cfg.invert           = true;
      cfg.rgb_order        = false;
      cfg.dlen_16bit       = false;
      cfg.bus_shared       =  true;

      _panel_instance.config(cfg);
    }

    {
      auto cfg = _light_instance.config();    

      cfg.pin_bl = 45;              
      cfg.invert = false;           
      cfg.freq   = 44100;           
      cfg.pwm_channel = 7;          

      _light_instance.config(cfg);
      _panel_instance.setLight(&_light_instance);  
    }

    { 
      auto cfg = _touch_instance.config();

      cfg.x_min      = 0;
      cfg.x_max      = 319;
      cfg.y_min      = 0;  
      cfg.y_max      = 479;
      cfg.pin_int    = 7;  
      cfg.bus_shared = true; 
      cfg.offset_rotation = 0;

      cfg.i2c_port = 1;
      cfg.i2c_addr = 0x38;
      cfg.pin_sda  = 6;   
      cfg.pin_scl  = 5;   
      cfg.freq = 400000;  

      _touch_instance.config(cfg);
      _panel_instance.setTouch(&_touch_instance);  
    }
    setPanel(&_panel_instance); 
  }
};

static LGFX lcd;            // declare display variable

// Variables for touch x,y
static int32_t x,y;

void setup(void)
{
  lcd.init();

  // Setting display to landscape
  if (lcd.width() < lcd.height()) lcd.setRotation(lcd.getRotation() ^ 1);

  lcd.setCursor(0,0);
  lcd.printf("Ready to touch & draw!");
}

void loop()
{
  if (lcd.getTouch(&x, &y)) {
    lcd.fillRect(x-2, y-2, 5, 5, TFT_RED);
    lcd.setCursor(380,0);
    lcd.printf("Touch:(%03d,%03d)", x,y);
  }
}

イメージ 1
図10:プログラム例

3.まとめ!

 「WT32-SC01 Plus」 のタッチ入力から画面への表示が出来るようになりました!(^^)! 今回は使っていませんが、microSDカードスロットが折角有るのでそのうち動かしてみたいと思います(^^)/さて、この¥12,500のモノ買ったはいいが何に使うか・・・?

 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【NOBのArduino日記!】目次に戻る


 

CR-Z(IMAシステム点検/充電システム点検 自力修理成功!)

IMAシステム点検 / 充電システム点検

 

 2021/8/16のブログ「CR-Z (IMAシステムを点検してください 充電されません)」にも書きましたが、ディーラーで直して貰ったはずのIMAシステムが1年半で再び故障しました(´;ω;`)また修理費10万~かな?

 前回はIMAのモーターアシストが働かなくなる程度でそこまで実害(発進トルクが落ちるのでいつもの感じでecoモード×上り坂×右左折発進すると高確率でエンストする以外)はなかったのですが、

 今回は上乗せで「ヒルスタートアシストエラー」「ABSエラー」が表示され、直後に「ナビが無限再起動突入」したかと思ったら「パワーウィンドウ」が動かなくなり、その後30km/h以下?になると「パワーステアリング」のアシストが切れる症状が発生ました・・・。

 一応エンジンとブレーキは動いてかつMTだったので、昔乗った軽トラックってこんな感じだったな~と思いながらホンダディーラー迄運転しました。駐車する時はステアリング全力操作ですね・・・。

 そしてホンダのディーラーで見てもらった結果、「エラーが6個出ていてどれが原因か直ぐに分からないので検査入院ですね・・・。代車お貸しできるのは半月後ですので*月*日に来てください・・・。」との事・・・。えっお忙しいんですね・・・。

と言う事で帰宅しGoogle先生に聞いてみた結果、「はやとブログ」さんのページに行きつき、DIYでなんとかなりそうだったので、自力修理してみました(;'∀')治った!

1.取り敢えず内装を剥く※工具が無くても引っ張れば取れます。

2.内装剥き完了!※クリップ3個割れました(;'∀')自分の車なのでOK!

3.HV用バッテリーから出ている写真左下のコネクタを外すと、

4.ビンゴです!見事な青錆が・・・。
コンタクトによって錆びの差が大きいので腐食電流? 車を水没させた事もなく、他の方にも同様の症状が出ているとの事から、CR-Zの泣き所ですかね。
※ホンダさんの名誉の為に補足しておくと、私の車はHV電池パック交換無しで
走行距離は22万㎞です。IMAエラーが出ていなければ快適そのものです!(^^)!

5.メスコネクタ側では2ピン折れ残っており、よく見ると1ピン真っ黒焦げですね。
(;'∀')ショート → 電圧低下 → ナビ再起動(電装系全滅) → 以下無限ループ」だったのかな?

6.オスコネクタ側では青錆が膨れ上がっておりこれが原因でショートしたのかな?
再びショートしない様に、やすり掛けして掃除しておきました。

7.コネクタ修理道具の準備

8.取り敢えず、折れた2ピンの配線を切ってバイパスしようかと思います。

9.折れた2ピンの元配線をはんだ付けして10cm位延長
※元の配線が0.5sq位だったので、延長配線も0.5sqにしておきました。

10.タミヤコネクタ・・・、より高容量なXT60コネクタでコンタクト

11.反対側もはんだ付け、熱収縮チューブでショート対策しておきます。

12.相手側コネクタ配線も切ってはんだ付け、バイパス手術完了!

13.緊張の一瞬ですね、IG ONで無事エンジン掛かりました!(^^)!エラーなし!正常っぽいのでよし!

 その後20~30km実走しましたが、問題無くすこぶる元気に走ってくれました(*^^)v

 IMAバッテリー交換すると16.5万円位掛かるそうですが、今回掛った費用はXT60コネクタ1個/100円+DIY作業2時間で済んだのでお財布へのダメージはほぼ「0」でした(^^)/

 

■その後「IMAの充電エラー」に関する気になる記事を見つけました。

 IMAの充電エラーが出た時は、エンジンルーム開けて右端のクラッチフールドの量を確認して下さい。これが減っているとクラッチ内のIMAセンサーが反応してIMAエラーが出ます。

次エラーが出たら見てみよう。(;'∀')次は2年位持ってくれないかな

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【NOBのArduino日記!】目次に戻る


 

WR250X (チェーンたるみ調整編)

WR250X チェーンのたるみが酷くて異音が・・・(´;ω;`)

 息子をバイクの後ろに載せて走行中チェーンからヤバ目の異音がしたので即停車してチェーンのたるみをチェック、すると40mm位上下に振れますね(;'∀')
ツーリングは中止して即帰宅。

1.準備

工具箱から「27mmメガネレンチ」「10,12mmのスパナ」「10mmソケット+ラチェットハンドル」「チェーングリス」を用意。

WR250Xチェーン張り調整工具一式「27mmメガネレンチ」「10,12mmのスパナ」「10mmソケット+ラチェットハンドル」「チェーングリス」

折角なのでついでにタイヤを浮かせながら回転させチェーングリス塗布!

2.色々緩める

リアアクスル周りのナットを緩めます。

後付けリア アクスル スライダーを「10mmラチェット」で外し、

アクスルナットを「27mmメガネレンチ」で緩め、

車体左右共に、固定しているナットを「12mmレンチ」で緩め、
その後調整用のナットを「10㎜レンチ」で張って行きます。
調整前のチェーン中央部で遊び幅が「40mm」位でしょうか(;'∀')

3.色々締める

車体左右のバランスとチェーンの張りを見ながらナットを締めて調整し、最後に固定します。

車体左右のスケールを確認しながら同じ長さになるように張って行き、
これをチェーン中央部での遊び幅が「8~13mm」になる迄行います。
調整出来たらアクスルナットを125Nm(12.75kgf・m)で締め、
アクスル スライダーも締めて完成!(^^)!

4.まとめ

 試運転したら異音も無くなり絶好調です(^^)/

バイク(車)の調子が良くなると私の調子も良くなるのは何故か?(*'▽')/
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【NOBのArduino日記!】目次に戻る


 
 
 

グリーンカーテン(2022)!

 グリーンカーテン2022!

 2017年から毎年続く我が家恒例の【第6回グリーンカーテン2022】を設置しました!(^^)!
 上の写真は6月中旬設置から約2ヶ月経った状態です。既にピークを過ぎた為か葉が黄色くなり始めてますね、もう一週間早く写真取って置けばよかったです(´;ω;`)

 例年は1.8×6mのグリーンカーテンの葉の茂り密度が20~40%程度しか成長せず残念な感じで終わっていましたが、今年は90%超えました(^^)/大成功と言って良いのでは!?
 例年から今年変えた点として、合計7鉢使っている750サイズのプランター1鉢辺り以下の通りです。

 ・鉢植え構成   :キュウリ1株・ゴーヤ1株 → キュウリ0株・ゴーヤ2株

 ・一日の水やり頻度:3回 → 5回

 ・散水条件判定  :土壌湿度センサーが乾燥 → 強制散水

 ・土の量     :20L → 30L

 ・肥料      :2握り/2週 → 5握り/2週

 そもそもグリーンカーテン用のプランターとして、750サイズが小さ過ぎるという点には薄々気付いてますが、あえて小さいプランターで何処まで葉の茂り密度UP出来るか挑戦中です(*'▽')!実際はプランターハンガーの限界が650サイズで既に限界突破による棚受け追加改造を施しており、これ以上のサイズUPは根本的大改造が必要でメンドイ

1.DCM 中太 沖縄あばしゴーヤ

葉の茂りが良い感じ!「沖縄あばしゴーヤ」!

買ったもの ラベル

葉の茂り密度:◎、 ゴーヤの収穫数:◎、 ゴーヤの大きさ:△

2.DCM 大実 沖縄願寿ゴーヤ

 実がデカい!「沖縄願寿ゴーヤ」!

買ったもの ラベル

葉の茂り密度:○、 ゴーヤの収穫数:△、 ゴーヤの大きさ:◎

3.まとめ

 今年はゴーヤの種を集めているので、来年は5月位から育苗ポッドで14株以上作っり、早めの6月上旬からグリーンカーテン設置予定です(^^)/来年こそ100%覆いたい!

 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【プランター自動水やり機!(他ガーデニング)】目次に戻る


 

CR-Z (黒樹脂パーツ光沢復活!)

白化したCR-Zの黒樹脂パーツをヒートガンで光沢復活! (半分やってみたの図)

私の電子工作のお供「Anesty HG-01Y ヒートガン」

 CR-Zの外装には黒樹脂パーツが結構な面積で使われており、経年劣化によって私の車も漏れなく白化しちゃいました(´;ω;`)

 オイルを塗って光沢を出す方法も有りますが、結局オイルが取れれば白化状態に戻ってしまう為その場しのぎです。

 そもそもの黒樹脂が白化するのは樹脂表層のマイクロクラックが原因だそうで、熱可塑性樹脂であればヒートガン(電子工作で熱収縮チューブに使うやつ)で表層を焙って軽く溶かしてあげれば漆黒に戻るはずです!(^^)/と言う事で実験してみました!

1.実験、まずは目立たない所?で実験してみました!( ゚Д゚)よっ予想以上に新品感、良い!!

1.樹脂パーツが大きいので根気よく作業を続けます(;'∀')納得行く迄焙ります。

2-1.リアバンパー左側:before

2-2.リアバンパー左側:after

3-1.リアバンパー右側:before

3-2.リアバンパー右側:after

 初めは樹脂パーツごと新品に交換しようかと思ってましたが、ヒートガンだけで予想以上にツヤツヤの黒に復活出来ました!(^^)!

 お手軽に見栄えが戻るので大成功ですね(^^)/
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【NOBのArduino日記!】目次に戻る


 

CR-Z(IMAバッテリークーリングファン交換)

HONDA (ホンダ) 純正部品 モーターASSY. クーリングフアン 品番1J816-RMX-003

 最近熱くなってきたからなのか、CR-Zの何処かの部品が寿命なのか分かりませんが、今まで聞いた事の無いファンの唸り音が後部座席側から聞こえて来るようになりました(;'∀')車のエンジンをOFFしてもファンの唸り音が止まりません!?

 Google先生に聞いてみると、どうやらIMAバッテリー冷却ファンの寿命の可能性があるそうで、ファンの異音がしたら交換した方が良いそうです。

 Amazonで普通に純正ファン「品番1J816-RMX-003」のモーターASSYが売っていたので購入しDIY交換してみました(*^^)v

1.CR-Zリアトランクを開け、

2.車載工具BOXを外し、

3.底板の爪二か所を外し、

4.樹脂内装を剥がし

5.エアダクトの樹脂カバーを外し、
※配線が有るので断線注意、コネクタは抜いておきます。

6.右側面内装樹脂カバーをめくると、

7.こんな形で車体右後方に目的のクーリングファンが見えます。

8.ボルト1/3外し

9.ボルト2/3外し

10.ボルト3/3外し

11.以上M10ボルトが3本外せました。

12.あとはクリップ1か所と、

13.クーリングファンの電源コネクタを抜き、

14.ダクトを力で強引に引き抜けばクーリングファンが取れます。

15.左:旧クーリングファン、右:新品クーリングファンのモーター

16.プラスねじ3か所で止まっている旧クーリングファンモーターを外し、

17.新しく買ったクーリングファンモーターに差し替えます。

18.そして、逆手順で戻し・・・
中に、CR-Zリアゲート樹脂カバー割れました・・・一応接着剤で止めておきました(´;ω;`)

19.CR-Zクーリングファンモーター差し替え完了(*^^)v

 と言う事で、1週間程度走行してみた所、若干静かになったような気はしますがエンジンOFF後のファン音がまだしますが何故でしょう?(;'∀')なぜに?

真の原因!

 再度内装を剥いた結果、原因を特定しました!上図赤〇部、ダクトが外れてますね・・・。

 これじゃあどんなにファンが最大風量を送ってもバッテリーに届くのは微風ですね(-_-;)人災(自分)なのか走行振動でダクトが外れたのかは不明ですが。バッテリーが冷却不足の異常発熱で寿命が減ったでしょうね・・・。
 クーリングファン交換については、既に20万キロ位走っているので、予防整備と言う事で良しとしましょう(;'∀')アハハ!
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【NOBのArduino日記!】目次に戻る