picのお供にraspberry pi - 電子工作の実験室 picと接続できるdisplay...

10
PICのお供にRaspberry pi 巷で噂のRaspberry pi

Upload: dinhnguyet

Post on 31-Mar-2018

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

PICのお供にRaspberry pi

巷で噂のRaspberry pi

Page 2: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

XYステージの操作パネル

”USBシリアルでパソコンに接続し、JavaFXで表示する”という構想だったが・・・

”パソコンのキーボードやマウスで操作するのは、煩わしい。”

”タッチスイッチで操作できるようにしたい。”

”PICと接続できるDisplay Adapterがあれば・・・”

Page 3: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

代替策

”Raspberry piをDisplay Adapterとして使う”

<メリット>

I2c,UART,SPIが使える。

Ethernetでパソコンともつながる。

JavaFXが使える。(後で問題発覚)

ギガバイトのログが取れる。

<デメリット>

ビデオ出力がHDMIまたはコンポジット。

(古い液晶ディスプレイが使えない)

Page 4: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

お試しセット

スマートフォン用電源

 (5V1A)

HDMI-VGA変換器

Raspberry pi

SDカード(8G クラス4)

Page 5: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

簡単に動いた

Raspbianのイメージ・ファイルをSDカードに書き込み、電源ON ==>Raspbianが動いた

Page 6: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

ここから先が大変だった

bcm2835ライブラリ(C言語で書かれている)を入手した。

OpenSSHとsambaをインストールした。

CygwinでX-windowを立ち上げ、Raspbianをパソコンから操作できるようにした。

Netbeansでリモート開発環境を整えた。

(Raspberry piでIDEを動かすのは無理だった)

JDK 8(EA)をインストールした。

Javaからbcm2835ライブラリを呼び出すインターフェース・プログラムを書いた。(単にJNA経由で呼び出すのでは駄目だった)

Raspberry piのJavaFXはリモート表示できないのでSwingで書き直した。

インターフェース・プログラム(bcmlib_for_java)をGITHUBに登録した。

Page 7: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

I2CでPIC16F1938と接続

PIC16F1938を使ったタッチスイッチの試作実験

Page 8: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

Javaプログラムimport dkl.bcm2835;

● public class I2c_2 {

● public static void main(String[] args) {

● byte[] receive_buff = new byte[32];

● Swing_test swing_test = new Swing_test();

● bcm2835.bi_init(args[0]);

● bcm2835.i2c_begin();

● bcm2835.i2c_setSlaveAddress( (byte)0x30 );

● bcm2835.i2c_set_baudrate( 100000 );

● bcm2835.ope_sync();

● for( short loop = 0;loop<10000;loop++)

● {

● ret = bcm2835.i2c_read( receive_buff, 16 );

● if( ret == 0 )

● {

posi = 0;

● for( byte i=0;i<8;i++)

● {

● short val;

● val = receive_buff[posi++];

● if( val < 0 )val+=256;

● val += receive_buff[posi++]*256;

● swing_test.Update(i, val);

● }

● }

● bcm2835.bi_delay(100);

● bcm2835.ope_sync();

● }

● bcm2835.i2c_end();

● bcm2835.bi_close();

● }

● }

Page 9: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

X-windowCygwinでX-windowを立ち上げ、Raspbianをリモート表示する。

Page 10: PICのお供にRaspberry pi - 電子工作の実験室 PICと接続できるDisplay Adapterがあれば・・・” 代替策 ”Raspberry piをDisplay Adapterとして使う” <メリット>

試験データ

ALL OFF CH3 CH7 ON