2018年06月16日

ミニLCDプロジェクタ検討部品

今回はミニLCDプロジェクタを自作しようと思い、
検討している部品を紹介します。


海外でもミニLCDプロジェクタの自作プロジェクトがいくつかありますが、
LCDの日本国内での部品入手性が悪く、
なかなか踏み出せない状況でした。


秋月電子で販売されているLCDで簡単な改造により
ミニLCDプロジェクタが作れる部品があることが分かり、
実験してみました。


使用するLCDはAQM1602Y-NLW-FBWです。
秋月で販売されているこのLCDのみ黒背景で白文字、
つまり、表示文字部分が透過するタイプです。
バックライトの光で文字として白く見えるようになっています。


他のLCDは背面に反射板や色フィルム等がついているため、
LCDプロジェクタとして使用するのが難しいです。


プロジェクタといえばドームプロジェクタ部品もありますが、
制御が面倒なのとフルカラーは不要なため、
I2CのキャラクタLCDを使用します。



lcd1.jpg

まずは動作チェック。
コントラストは要調整ですが、
想定通り、文字部分が透過され、文字以外は黒く半透明となっています。


また、バックライトのプレートが簡単に外れる構造となっています。
付属のバックライトを外して、パワーLEDを当てて、レンズを通せば
ミニプロジェクタ完成という感じです。



レンズの種類、パワーLEDの出力等の検討がつかないので、
まずはiPhoneのLEDと100円均一の虫眼鏡を使って実験してみました。



lcd2.jpg

結果は表示範囲に問題ありますが、
はっきりと文字が紙のスクリーンに表示されました。

I2CでミニLCDプロジェクタが作れれば、
色々応用できそうです。


パワーLEDや非球面などのレンズ使って
もう少し実用的なミニLCDプロジェクタを作ってみたいと思います。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年06月02日

シングルボードコンピュータのRTCチェック方法

今回はRaspberry PIやTinkerboard、Nano PI Neo/Neo2などの
シングルボードコンピュータの外付けRTCチェック方法を紹介します。
使用しているRTCはおなじみのDS1307です。


I2C接続のRTCを導入した際に
接続確認として
sudo i2cdetect -y 0
と打ち込んでアドレスの検出有無が確認できます。
※I2C0に接続されている場合

rtc.check0.jpg



sudo i2cdump -y 0 0x68
で0x68のアドレスのダンプを取得できます。
※I2C0に接続されている場合

ダンプデータをよく見ると、
当たり前ですが、RTC内の時刻を確認することができます。

rtc.check-fix.jpg
※日付と時刻の間のデータはAM,PMでなく、正しくは曜日です。
 修正しました。


RTCが生きているか、時刻が合っているか
ダンプデータでも日付、時刻が簡単に確認できます。

ちょっとした動作確認に便利です。


もし、i2cdetectでUUが表示されて、
システム側にすでにRTCが組み込まれている場合は
sudo rmmod rtc-ds1307
で外せます。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年05月19日

Nano Pi Neo2 拡張ボード

今回は最近設計したNano Pi Neo/Neo2拡張ボードを紹介します。


Nano Pi Neo/Neo2は4cm角の大きさで小さく安いのが売りです。

ただ、USBコネクタが1つしかなく、無線LANでポートを使ってしまうと他に何も接続できない状況です。



ピンヘッダにはUSBが2つあるため、I2Cポートと合わせて

拡張ボードを作成しました。


  

 設計イメージはこんな感じです。


nanopi_extb.jpg



IMG_1.JPG


IMG_2.JPG

↑microUSBのコネクタを挿すと2つの内、1つのUSBポートと

若干干渉するので、ピンヘッダ、ソケットは長めの方がよさそう。

IMG_3.JPG


仕様は下記の通りです。



  • USB2ポート(フルサイズtypeA、USB1、USB2)搭載

  • I2Cポート(Groveコネクタ、I2C0)搭載

  • RTC(リアルタイムクロック、DS1307、CR1220バッテリ、I2C0内部接続)搭載

  • I2Cは10kでプルアップ抵抗を基板回路に搭載


既知の注意点は下記の通りです。



  • NanoPi GPIO1、GPIO2に接続するためのピンヘッダは別売り

  • 取付するピンヘッダの長さが標準的な10mmの場合、

  • 電源供給用microUSBと拡張ボードのUSBが干渉してどちらかが使用できない。
    この場合は長いピンヘッダやピンコネクタを使用して干渉を回避するか、
    microUSBを使用せずにDebugUARTピンをヒートシンク横から取り出して5V電源を供給する。

  • RTC DS1307は電池なしで電源に接続した場合、破損する可能性があります。必ず電池を入れて使用する。





基板のガーバーや使用方法等はこちらで紹介しています。

また、近々1個1500円前後で販売開始予定です。

販売先決定次第、また、こちらで告知します。


これでNanoPiの小さいメリットを生かしたデバイスがいろいろ作れそうです。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年05月05日

I2C Bus Accelarator

今回はGrove等で使用されるI2Cを延長する方法について紹介します。


I2Cはマイコン周辺の機器との通信を想定しているため、
数メートルといった距離の通信を想定していません。


Grove規格ではハブやケーブルを接続して、
数mまで伸ばしたいということも多々あると思います。

その際に便利な部品、バスアクセラレータLTC4311を紹介します。


バスアクセラレータLTC4311は、400pFのI2C仕様を上回るバス負荷条件で
データ伝送速度と信頼性を向上させるアクティブ・プルアップです。

機能と利点
• I2Cバス立ち上がり遷移時間を改善
• I2Cバス上に複数のデバイスを接続する場合にデータの完全性を保証
• 広い電源電圧範囲:1.6V〜5.5V
• “L”状態のノイズマージンを改善
• 最大400kHz動作


簡単に言えば、
配線が長くなってクロックや信号が鈍ってしまうところを
High、Lowをバシッと決めてくれるデバイスです。

バスアクセラレータLTC4311を接続することによって
複数のデバイス接続や長距離で大容量の相互接続ができるようになります。

簡単にGroveで使えるようにバスアクセラレータアダプタを設計してみました。


I2C_Bus_Acc.jpg

Groveコネクタのラインに繋げることで
I2Cの信号の鈍りを除くことができます。

近々、バスアクセラレータLTC4311の有無で
どれくらい長くできるか検証してみたいと思います。
ラベル:部品 電子部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年04月28日

TinkerBoard S 試食

Tinker Board Sを入手したので、
ちょっと試食してみました。

今回はマルツで購入しましたが、
他にもPhysical Computing Labでも在庫ありの様です。

これまでRaspberryPIやBeagleboneを使ったことがありましたが、
TinkerBoard Sに興味が湧いてきました。


RaspberryPIやnano pi等の問題として
個人使いでは問題ないものの、
本格的に使うようになるとSDカードは
セキュリティー的観点や寿命の面で不安が残る。
本当はeMMC内蔵が好ましい


一方、BeagleboneはeMMC内蔵なのは良いが
CPUがTiのため長期供給できるものの、
依然としてシングルコア。
最近のdebianでは動作が重い...


Tinker Board Sは初代のTinker BoardにeMMCが内蔵となり、
かつ、CPU1.8GHz、メモリ2GBのモリモリ仕様です。
ただ、Beagleboneの様にUSBネットワーク機能はないようです。
欲を言えば、USBネットワーク機能、
スーパーキャパシタでRTC内蔵してくれるとさらに良かったのですが...



早速、OSをダウンロードして起動っと思ったのですが。
ASUSのサイトからTinkerOS_Debian V2.0.5をダウンロードして
SDに書き込んで起動したものの....
CUIで起動後、GUIを起動させると文字化け。
更にtinker-configコマンドのタイムゾーン設定等もおかしい。
なにやらV2.0.5はバグがあるようです。
Zipからの解凍ミスと判明しました。。。

仕方なく、ASUSのサイトからShowAllをクリックして、
1つ前のTinkerOS_Debian V2.0.4をダウンロードしました。


残念ながらTinkerOSにはデフォルトでNode-Red、Nodejsが入っていませんでした。

sudo apt-get install nodejsではnpmが入らないため、
下記のコマンドでnpm含めてインストールします。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g --unsafe-perm node-red

すんなりインストールできました。

tinkers_nodered.JPG

ChromiumブラウザやNode-Redが一瞬で起動しました。
OS自体の起動も爆速です。
Beagleboneでは処理が重く諦めていたことも
Tinker Boardならできそうです。
時間を見つけて色々試してみたいと思います。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする