フォト
2019年9月
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          
無料ブログはココログ

通販

2019年8月 2日 (金)

SSD1322搭載3.12インチ OLEDの動作確認

AliexpressでコントローラSSD1322搭載 3.12インチ OLEDディスプレイを入手しました。

入手サイト
TZT Real OLED Display 3.12" 256*64 Dots Graphic LCD Module Display Screen LCM Screen SSD1322 Controller Support SPI
01_20190802090601

$20.70と少々お高いですが、以前に比べるとお手頃な価格になってきました。

実際の製品

届いた製品です。0.96インチ(上)と比較するとやはり大きいです。
Dscn1942

マニュアル類の付属がないため、製品販売ページの情報をもとに使い方は調べる必要があります。
購入先の業者に問い合わせても良いと思います。


製品仕様について

てっきりモノクロ(単色)だと思っていたのですが、
SSD1322の仕様を調べると、1ドット当たり4ビットの16階調表示でした。
256x64ドット、1ドットあたり4ビットのためバッファを使う方式でのプログラム実装では
バッファサイズは8kバイト必要となります。

2x16のピンヘッダでの接続となります。
インタフェースとしては、SPIの他にパラレル接続も可能です。
Photo_20190802094501
デフォルトではパラレル接続モードになっています。
裏のシルク印刷の設定をみてSPI(4SPI)接続に変更しました(R6の抵抗を取ってR5につける)。
Dscn1976

SPI(4SPI)で利用する場合、モジュールのピンヘッダのうち、下記のピンを利用します。
(Reset、CS、DCはArduinoの任意のピンでOK)
02_20190802094201
Arduinoでの動作確認

利用ライブラリ

ググって探して、次のライブラリを試してみました。
1) U8glib V2 library for Arduino
    https://github.com/olikraus/U8g2_Arduino
2) Arduino library for 256x64 OLED ER-OLED032-1 (SSD1322 driver)
    https://github.com/cvonk/arduino-SSD1322

接続はこんな感じです。
Dscn1977
結論を先に述べると、1)のU8glibの利用がお勧めです。
16階調表示には対応していないですが、フレームバッファ使わない方式にも対応しています。
下記の画像はU8glibを使った動作です。

Dscn1961
Dscn1965
Dscn1966
表示がとても綺麗です。文字の表示にも、もちょうど良いサイズです。

U8glibのサンプルスケッチをコンパイルする使う場合、コメントアウトされている下記を有効にします。
   U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h

U8glibでも、フルサイズのバッファを使う場合、バッファサイズとして2kバイトが必要です。
Arduino Unoでは利用出来ません。Arduino MEGA2560で利用出来ました。

SPI接続では、OLEDモジュールからの表示内容の読み出しが出来ないため
表示している内容に追記するような場合は、Arduino側でバッファが必要となります。
バッファを使いない場合、グラフィック描画時に制約が発生します。

2)のライブラリはAdafruit_SSD1306がベースのライブラリなのですが、
古いAdafruit_GFXを使っているためか、Adafruit_GFXのメンバ変数参照でコンパイルエラーが
発生し、ライブラリソースの修正が必要でした(このあたりの対応は省略します)。

さらにバッファとして最低2kバイト(単色利用時)が必要です。Arduino Unoでは利用出来ません。
Arduino MEGA2560ではとりあえず動きました。

Dscn1970

16階調での利用は、バッファサイズ8kバイトが必要なため、Arduino MEGA2560でも利用出来ませんでした。


まとめ

このSSD1322搭載の本製品、ドットサイズが256x64、16階調、表示が綺麗で見やすいのです。
文字を表示にも適したサイズです。
ただし、16階調(1ドット4ビット)は、メモリ消費が多くなり、ちょっと使いにくいです。

16階調の表示の評価として、何か写真っぽいのを表示を試して見たいと思います。

2019年7月29日 (月)

SCART・HDMIコンバータを追加購入しました

(MSX2のRGB出力のお話です)

