以下の内容はhttps://gijin77.blog.jp/archives/2023-07.htmlより取得しました。


・マルチワイヤーストリッパー PAW-01 を入手し使ってみた

◆電子工作をやっていて色々な線の被覆を剥くのに今まで単線用の
 工具を使っていました。
 今回複線(フラットケーブル)でも剥ける工具を入手しましたので
 使ってみました。使用感は良好でした。

1.外観とパッケージ
 ①表
 マルチワイヤーストリッパー表
 ②裏
 マルチワイヤーストリッパー裏
 ➂保証書
 マルチワイヤーストリッパー保証書
 ④単線用YS2(参考)
 YS2


2.実際フラットケーブルで被覆を剥いた状態
 フラットケーブル例

◆これからこれを使うことで、作業が捗りそうです。
 私は、ヨドバシで購入しましたが、アマゾンの方が安いようです。


以上


ブログトップへ

◆ESP32でBME280,AHT10,HW390,CDSのセンサーを使って
 温度、湿度、気圧、明るさ、土壌、雨滴のデータをAmbientに送り、
 グラフ化してみました。

 IoTクラウドサービス「Ambient」など下記ブログ内記事も参照してみてください。
 
 w_m_esp32
 
1.センサー類
 ①BME-280 (屋内)温度、湿度、気圧 
 ②AHT-10  (屋外)温度、湿度
 ➂HW-390 (屋外)土壌、雨滴
 ④CDS   (屋外)明るさ
 ◆雨センサーについて詳しくは、下記ブログ内記事も参照して下さい。
  ・HW-390 静電容量式土壌センサーモジュールを使ってみた

2.接続図と写真
 ①接続図(現状)
 (屋内と屋外をLANケーブルで繋いでいます。ケーブル長はi2cの許容範囲の
  5mとしました。)
  実験データは、下記参照
  I2C回路の失敗例:配線長を伸ばしすぎるとどうなる?
 気象モニターV2接続図

 ①-2 現状の接続図の経緯と改良について
  1.初期の頃、屋外はCDSのみの単独でした。
  2.次に屋外に温湿度センサーとアナログ式(スリット式)土壌、雨滴センサー
   を使い、3.3Vのみの単一電源でした。
  3.最近土壌、雨滴センサーを静電容量式に替えた時、3.3Vの負荷が増え3V以下
   に電圧降下したので、別途5Vを追加しました。
  4.最初から作るのでしたら下図のように電源は5V一本で送り屋外にて三端子
   レギュレータで3.3Vを作り、CDSもLANケーブルの余りの端子に繋ぐと
   スッキリすると思います。
 気象モニターV3接続図

 ②ESP32とBME280
 w_m_esp32

 ➂雨滴センサー(少しでも早く雨滴が乾くよう斜めに取付けてあります。)
 雨滴センサー

 ④土壌センサー
 土壌センサー

 ⑤明るさセンサー
 明るさセンサー


3.スケッチ
 (保障無しの自己責任で)  weather_monitor_3F.ino

  ◆スケッチの中のssid,password,channelID,writekeyは、それぞれご自分の
  物に修正して下さい。
 your_ssid_pw

4.IoTクラウドサービス「Ambient」を使用するには下記でユーザー登録します。
  Ambient チュートリアル

5.グラフ表示の様子(6月の数日間)
 ambient気象データ6月

以上


ブログトップへ

◆最近ESP32S3のプログラムで遊ぶようになって、USB OTG機能とプログラム書き込みを
 同じUSBポートでやるときに、いちいちケーブルの抜き差しで対応してきました。
 なので、これを簡単に出来るようにUSBの切替器を作ってみました。
 ◆2023/07/15 5VON/OFF SW追加
 usb_sw_2nd

1.回路説明と回路図
 ①Vbus,D-,D+,GNDの4本の線を完全に切り替える。
 ②電源不要とする為、リレーなど電子部品を使わず4回路2接点の切換SWを使う。
 ➂Type-CオスをType-Cメス二系統に切り替える。
 ④2023/07/15 5VON/OFF SW追加
 usb_sw回路図V2

