電子工作の備忘録

①USBケーブルテスター(その二)
②USBケーブルテスター(その一)
③TEA5767でFMラジオを作ってみた
④AD9833を使って信号発生器を作ってみた
⑤DSO-150バッテリー内蔵化とFirmwareのUpgrade
⑥M5STACKもどき
⑦ポップノイズ除去対策回路
⑧○○          
⑨○○          
⑩○○          
⑪○○          
⑫○○          








①USBケーブルテスター(その二)

USB ケーブルテスターを作ってみました。(その二)
2号機として、色々考えていて,ARDUINO MEGA2560がIO端子がたくさんあることを知り、使ってみることにしました。
直接、48の入出力することが出来て、ハードもソフトも楽になりました。
ついでに、HDMIも追加しました。

MEGA2560

**************************************************************************
ここから色々なUSBケーブル試験時の写真です。
色塗りの信号線が、他と接続されていることを示します。
**************************************************************************
①USB2.0 <-> MicroB 充電専用ケーブル

D-D+がショートされている。

②USB2.0 <-> MicroB ケーブル


③USB2.0 <-> TYPE-Bケーブル

シールドも接続されている。

④USB2.0 <-> TYPE-Cケーブル

データ線は、D+-のみ接続されている。

⑤USB3.0 <-> TYPE-Cケーブル

⑥USB2.0 TYPE-C  <->  TYPE-Cケーブル

データ線は、D+-のみ接続されている。

⑦USB3.0 TYPE-C  <->  TYPE-Cケーブル


⑧HDMI  <-> HDMIケーブル


以上

ページトップへ



②USBケーブルテスター(その一)

USB ケーブルテスターを作ってみました。(その一)
1号機は、ESP32と4051(8chアナログセレクター)を使いました。
TYPE-Cは、24端子あるのでTYPE-C<->TYPE-Cをチェックするのに
48の入出力が必要になります。ESP32では、到底足りないので4051を
使って端子数を増やして測定することにしました。
写真は、TYPE-A <-> microB でのものです。

拡大写真

4051を使った回路図

次は、その二へ

ページトップへ



③TEA5767でFMラジオを作ってみた

EA5767をArduinoで制御してFMラジオを作ってみました。

写真は必要な部品
①1pc TEA5767 プログラマブル 低消費電力のFMステレオラジオ Arduino用のモジュール
②HiLetgo 0.96" I2C シリアル 128×64 OLED LCDディスプレイSSD1306液晶 STM32/51/MSP430/Arduinoに対応 ホワイト [並行輸入品]
③ブレッドボード
④UNO R3開発ボード USBケーブル付属 Arduinoと互換