以前購入したSCART・HDMIコンバータがもう一つ欲しい(別の部屋で利用)ので、Aliexpressにて追加購入しました。

以前購入したところとは別の業者から購入しました。

 EastVita SCART HDMI to HDMI Converter
01_20190729183301

届いた製品
Dscn1928 Dscn1930
類似品が複数あり、商品説明には、ScartからのRGB入力に対応している記載が無いのでちょっと冒険的な購入でしたが、
綺麗に表示出来ました。RGB信号に対応しているようです。

32インチのテレビへのHDMI出力表示
Dscn1933 Dscn1936

ただし、付属のACアダプタに問題があるようで動作しません。手持ちのPSEマーク付きのACアダプタを使うとちゃんと動作しました。
最初から、怪しいACアダプタを使う気は無かったので良しとします。

以前購入したものと比較すると、全く同じものみたいです(この時点で区別出来なくなりました)。
Dscn1932

ACアダプタが不良品でしたが、送料込み$19(2200円くらい?)でしっかりとした作りで良い製品だと思います。

 

2019年3月 4日 (月)

Aliexpressで久しぶりにひどい製品が到着

AliexpressにてフラッシュメモリAM29F040を注文したのですが、
久しぶりにひどい詐欺製品が到着しました。

Dscn9720


貼られていたラベルを剥がして再利用した感じです。傷だらけです。

商品説明には、
   Condition:New
の記載があるのですが、これはどうみても新品ではありません。

Aliexoress、まだ、こんな悪質な業者が残っているんですね。
売り手には、文句を言って交渉の上、紛争を起こす予定です。


2019/03/05 追記

紛争を起こしました。
売り手側のミスの可能性もあるため、事前に売り手に問題点を指摘し、
代わりの商品を送付するよう、要求したのですが無言のため紛争を起こしました。

紛争を起こした後、
念のためフラッシュメモリの中身を見てみると、何らかのデータが書き込まれていました。
明らかに中古品です。

Used_ic

これを追加の証拠として提出したところ、業者の回答を待たず、速攻で
AliExpress Case Management Team が調停し、判断を下してくれました。

   Result: (結果)
     Refund: USD 15.00  ,no need to return goods(払い戻し $15、返品する必要なし)


全額払い戻しとなりました。

めでたしめでたし。

2019年2月13日 (水)

プログラマ XGecu TL866II Plus USB を入手しました

ROMライターが欲しいと思い、ネットで調べて評価の高い、
XGecu TL866II Plus USB High Performance Programmer (リンク先は公式サイトです)
を入手しました。購入はいつものAliexpressです。

海賊版が出回っているようですが、
とりあえず、「海口鑫工电子有限公司」製の純正品のようです。



Dscn9625

中身

Dscn9602

本体

Dscn9626

付属のCDのアプリは古いバージョンのようなので、公式サイトから
現時点での最新版V8.3をダウンロードしてインストールしました。

アプリの「Xgpro TL866II Plus」を起動時にファームウェアを更新するように促されたので
ファームウェアもアップデートしました。

03

とりあえず、セットアップ終了

02


このTL866シリーズ、購入には少々注意が必要です。
下位のTL866A、TL866CSが安く販売されているのですが、
公式サイトには次の警告があります
(※注意 グーグル日本語翻訳しています)

01

下位のTL866A、TL866CSは生産中止で、偽造品の恐れがあるようです。
ヒントをクリックすると、TL866A、TL866CSはかなり前から生産を中止していて
偽造品にはソフトウェアのアップグレードに制約があるみたいな記載があります。

私は当初、Aliexpressでの中華製品の購入にはブランド選択の意識は無く
安いTL866A、TL866CSを買おうと思ったのですが、
「待てよ、とりあえず、高機能!」とTL866II Plusを選択したのですが、正解でした。

2019年1月27日 (日)

安価なボイスレコーダーをMSX用データレコーダに利用する

MSX用のデータレコーダーの代わりになるのでは? 」 と思い、
安価なマイク端子付きのボイスレコーダーを入手し、試してみました。

