迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

小型I2C接続 128x64 OLEDディスプレイを試す(2) ADT7410をつなぐ。

【2016/08/01追記 スケッチを載せておきました】

手持ちに秋月のADT7410温度センサモジュールがあったのでつないでみました。

スケッチはwsnakのブログさんのを使わせていただきました。

消費電流を測りたいのでArduino nanoからあちゃんでいいのに変えて実験、最初はクロック16MHzで動かしてましたが、スイッチサイエンスさんのArduinoブートローダ書き込み済みATMega328P-PU(内蔵CR発振8MHz版)に変えました。(写真の黄色いマーク)
消費電流を少しでも抑えたかったので。
OLED_Fio.jpg
OLEDの表示ですが、1行目はADT7410の温度データですが、2行目は単位を%に変えて湿度表示モドキ(^^;;)に、3行目は1000を足して単位をhpにして気圧表示モドキとしました。表示の様子を見たかったのでこのようにしました。
気圧だけ表示が違ってますが、撮影のタイミングでちょうど切り替わったのだと思います。

消費電流は下のようになりました。電流値は変動があるのでアバウトです。

VCC(V)電流(mA)
2.79
3.010
3.311
5.017

VCCを変えてもOLEDの明るさはほとんど変わりませんでした。それならVCCは低いほうが電池動作させるには有利です。

さらに電流を抑えるためにArduinoをスリープさせることにしました。
ラジオペンチさんの消費電流が激減! delayWDT関数を作ってみたという記事のdelayWDTを使わせていただきました。

結果、VCC=3.3Vにてスリープ時 約6mAとなりました。ほとんどOLEDの消費電流でしょう。
約2秒ごとに測定してはスリープを繰り返すように設定しました。
測定時には11mA程度消費しますが、平均電流は減っています。

続きを読む »

スポンサーサイト

小型I2C接続 128x64 OLEDディスプレイを試す(1)

アマゾンから小型I2C接続 128x64 OLEDディスプレイを入手したのでArduinoで早速実験。
(DTMFはしばらく放置^^;;;)


参考にしたWebページです、ありがとうございます。
 I2C 128×64 OLEDディスプレイをArduinoで使う
 小型I2C 128x64 OLED ディスプレイ の動作確認

詳しいことは上記のWebページに書かれていますが、ここではu8glibのライブラリを使いました。
Binary download linksのU8glib for Arduinoからライブラリーをダウンロードし、インポートします。
私の場合はversion1.18.1でした。
サンプルスケッチを開くと、コメントアウトした行が多数あるのがわかります。多くのグラフィックボードに対応させるためでしょう。
使うグラフィックボードのコメントを外します、このボードの場合は下の行のコメントを外します。

//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0);

サンプルスケッチをあれこれいじってると、フォントを変更できることがわかりました。
検索するとこちらにU8glibで使えるフォントのリストがありました。
そこで簡単なスケッチを書いてフォントを変えながら表示させてみました。
  24.9c
  51.0%
1012.0hPa
という文字列を表示させているだけで、実際に温度や湿度、気圧を測ってるわけではありません。
いずれやることを想定しての表示実験です。


helvR14
helvR14.jpg

courR18、今回の実験では一番私好み。aが切れてますが、仕方ありません。8桁x3行表示できれば私には充分です。
courR18.jpg

courB18
courB18.jpg

font_10x20、何故かセルフタイマーLEDが写っちゃってます^^;;
font_10x20.jpg

profont22
profont22.jpg

DTMFで遊ぶ(2)HT9200Bを使ったDTMFジェネレータの実験

当初DTMF信号はPSoCで発生させるつもりだったのですが、マルツオンラインでHT9200BというDTMFジェネレータを見つけたので購入しました。
HT9200のデータシートはこちら

HT9200Bはパラレルモードとシリアルモードを選べますが、今回はパラレルモードで実験。
回路図です。
HT9200B_DTMF実験回路

ブレッドボードで実験。
HT9200B_DTMF実験

出力波形、階段状になってます。サイン波データをテーブルに収め、順次読み出してDA変換しているようです。
D0~D3はすべてHレベルのときの波形です。
DTMF波形

HT9200のデータシートより引用。
D0~D3はすべてHレベルなので852Hz+1633Hzを出力していることになります。
DTMFテーブル

WaveSpectraによるスペクトラム。低いほうが941Hzになっていますが、誤差は1%程度です。
Wikiによれば、規格では信号周波数偏差は信号周波数の±1.5%以内となっていますから、規格範囲内に収まってます。
DTMF_852_1633Hz.jpg

DTMFで遊ぶ(1)

DTMFはいわゆるプッシュ信号です。
PSoC1 には DTMFDialer というユーザーモジュールがあり、前から試してみようと思ってましたが、なかなか手をつけるには至りませんでした。
ロボットプログラミング教室を手伝うようになり、DTMFでコントロールできたら面白いかもしれないと、実験を始めました。

まずはデコーダからです。MT8870というデコーダICがあり、これを使ったモジュールがあったのでアマゾンで入手しました。
MT8870データシート
DTMFデコーダモジュール回路図

このモジュールとパソコンの音声出力を繋ぎ、Online Tone GeneratorというサイトからDTMF音を出して動作レベルを確認しました。
オシロによる目視ですが、約200mVp-p以上で動作確認できました。

DTMF音を拾ってコントロールするためにはマイクが必要です。
手持ちにコンデンサマイクがあるのですが、到底レベルが足りないのでアンプが必要です。
手持ちにかなり以前に買ったマイクアンプキットがあったのでこれを使いました。
TA2011Sを使ったマイクアンプです。TA2011は廃止品ですが、互換ICにSA2011があり、これを使ったパーツセットがデジットにあるようです。
TA2011Sマイクアンプキット

コンデンサマイク用に一部部品を追加しました。
私の場合、C1とR1によるデカップリングをしないと、レベルは低いですが約400Hzの発振がありましたので入れてあります。
TA2011Sマイクアンプ回路

基板裏にR1、R2とC1をつけてます。
TA2011Sマイクアンプキット裏

スピーカーからDTMF音を出して、実験中。
数メートル離しても音さえ大きくすれば(当然でしょうけど)ちゃんと動作しました。
あまりうるさいと近所迷惑なので夜には試せませんでしたけど。
DTMFデコーダ実験中

PSoC1でスポットオシレーターを作る

PSoC1を使った200Hz 1KHz 5KHz 切り替え式のオシレーターを作りました。
1KHzだけのを作ったことがあるのですが、ちと面白くないので作り直しました。
百均で売ってる3個100円也(税別)のケースに押し込みました。
Spot_OSC_外部


恥ずかしながらの内部。
Spot_OSC_内部

回路図。
この描き方には違和感を覚えます。入力は左、出力は右というのが回路図を描くときの原則だからです。
でもこの場合、部品配置とほぼ一致するのでこれでよしとしました。
Spot_OSC_回路図
以前のスポットオシレーターは単三を4本も使っていたので、2本にして秋月のDCDCコンバータを使いました。
ただスイッチングノイズが70mVp-pほどあり、出力波形を悪化させるのでLCによるフィルタを入れてあります。
部品はほとんど手持ちで間に合わせました。適当かどうかまでは検討してません。
P[0]3からサイン波が出るのですが、スイッチトキャパシタを使ってるので階段状になります。
そのためCRによる簡単なフィルタを入れてあります。
P[0]2 と P[0]4 はオープンドレインにしてあります。これをオンオフして出力周波数によってフィルタのカットオフ周波数を変えてます。
出力にバッファを付け、もう少しまともな金属ケースに入れたいところですが、ちょっとした実験には充分です。

5KHz出力、オシロで見る限りは綺麗です。
ちなみにこのオシロは三代目(^^;;)オークションで手に入れました。
Spot_OSC_5KHz



 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

ブリッジドT発振回路(3)光るランプ Oct 16, 2017
ダイソーのかぼちゃで電飾 Oct 08, 2017
ブリッジドT発振回路(2)オペアンプとっかえひっかえ Oct 07, 2017
ブリッジドT発振回路(1) Oct 02, 2017
AD587を使った基準電源【追加有り】 Oct 01, 2017
DABPを使った発振回路(5)ランプの特性、分圧抵抗を変更、コンデンサを変更。 Sep 24, 2017
DABPを使った発振回路(4)ランプ変更(修正版) Sep 18, 2017
DABPを使った発振回路(3)LEDからランプ制御へ Sep 09, 2017
DABPを使った発振回路(2) Sep 03, 2017
DABPを使った発振回路 Aug 27, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (420)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (32)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん