「未分類」カテゴリーアーカイブ

Intel Galileo — 液晶表示

液晶表示
液晶表示

Intel Galileoに秋月で売ってる液晶モジュールを接続した。

液晶のサンプルスケッチはIntel Galileoでは動かない。lcd.initで初期化する必要があるらしい。lcd.initの引数の意味は不明。

#include <LiquidCrystal.h>//LCDライブラリ
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);//rs,enable,d4.d5,d6,d7
void setup() {
    lcd.init(1,2,255,3,4,5,6,7,0,0,0,0);//??,rs,??,enable,d4.d5,d6,d7...
    lcd.begin(8, 2);//画面サイズ
}

void loop() {
    while(true){
        lcd.clear();//画面消去
        lcd.print("Hello,");//表示
        lcd.setCursor(2,1);//位置
        lcd.print("world.");//表示

        for (int i=0; i<5; i++){//点滅
            lcd.noDisplay();//隠す
            delay(10);//遅らせる
            lcd.display();//現す
            delay(10);
        }
    }
}

噂通り表示が遅い。

Intel Galileo — UARTで接続

Intel GalileoにUARTで接続したい。

調べるとUARTコネクタに接続するには

PCのシリアルポート→ミニジャック

USBポート→USB-RS232C変換モジュール→ミニジャック

というパターンが多い。UARTならUSB-UART変換モジュールが使えるなー、と思って試したが動かなかった。RS232Cは負論理だった。

PCにはRS232C端子は無いし変換モジュールも無いが、マザーボードにはシリアルポートコネクタがあるので直接引き出す事にした。

シリアルポートコネクタ
マザーボードのシリアルポートコネクタ
オーディオジャックのピン配置
オーディオジャックのピン配置

オーディオケーブルとピンヘッダを適度な大きさに切る。

オーディオケーブルとピンヘッダ
オーディオケーブルとピンヘッダ

先端をRX(PCへIN)、次をTX(PCからOUT)、外側をGNDにハンダ付けする。

ハンダ付けした
ハンダ付け

 

グルーガンで固定
グルーガンで固定

 

シリアルポートに接続
シリアルポートに接続

 

シリアルポート設定
シリアルポート設定

 

接続した
接続した

ちなみにUSBシリアル変換と74HC04を組み合わせるとRS232Cもどきの通信ができるらしい。

Intel Galileo — LED点滅まで

LED点滅までの手順をメモ。

付属のACアダプタを接続する。DC5V2A必須らしい。

ソフトウェアをダウンロードする。

intelのサイト→Intel Galileo Arduino SW 1.5.3 on Windows→ダウンロード

C:¥などに展開する。ドキュメントフォルダ等に何気なく展開するとにエラーが出る。

エラー 0x80010135: パスが長すぎます。
エラー 0x80010135: パスが長すぎます。

エラーが出たらキャンセルして展開途中のファイルを削除してC:¥など出来るだけ短い名前のディレクトリに展開する。Program Filesに展開するとコンパイル時にエラーとなる。コンパイラがスペース文字を含んだファイル名に対応していないらしい。(このエラーが出た場合はファイル→終了で閉じてarduino-1.5.3フォルダごとスペース文字を含まない別の場所に移動する。)

コンパイル時にエラーが発生しました。
コンパイル時にエラーが発生しました。

ボードのUSB CLIENTと書かれたmicroB USBコネクタをPCに接続する。

デバイスドライバをインストールする。

デバイスマネージャ→ほかのデバイス→Gadget Serial v2.4→

プロパティ→ドライバ→ドライバの更新→

コンピューターを参照してドライバーソフトウェアを検索します→

次の場所でドライバーソフトウェアを検索します→

C:¥arduino-1.5.3¥hardware¥arduino¥x86¥tools→次へ→

このデバイスソフトウェアをインストールしますか?→

インストール→閉じる

arduinoを起動する

C:¥arduino-1.5.3¥arduino.exe→開く

ファームウェアを更新

ヘルプ→Firmware Update→はい

サンプルスケッチを書き込んで実行する

ファイル→スケッチの例→01.Basic→Blink→ファイル→マイコンボードに書き込む

ボード上のledが点滅する。

 

UV測定器

感光基板で使ったUVランプの強度とフィルムの透過率を測定するためにUV測定器を作った。

作ったUV測定器
作ったUV測定器
回路図
回路図

UVセンサは秋月で売ってる半導体UVセンサG5842。ADコンバータは地震計3を流用してMCP3551を使った。pc用ソフトも作った。

UVランプはサンハヤト ちびライトDX BOX-S1100。電源はAC100V/50Hz。

結果

UVランプは起動後にUV強度が安定するまで30秒くらい掛かるようだ。縦線間が約5秒。

起動後の経時変化
起動後の経時変化

位置によっても大きく違う。縦線間が約5cm。

左右の位置によるUV強度変化
左右の位置によるUV強度変化
前後の位置によるUV強度変化
前後の位置によるUV強度変化

また、UVランプの筐体を指で触ると測定値が20~30%変動した。UV強度が変化するのか、センサの感度が変動するのかは不明。ネジ部分を接地すると安定した。

ネジ部分を接地
ネジ部分を接地

感光基板に使用する材料の透過率を測定した。

材料 測定値
μW/cm2
透過率
blank 6300 1
ガラス(露光クランプ) 5300 0.84
OHPシート 4800 0.76
トレッシングペーパー 3600 0.57
コピー用紙 850 0.13

pic18f14k50ソース
main.c
HardwareProfile.h

pcソース
Form1.h