2.使用部品の調達
 ①4回路2接点のスイッチ アマゾン

 ②Type-Cメス   2個 Aitendo
  ★TYPE-C★実装済みUSBモジュール [UC12PA]
 Type-Cdip化基板
 

 ➂Type-Cオスケーブル及びケース  100均 Cando
 ④2023/07/15 5VON/OFFトグルSW追加
 
3.実際の部品と完成写真
 ◆Type-Cオスケーブルの色(Vbus:赤,D-:白,D+:緑,GND:黒)
 ①配線前
 usb_sw-1

 ②配線後
 usb_sw-2

 ➂完成時
 usb_sw-3
 
4.以前作ったCardKB代用USBキーボードで試験してOKでした。
 これで開発中、ケーブルの抜差無しで出来るようになりました。
 ◆ESP32S3単独で開発する場合、OTGモードの時、電源の供給を
  する為に、電源SWを設けた方が良さそうですね。

 usb_sw-4
 
 ◆2023/07/15 5VON/OFFトグルSW追加
 usb_sw_2nd
以上


ブログトップへ

◆2号機を作った後、LCDを3.5インチに替えて配置を変えて3号機を
 作ってみました。
 ・USB ケーブルテスターを作ってみた。(その二)

 ◆下記は、PDFファイル12ページの説明です。パソコンでご覧下さい。
  



 以前作っていたケーブルテスターを今日(7/9)久しぶりにUSBケーブルの試験の為、
 動かしたら液晶表示が真っ白ののまで表示しませんでした。
 これを期にブログにまとめました。

1.やったこと
 ①LCDを別のMEGAに繋いでテストプログラムを実行したら問題なく
  表示出来たのでLCDは、壊れていない事を確認出来ました。
 ②続いて昔のスケッチをコンパイルしてみたらエラーとなりました。
 ➂グラフィックライブラリのエラーだったので最新版をインストール
  して、コンパイルし書き込みできるようになりました。
 ④元のMEGAにもスケッチを書き込みしLCDを繋ぎ変えましたが
  真っ白のままで変化なしでした。
 ⑤どうも元のMEGAの不具合しか考えられないですが、配線を組み替える
  のが大変なので何回がLCDを差し替えたりしましたが直りません。
 ⑥なので、仕方なく配線替えしました所、正常に動作するようになりました。

2.配線図と実際の写真
 ①Type-Cの24ピンを最大に他のコネクタの同じGPIO番号を並列に接続します。
 ②LCDは、かさ上げピンヘッダーを通してそのままソケットに差し込みます。
 USB_HDMIケーブルテスターV3-2
 
 ➂LCD裏とMEGA2560 配線後の写真
  各コネクタのDip化基板を上側(L)、下側(R)毎にジャンパー線で並列に繋いでいきます。
  ・ソフト上では上側をL側、下側をR側としています。
 USB_tester-2

 ④完成後、試験時の写真「Type-Cのケーブルテストの様子」
 USB_tester


3.スケッチは、下記に置いときます。
  (保障無しの自己責任で)  mega_usb_hdmi_tester.ino
 ①48個のI/Oピンを全てPULLUP入力に設定し、順次1ピン毎に0を出力し、
  47ピンをスキャンし、入力に0が現れたピンが、出力ピンと繋がっている
  ものと記録しています。
  そのデータを液晶にピン名を反転表示しています。
  ◆Vbus,GND,CC,D+,D-が反転表示。(Type-C to Type-cの試験)
 Type-C-C

 ②同時にシリアルモニタにもGPIOピン情報と共に48ピン分の接続状況を
  表示します。またデバッグ情報としてタッチ座標も表示します。
  シリアル出力Type-C-C
 
4.測定画面
  下記動画は、USB3 Type-A - TypeCを測定している様子です。
  
 
測定は、色々な組み合わせで出来ます。
 例えば、USB2 Type-A-Type-C とかUSB3 Type-A - Type-Cとか
  下記は代表的な測定の場合。
 ①Type-B - USB2.0 Type-A
 Type-B_Type-A

 ②Mini-B/Micro-B(USB2/3) - Type-A(USB2/3)  
 Mini_Micro-B_Type-A23

 ➂Type-C - Type-C
 Type-C_Type-C

 ④HDMI - HDMI 
 HDMI_HDMI


以上


ブログトップへ