ピン接続表
周波数の設定は、アップ釦(pin3)、ダウン釦(pin2)でプラス、マイナス0.1MHzと
メモリにあらかじめ設定した周波数を呼び出すメモリ釦(pin4)で対応しています。
ライブラリは、下記のサイトを使わさせていただきました。
ありがとうございます。
ARDUINO FMラジオを作る!(TEA5767を使用)
ライブラリファイル このライブラリをC:\Arduino\librariesに追加します。
あと下記のファイルを変更して日本のFM周波数帯にしました。
C:\Arduino\libraries\TEA5767-master\TEA5767.cpp
void TEA5767::init() {
  ctrl_data.port1 = 1;
  ctrl_data.port2 = 1;
  ctrl_data.high_cut = 1;
  ctrl_data.st_noise = 1;
  ctrl_data.soft_mute = 1;
  ctrl_data.deemph_75 = 0;
  ctrl_data.japan_band = 1; //0->1変更
  ctrl_data.pllref = 0;
Arduinoスケッチ
fmradio.ino
プログラムは、保証できませんので参考程度にお考え下さい。
**** 今日は、ここまで *******************************

ページトップへ



④AD9833を使って信号発生器を作ってみた

AD9833をArduinoで制御して信号発生器を作ってみました。
UIをスイッチやロータリーエンコーダーで考えましたが、操作性などから
タッチパネル付LCDを使用することにしました。


写真は調達した必要な部品
①Elegoo UNO R3 2.8 Inches TFT ターチスクリーン カードソケット付 Arduino用の技術データ
②GAOHOUAD9833 DDS信号発生器モジュールプログラマブル・マイクロプロセッサ正弦波
③Prototype PCB Expansion Board For Arduino ATMEGA328P UNO R3 Shield FR-4 Fiber
  PCB Breadboard 2mm 2.54mm Pitch With Pins DIY One
④UNO R3開発ボード USBケーブル付属 Arduinoと互換

ピン接続表

100均のケースにバッテリーも含め組み込みました。

実際の出力画面①サイン波

実際の出力画面②三角波

実際の出力画面③方形波

Arduinoスケッチ
unosg.ino
プログラムは、保証できませんので参考程度にお考え下さい。
**** 今日は、ここまで *******************************

ページトップへ



⑤DSO-150バッテリー内蔵化とFirmwareのUpgrade

1.DSO-150をポータブルに使うためにバッテリーを内蔵した。
それと、シリアル通信もすぐにできるようにUSBシリアル変換ボードも一緒に内蔵した。スペースの関係で基盤をカットして加工した。
写真は調達した必要な部品
①Rasbee 5V 1A 18650 リチウムバッテリー チャージボード Micro USB チャージモジュール プロテクト 1個 [並行輸入品]
②Rasbee USBポート 2A DC-DC ブーストステップアップ 転換モジュール Micro USB 2V-24V to 5V-28V 9V 12V 24V 1個 [並行輸入品]
③バッテリー(モバイルバッテリーを分解して流用)
④USB2.0 TO TTL 6ピン シリアル·コンバータ UART モジュール CP2102 STC 6ピンケーブル

仮配置して試験時

実際の配置時

組み立て後の動作確認時


2.ファームウェアのアップグレードについて
DSOシェルのファームウェアをアップグレードする方法
https://jyetech.com/Products/LcdScope/DSO150_HowToUpgradeFirmware.pdf
ファームウェアをアップグレードする時は、JP1とJP2をショートする必要があるため、分解しないでアクセスするために外にジャンパー線を引き出した。ピンの所は、パターンカットして接続


バージョンを111から113にアップグレード後の写真

これで、快適に遊べます。

ページトップへ



⑥M5STACKもどき

M5STACKもどきを作ってみました。

写真は、下記ディスプレイデモの最初の画面
C:ArduinolibrariesM5StackexamplesBasicsDisplayDisplay.ino


次の写真は、オシロスコープを入れて動いているのがわかります。


表示部の拡大(ちゃんと表示されている)



最近M5STACKに興味がわき、似たような事ができないか次の部品を購入して
作ってみました。ゆくゆくは、ケースに入れようと思っています。

①HiLetgo ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード

②HiLetgo® 2.8 "TFT LCDディスプレイ タッチパネル SPIシリアル240 * 320 ILI9341 5V / 3.3V STM32 [並行輸入品]

次に、ライブラリ TFT_eSPI(Bodmer) を参考にM5STACKのライブラリを修正して、
M5STACKもどきを構築してみました。

①.ハード面の接続
********************************************
LCDボード <-> ESP32(M5STACK)
 1 VCC          3.3V
 2 GND          GND
      GPIO番号
 3 TFT_CS    14 TFT_CS_PIN
 4 RESET        33 TFT_RST_PIN
 5 TFT_D/C      27 TFT_DC_PIN
 6 TFT_SDI      23 TFT_MOSI_PIN
 7 TFT_SCK     18 TFT_CLK_PIN
 8 LED           32 TFT_LED_PIN
 9 TFT_SDO      19 TFT_MISO_PIN
10 T_CLK        18 パラ接続
11 T_CS          21
12 T_DIN         23 パラ接続
13 T_OUT        19 パラ接続
14 T_IRQ         オープン

 1 SD_CS           4
 2 SD_MOSI      23 パラ接続
 3 SD_MISO      19 パラ接続
 4 AD_CLK        18 パラ接続
 
釦              39 BUTTON_A_PIN
                  17 BUTTON_B_PIN
                  16 BUTTON_C_PIN

スピーカー       25 SPEAKER_PIN

オシロとダブり  5 LORA_CS_PIN
                  26 LORA_RST_PIN
オシロとダブり 36 LORA_IRQ_PIN

 シリアル      3 RXD
                   1 TXD

内部使用         6,7,8,9,10,11

オシロ関連     35 ADC_PIN0
                 36 ADC_PIN1
                 2 TEST_PIN0
                  5 TEST_PIN1

未設定         12,13,15,22,34

②.ソフト面の変更(次の3つのファイルを変更)
********************************************
c:\Arduino\libraries\M5Stack\src\utility\Config.h
*釦のB,Cのピン番号を変更

23:#define BUTTON_A_PIN 39
24:#define BUTTON_B_PIN 17 //38
25:#define BUTTON_C_PIN 16 //37

c:\Arduino\libraries\M5Stack\src\utility\Display.h
*縦横を変更

29:#define TFT_WIDTH 240  //320
30:#define TFT_HEIGHT 320 //240

c:\Arduino\libraries\M5Stack\src\utility\Display.cpp
*356:--399:までrotation設定をそっくり入れ替え

  switch (rotation)
  {
  case 0:
    writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_BGR);
    _width = TFT_HEIGHT;
    _height = TFT_WIDTH;
    break;
  case 1:
    writedata(TFT_MAD_MX | TFT_MAD_BGR);
    _width = TFT_WIDTH;
    _height = TFT_HEIGHT;
    break;
  case 2:
    writedata(TFT_MAD_MV | TFT_MAD_BGR);
    _width = TFT_HEIGHT;
    _height = TFT_WIDTH;
    break;
  case 3:
    writedata(TFT_MAD_MY | TFT_MAD_BGR);
    _width = TFT_WIDTH;
    _height = TFT_HEIGHT;
    break;
  // These next rotations are for bottum up BMP drawing
  case 4:
    writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_BGR);
    _width = TFT_HEIGHT;
    _height = TFT_WIDTH;
    break;
  case 5:
    writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR);
    _width = TFT_WIDTH;
    _height = TFT_HEIGHT;
    break;
  case 6:
    writedata(TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_BGR);
    _width = TFT_HEIGHT;
    _height = TFT_WIDTH;
    break;
  case 7:
    writedata(TFT_MAD_BGR);
    _width = TFT_WIDTH;
    _height = TFT_HEIGHT;
    break;
  }