今回試した製品

  いつものAliexpressでの購入です。レビュアー数が多く、結構売れているようです。
 
  HIPERDEAL Mp3 Player 8GB Digital Audio Voice Recorder

  01

届いた製品

意外とまともな製品で、立派な箱付き、
付属品としては、説明書、USBケーブル、イヤホン、モジュラージャックなどが付属します。

  Dscn9551

  日本語表示にも対応していました。

  Dscn9502

小型軽量、スピーカー付き、充電対応、金属フレーム、
この価格でこの機能、なかなか良い製品だと思います。

USBケーブルでパソコンに接続すると、ドライブとして認識出来ました。
色々といい感じです。

添付の説明書のスペック的な記載は下記の通りです。

Ccf20190127_0001_front_front


MSXでのデータレコーダとして利用を試し見る

まず、MSX CASIO PV-7で試したのですが、ノーマルのままではダメでした。

簡単なプログラムを作成し、このボイスレコーダで保存し、再生しても
ロード出来ませんでした。

直接録音した音を聞いてみると、音質は良いのですが、音が小さいようです。

出力増幅のため、その辺に転がっていたスピーカー用アンプモジュールを使ってみると

   「うお!」

ロード出来ました。

とりあえず、出力を増幅すれば利用出来ることが分かりました。

Dscn9498

  ※ 実は写真のアンプモジュール、BTL方式のため、この使い方はマズかったです。
      アンプ出力の+、-はGNDから浮いているので、-をライン入力のGNDに接続は
      マズかったです。とりあえず、実験ということで..

トランスを使った、入力電圧の昇圧・インピータンス変換 を試してみる

色々と施行していると、SNSにてトランスを使う方法もあるとのアドバイスを頂き、
面白そうなので試してみました。

色々と調べ、山水トランジスタ用小型トランス ST-32 を利用しました。

 

参考にしたサイト
   ・tools4bikeのblog - ヘッドホン出力・ライン入力間用昇圧トランスキット
   ・秋月電子 ST-32使用ヘッドホン出力⇔ライン入力昇圧トランスキット

この方法の理屈等については、キットの「組立説明書」に解説があります。

結線は非常に楽ちんです。
トランスのリード線をコネクタにつなげるだけです。 

Dscn9514

  ボイスレコーダのライン端子とMSXの間にトランスを入れて試してみると、
     「うぉ~!!」
  しっかりとプログラムがロード出来ました。

  Dscn9510

この方法は非常にいいですね、単純で電池不要です。
目から鱗の方法です。


ケース作り

非常に上手くいったので、使い勝手を良くしようと、ケースを作りました。
3Dプリンターでケースを作ろうと思い、まずは段ボールで試作しました。

Dscn9518

Dscn9519

途中で、だんだんめんどくさくなり、
  「マンドクセ、コノママデイイヤ」
となり、予定変更でコルクシールをカットして、貼り付け

Dscn9520

「完成!」
としました。Otz ..

Dscn9538

意外と強度もありそうなので、良しとします。
本物のテープを使ったデータレコーダやラジカセを使うよりは断然いいです。

Dscn9531

保存したファイルは、USB経由で閲覧できます。
ファイルはWAV形式です。

03

録音品質を一番良くしたのですが、ビットレートは192kbpsのようです。

02



実は、機種によっては増幅・昇圧無しに利用出来た

試しに別のMSXパソコン、National(パナソニック)  CF-2700で試してみると、

Dscn9509

悲しい(嬉しい?)ことに、何も細工せずにダイレクト接続で利用出来てしまいました。
MSX2 FS-A1でもOKでした。

個体差があるのでしょうか
CASIO PV-7は、カセットI/Fがオプションで拡張ボックスを使う方式のため、
特殊だったのかもしれません(30年の経年劣化の影響もあるかも)。

  「今までの苦労は何だったのだろう」

と、ちょっと思いつつも、色々と勉強になりました。


2019年1月20日 (日)