◆M5Stack用CardKBの代わりに市販のUSBキーボードとAtomS3を
 使い、USBからI2Cに変換して繋いでみました。
 M5Stack-CardKB-UsbKB-2

1.CardKBについては、下記を参照
  CardKB v1.1

2.I2Cのマスター側(M5Stack Basic)のスケッチは、下記ののままで動作します。
  CardKB.ino

3.USBUSBキーボードをAtomS3に繋ぐには、下記ブログ内記事を参照して下さい。
  ・AtomS3にUSB Keyboardを繋いでみた

4.本題は、AtomS3にてI2Cのスレーブで動くようにすることです。
 ①まず、I2Cの動きを理解する為に、下記サイトを参照し、二つのESP32で実験し、
  上手く動きました。
  【コード付き】I2Cの Master / Slave 間の通信をESP32を2個使って試す

 esp32-i2c-test

 esp32-i2c-test2

 ②次にAtomS3のグローブ端子を使いI2Cスレーブで動くようにします。
  1.GPIO番号は、G2,G1なので、それをSDA,SCLに設定する必要があります。
 AtomS3-i2c端子

   ここではまりました。
   Wire.begin(SDA,SCL);で設定できません。
  2.ライブラリのソースを眺めて
   Wire.setPins(SDA_PIN, SCL_PIN);を発見
   これで、G2,G1をSDA,SCLに出来ました。
  3.I2Cのアドレスは、0x5FとCardKBと同じにします。
 ➂後は、マスターからの要求に対して1バイトのAsciiコードを返すように
  します。

 ④テストするにあたって、グローブ端子の信号を見るため中継用の
  道具を作り、オシロで信号を見ながら動作を確認しました。
 i2c-test1

 i2c-test2
  
5.出来上がったスケッチ例です。保障無しの自己責任で。
 ①atoms3_usb_host_keybord_to_i2c.ino
 ◆USBキーボードから一文字入力が有れば、液晶に表示し、
  マスターからのリクエストで一文字I2C出力します。

//atoms3_usb_host_keybord_to_i2c.ino v20230706
//http://gijin77.blog.jp/archives/37426889.html
//USBキーボードをカードキーボードに変換(CardKB v1.1)

#include <M5AtomS3.h>
#include "EspUsbHost.h"
#include <Wire.h>

#define SDA_PIN 2 
#define SCL_PIN 1

uint8_t keyPressed=0;
uint8_t KEY=0;

class MyEspUsbHost : public EspUsbHost {
  void onKeyboardKey(uint8_t ascii, uint8_t keycode, uint8_t modifier) {
    KEY=ascii;keyPressed=1;
    if (' ' <= ascii && ascii <= '~') {
      M5.Lcd.printf("%c", ascii);
    } else if (ascii == '\r') {
      M5.Lcd.println();
    }
  };
};

MyEspUsbHost usbHost;

void requestEvent() {
  if (keyPressed == 1) {
    Wire.write(KEY);
    keyPressed = 0;
  } else {
    Wire.write(0);
  }
}


void setup() {
  M5.begin(true, false, false, false);  // Init M5AtomS3
  M5.Lcd.setRotation( 3 );
  M5.Lcd.clear();
  M5.Lcd.setTextSize(2);
  M5.Lcd.println("EspUsbHostKeybord to I2C" );

  usbHost.begin();
  usbHost.setHIDLocal(HID_LOCAL_Japan_Katakana);

  Wire.onRequest(requestEvent);
  Wire.setPins(SDA_PIN, SCL_PIN);
  Wire.begin(0x5f);

}

void loop() {
  M5.update();  // Read the press state of the key
  if (M5.Btn.wasReleased() || M5.Btn.pressedFor(1000)) {
    M5.Lcd.clear();
    M5.Lcd.setCursor(0,0);
  }
  usbHost.task();

}

 atoms3-i2c
  

 AtomS3Liteでも表示なしで使えます。
 ②atoms3lite_usb_host_keybord_to_i2c.ino
 ◆USBキーボードから一文字入力が有れば、青色LEDを一瞬点灯し、
  マスターからのリクエストで一文字I2C出力します。
//atoms3lite_usb_host_keybord_to_i2c.ino v20230706
//http://gijin77.blog.jp/archives/37426889.html
//USBキーボードをカードキーボードに変換(CardKB v1.1)

#include <FastLED.h>
#include <M5AtomS3.h>
#include "EspUsbHost.h"
#include <Wire.h>

#define SDA_PIN 2 
#define SCL_PIN 1

#define PIN_SW     41   // 本体釦 atoms3lite
#define PIN_LED    35   // 本体フルカラーLEDの使用端子(G21)
#define NUM_LEDS   1    // 本体フルカラーLEDの数

uint8_t keyPressed=0;
uint8_t KEY=0;
CRGB leds[NUM_LEDS];

class MyEspUsbHost : public EspUsbHost {
  void onKeyboardKey(uint8_t ascii, uint8_t keycode, uint8_t modifier) {
    KEY=ascii;keyPressed=1;
    leds[0] = CRGB(0, 0, 255); 
    FastLED.show();
    delay(100);
    leds[0] = CRGB(0, 0, 0); 
    FastLED.show();
  };
};

MyEspUsbHost usbHost;

void requestEvent() {
  if (keyPressed == 1) {
    Wire.write(KEY);
    keyPressed = 0;
  } else {
    Wire.write(0);
  }
}

void setup() {
  M5.begin(true, false, false, false);  // Init M5AtomS3
  FastLED.addLeds<WS2812B, PIN_LED, GRB>(leds, NUM_LEDS);
  for( int i=0;i<2;i++) {
    leds[0] = CRGB(255, 0, 0);   // 白色(赤, 緑, 青)※3色それぞれの明るさを0〜255で指定
    FastLED.show();
    delay(1000);
    leds[0] = CRGB(0, 255, 0);   // 白色(赤, 緑, 青)※3色それぞれの明るさを0〜255で指定
    FastLED.show();
    delay(1000);
    leds[0] = CRGB(0, 0, 255);   // 白色(赤, 緑, 青)※3色それぞれの明るさを0〜255で指定
    FastLED.show();
    delay(1000);
  }
  leds[0] = CRGB(0, 0, 0); 
  FastLED.show();
  
  usbHost.begin();
  usbHost.setHIDLocal(HID_LOCAL_Japan_Katakana);

  Wire.onRequest(requestEvent);
  Wire.setPins(SDA_PIN, SCL_PIN);
  Wire.begin(0x5f);

}

void loop() {
  usbHost.task();

}

 Atoms3lite-i2c

◆CardKBの代わりをUSBキーボードで実現出来ました。

以上

ブログトップへ

◆AtomS3のUSB HOST機能を使ってUSBキーボードを繋いでみました。
 atoms3_kbd-1

1.AtomS3の使い方などは、下記のサイトが参考になります。
 ①AtomS3の使い方、端子配列、開発環境、サンプルプログラムで詳しく紹介
 ②AtomS3の便利な使い方、日本語表示、並列処理、PWM、カウントダウンタイマ

2.AtomS3のUSB HOST機能については下記を参照しました。
 ◆EspUsbHost
  ①上記よりzipファイルをダウンロードし、
   Arduino IDEに「ZIP形式のライブラリをインストール」として登録します。
  ◆直接ライブラリマネージャーで検索してインストールするとコンパイル時
   エラーとなりました。
 ②サンプルをシリアル出力ではなくAtomS3の液晶画面に表示するように変更しました。

3.確認環境 2022/07/03時点
  ①Arduino IDE 1.8.19
  ②Windows11 X64 Pro 21H2 
  ➂ボード M5Stack バージョン2.0.7
  ④ライブラリ M5AtomS3 バージョン0.0.3
  ⑤ライブラリ EspUsbHost バージョン1.0.1

4.スケッチについて
 ①キーボードを押すたびにアスキー文字で1文字づつ画面に表示していきます。
 ②リターンを押すと改行します。
 ➂画面いっぱいになったら画面外に表示されていると思います。
 ④ここで、画面SWを押すと、画面をクリアして最初から表示していきます。
 ◆カーソル位置の制御などは、していませんので追加すれば良いと思います。

 ④短いソースなのでここに貼り付けます。保障無しの自己責任で。
 「atoms3_usb_host_keybord.ino」
//atoms3_usb_host_keybord.ino v20230703
//http://gijin77.blog.jp/archives/37402177.html
#include <M5AtomS3.h>
#include "EspUsbHost.h"

class MyEspUsbHost : public EspUsbHost {
  void onKeyboardKey(uint8_t ascii, uint8_t keycode, uint8_t modifier) {
    if (' ' <= ascii && ascii <= '~') {
      M5.Lcd.printf("%c", ascii);
    } else if (ascii == '\r') {
      M5.Lcd.println();
    }
  };
};

MyEspUsbHost usbHost;

void setup() {
  M5.begin(true, false, false, false);  // Init M5AtomS3
  M5.Lcd.setRotation( 3 );
  M5.Lcd.clear();
  M5.Lcd.setTextSize(2);
  M5.Lcd.println("EspUsbHostKeybord" );

  usbHost.begin();
  usbHost.setHIDLocal(HID_LOCAL_Japan_Katakana);
}

void loop() {
  M5.update();  // Read the press state of the key
  if (M5.Btn.wasReleased() || M5.Btn.pressedFor(1000)) {
    M5.Lcd.clear();
    M5.Lcd.setCursor(0,0);
  }
  usbHost.task();
}



4.コンパイルについて
 ①IDEで「ツール」「ボード」「M5Stack Arduino」「M5Stack ATOMS3」とボードを選択します。
 IDE_ボード選択

 ②続いて「ツール」「USB Mode」「USB-OTG(TinyUSB)」と設定します。
 IDEボード設定USB

 ➂同じく「シリアルポート」「COM17(ESP32S3 Dev Module」と設定します。
  COM番号は、環境により番号が変わっていると思います。私の場合は17でした。
 IDEボード設定COM

 ④リセットボタンを2秒以上押し、書き込みモードにしてから書き込みます。
  この時、リセットボタンの下で緑のLEDが一瞬光ります。

 ⑤「→」でコンパイルし、書き込みます。

 ◆コンパイル時に下記エラーが、発生しましたので該当のライブラリ部分を
 コメントアウトしました。  色々調べましたが原因が、分かりません。
 お分かりの方は、ご教示お願いします。
  
 C:\Users\yoshito\Documents\Arduino\libraries\M5AtomS3\src\M5AtomS3.cpp:20:9:
  error: 'USBSerial' was not declared in this scope
         USBSerial.begin(115200);
         ^~~~~~~~~

   *****\libraries\M5AtomS3\src\M5AtomS3.cppの下記を部分をコメントアウトします。
 18:/*
 19:    if (USBSerialEnable) {
 20:        USBSerial.begin(115200);
 21:        USBSerial.flush();
 22:        delay(1200);
 23:        USBSerial.println("M5AtomS3 initializing...OK");
 24:    }
 25:*/

5.キーボードを繋いでの動作試験
 ①書き込みが終わったら、一回電源を切ります。(USBケーブルを抜く)
 ②USB-OTG対応のType-C=>Type-Aの変換コネクタを使いUSBキーボードを接続します。
   ◆100均でも売っています。
 ➂AtomS3の5Vピンに外部電源を供給します。
 atoms3_kbd-2

  ④ATOMS3のピンアサイン
 atoms3ピンアサイン

以上

ブログトップへ

◆2023年5月18日のゴーヤほか栽培を始めました。
 今年も、ミニトマト、ゴーヤ、キュウリを植えました。
 ①ミニトマト高性(実生)x2 148円
 ②かんたんキュウリ x2 302円
 ➂よく穫れるゴーヤ 272円
 ④中太あばしゴーヤ 217円
 ⑤大実願寿ゴーヤ  217円
       合計 1,156円

 うまく育ってくれますように。

 
2023/07/01 現在
 ①ミニトマト
 2023園芸0701-0

 ②キュウリ
 2023園芸0701-1

 ➂ミニトマトとキュウリの収穫
  まだゴーヤは出来ていない。
 2023園芸0701-2

2023/06/05 現在
 ①ミニトマトとゴーヤ
 2023園芸0605-1

 ②ゴーヤとキュウリ
 2023園芸0605-2

 2023/05/18 現在
 ①ミニトマトとゴーヤ
 20230518ゴーヤ-1
 ②ゴーヤとキュウリ
 20230518ゴーヤ-2



以上


ブログトップへ



以上の内容はhttps://gijin77.blog.jp/archives/2023-07.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14