********************************************

ページトップへ



⑦ポップノイズ除去対策回路)

WINGONEER TPA3116D2 2x50W + 100W 2.1チャンネルデジタルサブウーファーパワーアンプボードDC12V-24V を買ってみました。 音質、音量共にそれなりに満足しました。
ただ、電源オン/オフ時にものすごい「ボコッ」っていうポップノイズが出て気になりました。なので、写真の所、ICの12番ピンmuteにポップノイズ除去対策回路を追加してみました。
これで、電源オン/オフ時のポップノイズがなくなりました。
簡単な回路説明ですが、C1(10uF)で、電源オフ時にmuteをHにする時間を、C2(4.7uF)で電源オン時にmuteをHにする時間を、R1(150k)でmute端子を約5Vになるよう調整しました。




ページトップへ



⑧○○


さて、何を作ろうかな

ページトップへ



⑨○○


さて、何を作ろうかな

ページトップへ



⑩○○


さて、何を作ろうかな

ページトップへ



⑪○○


さて、何を作ろうかな

ページトップへ



⑫○○


さて、何を作ろうかな

ページトップへ
下記サイトには、無断でリンクしていますので自己責任で閲覧して下さい)

電子部品販売店
秋月電子通商
aitendo
千石電商
エレキット(イーケイジャパン)
桜パーツ
ビット・トレード・ワン
共立エレショップ
マルツパーツ