FUSION-C、MSXの開発環境?

ちょっと面白そうな書籍を発見、注文しちゃいました otz、あちゃ
到着待ち中です。

FUSION-C: MSX C Library complete journey. (英語)
01

この書籍の販売元のEBSoftのオンラインショップ のREPRO FACTORYのサイトで
開発環境は無料でダウンロード出来ました。

02

ショップを覗くと、面白そうな、キットが販売されています。
MSXカートリッジの自作キットまで販売されています。
この開発環境で最終的にMSXカートリッジまで実装出来るのかもしれません。

03

MSXカートリッジキット、フラシュメモリに書き込むタイプのようです。

Include in this Kit
- 1 x PCB Board
- 1 x Flash Chip Winbond W27C512 (64K / 512 Kbits)
- 1 x Electrolytic Capacitor
- 1 x Ceramic Capacitor
- 1 x Socket
- 1 x Cartridge Case

04

MSXカートリッジの作成は、チャレンジしてみたいです。
Arduinoなんかと連携出来れば、活用の幅がかなり広がりますよね。

2019年1月19日 (土)

MSX用カートリッジ 「Mapper Megaram」を入手しました

MSXとパソコン間でファイルのやり取りをしたいと思い、色々と調べ、
ちょっとお高いですが、ebayにて「Mapper Megaram(略称)」という製品を入手しました。
(このところ、散財し過ぎなので来月からは引き締めなければ.. otz)

MSX SD Mapper & Megaram 512Kb Expansion better than IDE for MSX1/2/2+/TR

02

製品と特長としては、次の通りです
・増設メモリ 512kバイト(スイッチでメモリーマップの形式を変更できるらしい)
・2スロット SDカード をハードディスク感覚で利用出来る
Nextor搭載(MSX-DOS2の上位互換のOS)

ブラジルの方が開発した製品です。
MSXが海外でも根強い人気があることを分かります。


到着した製品


遥々ブラジルから到着です。
切手ですごいことになっています。側面・裏まで貼られています。

Dscn9017_3

中は、カートリッジとSDカードのみでマニュアルは付いていませんでした。

03

とりあえず、MSX PV-7で動作確認します。
付属のSDカードをカートリッジに装入します。

05

SDカードスロットの横にスイッチが2つあるのですが、今一仕様が分かりません。

04

カートリッジからブートし、SDカードスロットをチェックしているようです。

06

見慣れたMSX-DOSっぽい画面が起動しました。
AドライブがSDカードっぽいです。

07

画面の色を変えてdirコマンドを実行すると、
SDカード内のファイル一覧が表示されました。

09

いい感じですね。MS-DOSと同じ感覚で使えます。
次にBASICコマンドを実行してBASIC環境に移動し、動作確認します。

10_2

BASICもこのカートリッジで拡張されているようです。
簡単なプログラムを作成して、SDカードに保存できるか確認してみました。
SAVEコマンドでファイルを指定して保存出来ました。

12

プログラムをNEWコマンドで消して、
LOADコマンドで読み込みも確認しました。

15

CALL SYSTEM コマンドで、Nextor環境に戻ります。

SDカードをWindows 10で覗くと、当然中を見ることが出来ます。
保存したHELLO.BASもちゃんとあります。

21

非常のいいですねぇ。中々すごいカートリッジです。
30年前に発売されたMSXですが、かなり使える環境になってきました。

このMSX-DOS2の上位互換のOSのNextor、
Konamimansさんという方が開発し、公開しています。
あの1チップMSXなんかでも利用されているようです。

Nextorに関する情報
  ・Konamiman's MSX page
  ・Konamiman/Nextor(https://github.com/Konamiman/Nextor)


SDカード内におまけが入っています^ ^;

購入後、販売元から次のようなメールが送られてきました。
(英語をgoogleで翻訳しています)

ROMファイルを実行するには、
付属のローダーSofarunを使用することができます。
MSX-DOSプロンプト(A:>)でSOFARUNと入力するだけで、
SDカード内のファイルが表示されます。ナビゲートしてROMファイルを選択し、
スペースを2回押すとロードされます。

MSX1とMSX2のためのいくつかのデモと他のものを持つ他のディレクトリがあります、
それはDOSまたはBASICによる通常のローダーによって実行されます。

はじめは全く意味が分からなかったのですが、
とりあえず、SOFARUNコマンドを実行してみます。

17

ゲームカートリッジのROMイメージファイルのようです。

19

選択してみると、RALLY-Xが起動しました。
明らかに海賊版でしょう。う~ん、この販売者、これはちょっとマズいのでは..

20

海賊版ゲームが添付されているのは、ちょっとあれですが、
SDカードをハードディスクのように使えるのは非常に素晴らしいです。
しかも、MSXとしては最低スペック(RAM 8kバイト)のPV-7がかなりつかえるマシンなります。

Nextor 環境には色々とツール類があるようなので、しばらくはいじって調査してみます。

2019年1月 8日 (火)

VS1053 MP3 プレーヤー・シールドの調査

MSXのデータレコーダ用に使えるのではないかと思い、注文したボードが到着しました。

商品購入サイト
  VS1053B Stereo Audio MP3 Player Shield

  06

到着した製品

  01

Aliexpressのため、当然マニュアル等の付属品はなく、本体のみでした。
商品ページにもマニュアル類の記載がありません。

基板上の刻印 「VS1053 MP3 Sheald」でググってみると、
ElecrowGETECHの製品に類似のものがあります。どうもこの製品っぽいです。

それぞれのページにWiki、ライブラリ、サンプルプログラムのリンクがあり、
製品概要が分かりました。

このボードに関する情報

  製品 Elecrow VS1053 MP3 Shield (Wikiページはこちら

   04

  製品 GETECH Arduino MP3 shield board with TF card (Wikiページはこちら

   03


動作確認

まずは、とりあえずボードの製品チェック、サンプルプログラムで動作確認してみます。

上記それぞれのWikiには、ボードで利用可能な、ライブラリ及びサンプルプログラム
のリンクが掲載されています。

だだし、ダウンロードして確認すると、
両方ともライブラリ Arduino_Library-vs1053_for_SdFat の古いバージョンのようです。
Arduino 1.8.7環境では、コンパイルエラーとなりました。
そこで最新版の Arduino_Library-vs1053_for_SdFatを使って動作確認を行いました。

Arduino Unoにシールドを載せ、スピーカー端子にアンプ無しスピーカーを接続します。

07

ライブラリのサンプルスケッチ fileplayer.ino を利用しました。

05

問題なくコンパイル出来ました。
実行すると、メニューが表示されます。

06

SDカードには、あらかじめ2つのMP3ファイル:hello.mp3hello.wav
入れています。
この2つのファイルは「MP3プレーヤーでMSXにプログラムをロードさせる」で
利用したHello,Worldを表示するプログラムデータです。
hello.mp3hello.wavMP3形式に変換したものです。

再生したいファイルリストの番号を入力して送信すると、
スピーカーから「ピー、ガー・ガー」と音が出力出来ました。
問題なく動作しているようです。

このスケッチプログラムでは、mp3形式wav形式の両方を再生出来ました。


MSXでカセットテープ代わりに使えるかのか確認


本来の目的の、MSXのカセットテープインタフェースにてプログラムをロードさせてみました。

デフォルトでは、失敗しましたがメニューの+コマンドでボリュームを最大の -2dBにすると
MSXでロードすることが出来ました。mp3形式wav形式ともOKでした。

機種によては、レベル不足となるかもしれません。間にアンプを入れた方が良さそうです。

08

ロードしたプログラムも実行することが出来ました。

10

とりあえず、ロードは出来たので次はMSXから音声データとしてSDカードに
保存出来るかを確認したいと思います。



2019年1月 7日 (月)

Aliexpressで入手した「タッチスイッチボタン」の動作確認

Aliexpressで面白そうなタッチスイッチボタンを見つけたので入手し、試してみました。

購入した商品のサイト

    Capacitive Touch Switch Button RGB LED Sensor Switch Module

    01_2

到着した製品
 
   とりあえず、4個 (青、緑、赤、黄)を購入しました。

   02

  裏側

   03_2

  作り具合は、意外と良さそうです。はんだ付けも問題なしです。


動作確認

  まずは、掲載されている商品情報にて仕様を確認します。   

     商品購入サイト掲載情報

  04_2

    完全に勘違いしていました。

    単なるタッチセンサー的に使うモジュールかと思いきや、
    3.3V定電圧レギュレータ搭載のようです。しかも500mA流せるようです。

    単体のみで独立したスイッチとして利用出来るようです。
    安価な3.3V電源レギュレータとしても利用出来ますね。

    確認として、このモジュールのVCCGNDにUSBケーブルにて5V電源を供給し、
    OUTピンでLEDの点灯制御を行ってみました。

  ブレットボードでの実装
 
   05_2

  動いている様子

   

  問題なく動作しました。
  タッチにて、OUTピンのオン・オフの制御を行うことが出来ました。

  タッチする度にOUTの状態が切り替わります。
  状態を保持するトグルスイッチ的な用途に使えそうです。
 
  ただし、機械的なスイッチと違ってオフの時もタッチセンサー部分の稼働のために
  電力を消費します。測定してみると、0.66mAでした。

  06_2

  次に、タッチパネル部の発光時に流れる電流を測定しました。
  (OUTピンのLEDは外しています)
  7.5mA(タッチセンサー分も含む)でした。

  07_2

  思っていたほど消費量は少ないですが、
  電池駆動でのスイッチとしての利用は避けた方が良さそうです。

2018年12月22日 (土)

Aliexpressの安価なキャラクタ液晶モジュールの動作確認

Aliexpressで安価なキャラクタ液晶モジュールを見つけ、購入しました。

1602 16x2 HD44780 for Arduino Character LCD /w IIC/I2C Serial Interface Adapter Module DIY KIT

01

16文字 x 2行 のパラレル接続の液晶モジュールと I2C変換モジュールがセットで$2.17です。

到着した製品

梱包も中身も特に問題なし。

Dscn9168

Dscn9169

基板の刻印や、乗っているICを調べてみると、それぞれのモジュールは、
・フィリップス社製PCF8574(8-bit I/O expander for I2C-bus)搭載モジュール
・1602A(16x2 コントローラHD44780)
のようです。

aitendoで販売されている、下記の製品とまったく同じもののようです。
液晶I/Fモジュール(I2C) [IFB-I2C-8574]   
STNキャラクタ液晶(16x2) [1602A-V2] の青色(1602A-V2-B)バージョン

説明書が無いのですが、裏側にはんだ付けするだけで良いようです。

Dscn9171

左側の4つの端子(I2C、GND、5V)だけで制御出来ます。
可変抵抗でLEDバックライトの調整が出来るようです。

早速、はんだ付けしてArduinoに接続して動作確認してみました。

Dscn9189

手持ちのデジカメでは、今一ちゃんと撮れていませんが、
見た目は写真よりも文字がくっきり表示出来き、視野角も広いです。

Dscn9185

動作確認には、下記のライブラリを利用しました。

利用ライブラリ
・LiquidCrystal_I2C
  https://github.com/johnrickman/LiquidCrystal_I2C

動作確認スケッチ

ライブラリに添付のサンプルプログラムのHelloWorldを少々修正しただけです。
(4行表示するメッセージを2行表示に修正)

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup() {
  lcd.init();                        // initialize the lcd 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print(" Hello, world!");
  lcd.setCursor(0,1);
  lcd.print(" LCD 1602A(I2C)");
}  


void loop() {

}

安くてお手軽に使えて良い製品です。
このモジュールは、MSX用のテープ・ドライバ CASDuinoを製作に使う予定です。

より以前の記事一覧