ele-diary 趣味の電子工作ブログ

電子工作関係の記録です。

AdafruitのHDMI5インチパネル

f:id:pau2000:20180901155030j:plain

https://learn.adafruit.com/adafruit-5-800x480-tft-hdmi-monitor-touchscreen-backpack/overview

Adafruitの5インチパネルを入手。 ラズパイに接続して、上記リンクに記載の設定をして解像度を固定すると、正しく映りました。 しかし、Windows機につないでも何も起こりません。 認識もされていない様子。

よくよく調べてみると、EDIDのROMが実装されているのに、EDIDデータが全く書かれていないことが判明。 これでは、Windowsから画像データが出力されません。。 f:id:pau2000:20180901155021j:plain

https://learn.adafruit.com/adafruit-tfp401-hdmi-slash-dvi-decoder-to-40-pin-ttl-display/editing-the-edid Adafruitが書き込み手順と方法を公開していました。こちらにしたがってAruduinoからEDIDデータを書き込むことで、普通に自動認識できました。 一般的なHDMIディスプレイと同様になります。 ラズパイの設定変更せずとも表示できるようになりました。

RockPro64 LinuxをeMMCから起動する

RockPro64はeMMCが装着可能なソケットがついています。このeMMCを、本体と同時に購入していましたので、早速使ってみます。 Android等を入れるには、すでにeMMC対応のバイナリが公開されているのでそれを書き込めばよいのですが、Ubuntu Linuxは対応していません。 色々調べた結果、SDカードでまず起動できるようにしておいてから、SDカードのイメージをeMMCにコピーする方法でうまくいきました。

$sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M

mmcblk0 がSDカード、mmcblk1がemmcにアサインされているようです。(fdiskで確認できます) これでコピーできるはず。

最後にルートパーティションをリサイズ。

rock64@rockpro64:/usr/local/sbin$ sudo ./resize_rootfs.sh

eMMCにシステム入れると、起動がかなり早くでよい感じです。

RockPro64を試す(1)

f:id:pau2000:20180818122200j:plain

RockPro64はラズベリーパイのようなボードコンピュータで、珍しいことにPCIeがついています。日本語の記事があまりなさそうだったので、久々に投稿することにしました。アウトプット大事。

といっても、Linuxの起動までは公式サイトの手順に従うことですんなりいけました。

ROCKPRO64 resources https://www.pine64.org/?page_id=61456 WIKI http://opensource.rock-chips.com/wiki_Main_Page

まずSDカードの焼きこみです。8GB Class10のカードに以下のLinuxhttp://wiki.pine64.org/index.php/ROCKPro64_Software_Release#Linux_Image_Releasesを書き込みます。書き込みツールは推奨されているEtcherというのを使いましたが、多分なんでもいいです。 ということで、ここまではすんなり動いてくれました。

加速度センサモジュールMMA8451 をESP32につなぐ

f:id:pau2000:20171104155339j:plain

MMA8451モジュールは、githubにライブラリがあるので簡単に使えます。GitHub - adafruit/Adafruit_MMA8451_Library: Arduino library for the MMA8451 Accelerometer sensors in the Adafruit shop

D1miniでは問題なく動作しました。

しかし、SoftwareSerialと併用すると問題が発生。 正常にコンパイル完了しますが、書き込んで動作させるとうまく動きません。I2Cとして未接続となります。

ハッキリとしたメッセージが出ないので推測ですが、SoftwareSerialで使っている何かのリソースが競合しているように思います。

そこで、マイコンを一回り大きいESP32で試してみることにします。ところが、これもすんなりとはいきませんでした。

ESP32では、I2Cのピンを自由に選択することができます。

int SDA = 25;
int SCL = 26;
Wire.begin(SDA, SCL);

というようにbegin の引数にSDA,SCLのピン番号を入れます。

ESP32を考慮されていないMMA8451ライブラリにこの設定を加えてあげる必要があります。

ということで、

bool Adafruit_MMA8451::begin(uint8_t i2caddr) {
  //Wire.begin();
  Wire.begin( 17, 16);
  _i2caddr = i2caddr;

とすることで、正しくコンパイルできて実行もできるようになります。

ESP32Minikit

ESP32MiniKitは値段も手ごろだしピンが2列になってて面白いと思い、ためしてみました。

f:id:pau2000:20171028134054j:plain

が。。

f:id:pau2000:20171028134058j:plain なんだか不思議なエラーで書き込めず。Win10でもMacでも状況は変わらず。

検索して得られた情報を参考に、VCC-RST間に104のコンデンサ入れてみたが変わらず。 ちょっとすぐには解決策がありません。。様子見ですね。

Intel Jouleの立ち上げ

ひょんなことから Intel Jouleを入手しました! でもあまり情報がないので、まとめておきます。。

f:id:pau2000:20171024224130j:plain

起動には、12V2A以上のACアダプタが必要、とあります。さらにマイクロHDMI接続のモニタと、キーボードマウスが必要。USB-Cのハブ経由でつなぎました。 Linuxの起動画面が来て、その後いきなりコマンドラインになります。

startxfce4

GUIっぽい画面が立ち上がります。 ここからWifiを設定します。

Ostro-Linuxというものがはいってるらしいです。

https://ostroproject.org/documentation/howtos/ip-address-config.html

このあたりにしたがって、

$ connmanctl

$ connmanctl> enable wifi

$ connmanctl> scan wifi

$ connmanctl> services

ここで、周辺のWifiSSIDがリストアップされます。この中で、つなぐ対象を選んでコピペします。

$ connmanctl> connect wifi<MAC_ADDR><SSID_HEX>_managed_psk

とすると、PassPhraseを聞いてきますので、正しく入れてあげると、OKです。

Quitコマンドでconnmanctlのコンソールを抜けられます。 なんだかいろいろと、独特ですねえ。。

Aitendoのタッチセンサモジュール

 

タッチセンサモジュールを組んでみました。こんなやつです。

f:id:pau2000:20170817175219j:plain

Aitendo ではいつものことながら説明書は全くありません。 が、回路簡単なんで問題なしです。f:id:pau2000:20170817175226j:plain

付属の抵抗は実測1Kでした。タッチ電極とICの間に実装するものと思われます。 ICの方向が難題です。ちゃんとRH6030のデータシートを見るとわかります。データシートは結構中国語と英語ですが、ピン配置図なら何とかなります。 f:id:pau2000:20170817175223j:plain

付属のコンデンサは感度調整用。未実装で最高感度になります。

小型でいい感じなので、何かに使えそうです! f:id:pau2000:20170817175229j:plain