Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。

スポンサー

無料ブログはココログ

« MUSES72323コントローラのプログラム変更 ボリューム表示が可能になる? | トップページ | Arduino UNOでArduino ProMiniにプログラムを書く方法 »

2021年2月11日 (木)

ArduinoによるOLED表示機の作り方(ハードウェア編)

本日は、シリアル信号を受信して小型OLEDに文字を表示する方法を紹介いたします。

Aruduino12

Arduinoに限定するわけではありませんが、ある程度の大きさのROMとRAMが無いとu8glibなどのグラフィックライブラリを使うことが出来ません。ライブラリを使うとソフトウェアがめっちゃ簡単になります。

Aruduino00

購入してみたのはコチラ。3個で1230円。1個あたり410円です。SDカードをスリムにしたくらいのサイズ感。Arduino pro mini互換を謳っていてUSBシリアル変換ICが載っていないタイプです。低消費電力に期待して購入しました。その結果は後述します。

 

OLEDは128x32ピクセルの細長いタイプです。こちらから買いました。 3つで1180円。1枚あたり393円です。4ピンヘッダが付いていましたが、この写真では取り去ったところです。
Aruduino01

 

 

I2Cのプルアップ抵抗を探せ!

このOLEDはI2C接続なので、Arduino Pro Mini基板(以降 ProMini)にプルアップ抵抗があるのか確認してみたところ、なんと裏面に半田ランドがありました。

Aruduino02

素晴らしい! ここに10kΩのチップ抵抗をつけてみます。もしかすると、ATmega328Pの内部プルアップだけでもOKかもしれません。

Aruduino03

どうも1005チップサイズのランドだったようで1608ではちょっとムズかったです。でも、とりあえず付きました。普通のリードタイプの抵抗ならピンヘッダの穴を利用して5Vからプルアップすれば良いです。

プルアップ抵抗をつけなくてもI2C通信OKでした。

 

 

ProMini基板とOLED基板を接続

Aruduino04

配線はI2Cの2本と、GND、5V。合計4本です。A4=SDA、A5=SCLというのはArduino界ではメジャーなアサインらしいです。

接続はポリウレタン線を使うと簡単です。

エナメル線のような絶縁被服は半田コテでハンダを盛りながら熱を10秒くらい加えると、そこだけ剥がれてくれます。被服がなくなると半田がついて銀色になるので分ります。元の銅色の部分は絶縁被服があるのでショートしません。

 

 

ProMini基板にはピンヘッダが付録してあり、必要な部分だけ付ければ良いです。今回は書込みポート側だけ付けました。

Aruduino05
  < UNOからの書込み用接続は、一番下に載せました。>

早速、動作確認。イニシャル時にメモリ領域をクリアしていないので、この写真のように砂嵐っぽい画面が出ますが正常です。初期化に失敗していると何も出ません。

 

 

合体

Aruduino06

動作確認OKだったので、OLEDの裏面にスポンジタイプの両面テープをつけて、

 

Aruduino07

ぐいっと曲げると、ProMini基板と一体化できます。

 

 

MUSES72323基板との接続

実は、ProMini基板の書込みポート側に電源ポートとUARTがアサインされているので「メス-メス」配線材で簡単に接続できます。

Aruduino08

シンプルですね。ただ、この基板をアンプへどう固定するのか!? そこが一番悩ましいです。

 

Aruduino11
 < デバッグ用ポートの中央3本をProMini基板へ接続する >

 

Aruduino09

MUSES72323基板側のデバッグコネクタに接続すればOKなんですが、当初予定していなかった電流が流れるため、5Vをリード線で直結してあげる必要があります。

改造は

 パターンカット:1ヵ所
 リード線追加 :1ヵ所

です。

 

無改造でも一応動作しましたが、可変抵抗を読むADコンバータの基準も同じ5Vを使っているため、Arduinoの動作電流に釣られてボリューム値がチラチラとふらつく事がありました。上記の改造で解消します。

 

ProMini基板の消費電流

ProMini基板とOLEDを合わせた5Vの消費電流を計測してみたところ27mA程度流れていました。OLED単体も同様に計測すると15mAだったのでAVRマイコンは10mA以上流れていることになります。

Uno_promini04

MUSES72323をコントロールしているPICは実測0.9mAなので10倍以上の電流です。AVRマイコンを16MHzフル回転させているので当然ですね。プログラム上でクロックを変更できればやってみたい。OLEDは輝度を落とす方法を見つけました。

 

 

長くなってきたため、

Arduinoの書込み方などは、また別記事にいたします。

 

 

Arduino UNOを書込み機代わりにしてArduino Pro Miniへプログラムを書き込む

Arduino UNOを書込み機代わりにしてArduino Pro Miniへプログラムを書き込むときの接続は以下のようにします。

Aruduino10

RX-RX
TX-TX

と、ぶつけるような配線にするところがミソです。詳細はこちらへ

コネクタ部にマジックで書いた文字はシリアル変換の書込み機のピンの名称です。気にしないでください。

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村

ブログランキングに参加中です。 めざせ1位! 

もしよろしければ「ぽちっと」お願いします。 

 

« MUSES72323コントローラのプログラム変更 ボリューム表示が可能になる? | トップページ | Arduino UNOでArduino ProMiniにプログラムを書く方法 »

電子ボリューム」カテゴリの記事

Aruduino」カテゴリの記事

コメント

こんにちは
PGA 2311 でも使えるようになりませんか、、
とお願いモードです。ファームの書き換えはPICKITあるけど、、

たかじんさん

こんばんは

私も ひろせさんに1票です
ArduinoによるOLED表示機をアマゾンで購入しましたので3セット保有しています
今回の、MUSES72323基板の頒布には乗り遅れましたが、次回の頒布で入手出来ると
確信しますが、2セット余りますので宜しくお願いいたします。

ひろせさん
kamo さん

PGA2311基板は電源が+5Vと-5Vの2系統のみで、コントローラも同じ+5V電源を使用しています。
コントローラは、低速クロックで動作させて1mA以下の消費電流に抑えていますが、PGA2311は内蔵オペアンプがあるため8~10mAほど消費し、合計で10mA程度です。

シャント抵抗には15mAほど流す設定にしていて発熱がそこそこ高く、さらに追加で27mAもの電流は許容できません。というか電圧降下しますね。

ですので、表示部専用でレギュレータを増設するのと、コントローラの足から直接配線を引き出すなどの改造を行なえば可能と言えば可能です。

何か良いアイデアはございますでしょうか?

書き換え用のhexファイルの公開は、電子ボリュームコントローラだけを販売している業者が複数あるので、若干やりにくいですね。

よろしくお願いします。

たかじんさん

一人歩きの懸念了解いたしました
ご丁寧に回答頂きありがとうございました

コメントを書く

(ウェブ上には掲載しません)

« MUSES72323コントローラのプログラム変更 ボリューム表示が可能になる? | トップページ | Arduino UNOでArduino ProMiniにプログラムを書く方法 »

サイト内検索

Sponsors link

2021年5月
            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