はらぺこらいおん

日々、思ったことを。

Ubuntu14.04にKeras with Tensorflow(GPU)をインストール

pictzzz.hatenablog.com

こちらの記事でMacbook ProにKerasをインストールしてみましたが、 あまりディープでないCNNでも学習が終わらず、 GPUの乗っているUbuntu14.04にKerasをインストールしてみました。

Ubuntu14.04にGPU(CUDA、cuDNN)をセットアップする方法は以下の記事に書きました。 グラボはGeForce GTX 660(2GB)です。

pictzzz.hatenablog.com

セットアップ

Tensorflow

GPUを使うためには、以下の環境変数をインストール前に登録しておく必要があります。

# ~/.bashrc

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.1-cp27-none-linux_x86_64.whl
export CUDA_HOME=/usr/local/cuda

登録後は以下のコマンドで環境変数を読み込みます。

$ source ~/.bashrc

インストールmacにインストールした時と同様に pip コマンドでインストールします。

$ pip install tensorflow

scipyインストール

scipyはKerasをインストールすると自動で入るはずですが、 Kerasのインストールでscipyがこけているようだったので、別途インストールしました。 同様にnumpyでこける方もいるようです。

scipyのインストールは以下のコマンドで行います。

$ apt-get install python-scipy

matplotlibインストール

plot用に必要となるmatplotlibですが、こちらもmacと同様にpipでインストールします。 事前に必要となるpydotとgraphvizもインストールしておきます。

$ pip install pydot_ng
$ apt-get install graphviz
$ pip install matplotlib

Kerasインストール

最後にKerasをインストールします。

$ pip install keras

テスト

Tensorflow

以下のようにimportをして正常にインストールされているか確認します。

$ python
>>> import tensorflow as tf

これを実行してみてエラーが出なければOKです。

Keras

macの時と同様に、こちらのMNISTのサンプルプログラムを実行してみます。

keras/mnist_mlp.py at master · fchollet/keras · GitHub

ダウンロードしてtest.pyとして保存します。(名前はなんでも良いです。)

$ python test.py
Using TensorFlow backend.
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
60000 train samples
10000 test samples
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to                     
====================================================================================================
dense_1 (Dense)                  (None, 512)           401920      dense_input_1[0][0]              
____________________________________________________________________________________________________
activation_1 (Activation)        (None, 512)           0           dense_1[0][0]                    
____________________________________________________________________________________________________
dropout_1 (Dropout)              (None, 512)           0           activation_1[0][0]               
____________________________________________________________________________________________________
dense_2 (Dense)                  (None, 512)           262656      dropout_1[0][0]                  
____________________________________________________________________________________________________
activation_2 (Activation)        (None, 512)           0           dense_2[0][0]                    
____________________________________________________________________________________________________
dropout_2 (Dropout)              (None, 512)           0           activation_2[0][0]               
____________________________________________________________________________________________________
dense_3 (Dense)                  (None, 10)            5130        dropout_2[0][0]                  
____________________________________________________________________________________________________
activation_3 (Activation)        (None, 10)            0           dense_3[0][0]                    
====================================================================================================
Total params: 669,706
Trainable params: 669,706
Non-trainable params: 0
____________________________________________________________________________________________________
Train on 60000 samples, validate on 10000 samples
Epoch 1/20
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GTX 660
major: 3 minor: 0 memoryClockRate (GHz) 1.0975
pciBusID 0000:01:00.0
Total memory: 1.95GiB
Free memory: 1.67GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 660, pci bus id: 0000:01:00.0)
60000/60000 [==============================] - 3s - loss: 0.2434 - acc: 0.9248 - val_loss: 0.1119 - val_acc: 0.9637
Epoch 2/20
60000/60000 [==============================] - 3s - loss: 0.1015 - acc: 0.9694 - val_loss: 0.0801 - val_acc: 0.9748
Epoch 3/20
60000/60000 [==============================] - 3s - loss: 0.0746 - acc: 0.9776 - val_loss: 0.0874 - val_acc: 0.9740
Epoch 4/20
60000/60000 [==============================] - 3s - loss: 0.0581 - acc: 0.9825 - val_loss: 0.1001 - val_acc: 0.9729
Epoch 5/20
60000/60000 [==============================] - 3s - loss: 0.0510 - acc: 0.9844 - val_loss: 0.0951 - val_acc: 0.9771
Epoch 6/20
60000/60000 [==============================] - 3s - loss: 0.0442 - acc: 0.9868 - val_loss: 0.0874 - val_acc: 0.9792
Epoch 7/20
60000/60000 [==============================] - 2s - loss: 0.0366 - acc: 0.9882 - val_loss: 0.0887 - val_acc: 0.9793
Epoch 8/20
60000/60000 [==============================] - 3s - loss: 0.0341 - acc: 0.9897 - val_loss: 0.0916 - val_acc: 0.9801
Epoch 9/20
60000/60000 [==============================] - 3s - loss: 0.0327 - acc: 0.9907 - val_loss: 0.0840 - val_acc: 0.9826
Epoch 10/20
60000/60000 [==============================] - 3s - loss: 0.0288 - acc: 0.9913 - val_loss: 0.0884 - val_acc: 0.9833
Epoch 11/20
60000/60000 [==============================] - 3s - loss: 0.0258 - acc: 0.9927 - val_loss: 0.0876 - val_acc: 0.9844
Epoch 12/20
60000/60000 [==============================] - 3s - loss: 0.0247 - acc: 0.9928 - val_loss: 0.0984 - val_acc: 0.9822
Epoch 13/20
60000/60000 [==============================] - 3s - loss: 0.0244 - acc: 0.9934 - val_loss: 0.0949 - val_acc: 0.9836
Epoch 14/20
60000/60000 [==============================] - 3s - loss: 0.0222 - acc: 0.9939 - val_loss: 0.0959 - val_acc: 0.9837
Epoch 15/20
60000/60000 [==============================] - 3s - loss: 0.0210 - acc: 0.9940 - val_loss: 0.0892 - val_acc: 0.9835
Epoch 16/20
60000/60000 [==============================] - 2s - loss: 0.0192 - acc: 0.9947 - val_loss: 0.0953 - val_acc: 0.9834
Epoch 17/20
60000/60000 [==============================] - 3s - loss: 0.0191 - acc: 0.9948 - val_loss: 0.1119 - val_acc: 0.9840
Epoch 18/20
60000/60000 [==============================] - 3s - loss: 0.0216 - acc: 0.9944 - val_loss: 0.1086 - val_acc: 0.9830
Epoch 19/20
60000/60000 [==============================] - 3s - loss: 0.0179 - acc: 0.9952 - val_loss: 0.1180 - val_acc: 0.9829
Epoch 20/20
60000/60000 [==============================] - 3s - loss: 0.0200 - acc: 0.9949 - val_loss: 0.1069 - val_acc: 0.9842
Test score: 0.106886059585
Test accuracy: 0.9842

macだと20epochで200秒くらいで終わりましたが、 GPUでは60秒くらいに短縮できました。

Macbook ProにKeras with Tensorflowをセットアップ

Keras良くない?って話を聞くことが多くなってきたので、KerasをMacbook Proにインストールして試してみたいと思います。 もちろんMBPなので、GPUなしです。 KerasはTensorflowかTheanoの上で動作するニューラルネットワークライブラリだそうです。

Keras Documentation

公式に日本語のドキュメントもあり、セットアップでつまづくことはあまりないかと思います。

セットアップ

Tensorflowインストール

まずは、Tensorflowをインストールします。

Installing TensorFlow  |  TensorFlow

私のmacにはanacondaでpythonが入っているのでそのままpipでインストールします。

$ pip install tensorflow

以上でインストールは終了です。

Tensorflowの環境に入るには以下のコマンドを実行します。

$ source activate tensorflow

環境から抜ける場合は、以下のコマンドを実行します。

$ source deactivate

Kerasインストール

こちらもpipでインストールできます。

$ pip install keras

Kerasバックエンド変更

バックエンドの変更は不要になりました。デフォルトでTensorflowが動作します。

Kerasのバックエンドで動作するライブラリーを変更します。

# ~/.keras/keras.json

"backend": "tensorflow"

このように書き換えます。

その他ライブラリーインストール

これ以外にも必要なライブラリーをインストールします。

  • h5 モデルを保存する際に使います。
$ pip install h5py
  • matplotlib 学習結果などを描画する際に使います。
$ brew install graphviz
$ pip install pydot_ng
$ pip install matplotlib

このようなエラーが出る場合は、下記の記事を参照。

RuntimeError: Python is not installed as a framework

Python 3.3でmatplitlibとpylabを使おうとしたら RuntimeError: Python is not installed as a frameworkというエラーが発生したときの解決方法 - Qiita

テスト

Tensorflow

以下のようにimportをして正常にインストールされているか確認します。

$ python
>>> import tensorflow as tf

これを実行してみてエラーが出なければOKです。

Keras

こちらのMNISTのサンプルプログラムを実行してみます。

keras/mnist_mlp.py at master · fchollet/keras · GitHub

ダウンロードしてtest.pyとして保存します。(名前はなんでも良いです。)

$ python test.py
Using TensorFlow backend.
60000 train samples
10000 test samples
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to                     
====================================================================================================
dense_1 (Dense)                  (None, 512)           401920      dense_input_1[0][0]              
____________________________________________________________________________________________________
activation_1 (Activation)        (None, 512)           0           dense_1[0][0]                    
____________________________________________________________________________________________________
dropout_1 (Dropout)              (None, 512)           0           activation_1[0][0]               
____________________________________________________________________________________________________
dense_2 (Dense)                  (None, 512)           262656      dropout_1[0][0]                  
____________________________________________________________________________________________________
activation_2 (Activation)        (None, 512)           0           dense_2[0][0]                    
____________________________________________________________________________________________________
dropout_2 (Dropout)              (None, 512)           0           activation_2[0][0]               
____________________________________________________________________________________________________
dense_3 (Dense)                  (None, 10)            5130        dropout_2[0][0]                  
____________________________________________________________________________________________________
activation_3 (Activation)        (None, 10)            0           dense_3[0][0]                    
====================================================================================================
Total params: 669,706
Trainable params: 669,706
Non-trainable params: 0
____________________________________________________________________________________________________
Train on 60000 samples, validate on 10000 samples
Epoch 1/20
60000/60000 [==============================] - 10s - loss: 0.2447 - acc: 0.9237 - val_loss: 0.1253 - val_acc: 0.9611
Epoch 2/20
60000/60000 [==============================] - 10s - loss: 0.1027 - acc: 0.9694 - val_loss: 0.0799 - val_acc: 0.9739
Epoch 3/20
60000/60000 [==============================] - 11s - loss: 0.0751 - acc: 0.9774 - val_loss: 0.0729 - val_acc: 0.9783
Epoch 4/20
60000/60000 [==============================] - 10s - loss: 0.0615 - acc: 0.9815 - val_loss: 0.0852 - val_acc: 0.9761
Epoch 5/20
60000/60000 [==============================] - 10s - loss: 0.0514 - acc: 0.9846 - val_loss: 0.0847 - val_acc: 0.9800
Epoch 6/20
60000/60000 [==============================] - 9s - loss: 0.0457 - acc: 0.9861 - val_loss: 0.0866 - val_acc: 0.9791
Epoch 7/20
60000/60000 [==============================] - 9s - loss: 0.0398 - acc: 0.9881 - val_loss: 0.0778 - val_acc: 0.9810
Epoch 8/20
60000/60000 [==============================] - 9s - loss: 0.0351 - acc: 0.9897 - val_loss: 0.0853 - val_acc: 0.9821
Epoch 9/20
60000/60000 [==============================] - 9s - loss: 0.0327 - acc: 0.9905 - val_loss: 0.0933 - val_acc: 0.9796
Epoch 10/20
60000/60000 [==============================] - 9s - loss: 0.0283 - acc: 0.9914 - val_loss: 0.0911 - val_acc: 0.9822
Epoch 11/20
60000/60000 [==============================] - 9s - loss: 0.0285 - acc: 0.9920 - val_loss: 0.1031 - val_acc: 0.9829
Epoch 12/20
60000/60000 [==============================] - 9s - loss: 0.0241 - acc: 0.9931 - val_loss: 0.0992 - val_acc: 0.9814
Epoch 13/20
60000/60000 [==============================] - 9s - loss: 0.0250 - acc: 0.9931 - val_loss: 0.1169 - val_acc: 0.9797
Epoch 14/20
60000/60000 [==============================] - 10s - loss: 0.0233 - acc: 0.9936 - val_loss: 0.1019 - val_acc: 0.9819
Epoch 15/20
60000/60000 [==============================] - 11s - loss: 0.0184 - acc: 0.9945 - val_loss: 0.0945 - val_acc: 0.9830
Epoch 16/20
60000/60000 [==============================] - 10s - loss: 0.0188 - acc: 0.9947 - val_loss: 0.1066 - val_acc: 0.9818
Epoch 17/20
60000/60000 [==============================] - 10s - loss: 0.0188 - acc: 0.9946 - val_loss: 0.1090 - val_acc: 0.9846
Epoch 18/20
60000/60000 [==============================] - 10s - loss: 0.0193 - acc: 0.9953 - val_loss: 0.1127 - val_acc: 0.9820
Epoch 19/20
60000/60000 [==============================] - 9s - loss: 0.0176 - acc: 0.9951 - val_loss: 0.1204 - val_acc: 0.9823
Epoch 20/20
60000/60000 [==============================] - 9s - loss: 0.0162 - acc: 0.9957 - val_loss: 0.1248 - val_acc: 0.9829
Test score: 0.124780163151
Test accuracy: 0.9829

MBP(core i7 @2.8GHz)だと20epochで200秒くらいで終わります。

Ubuntu14.04にChainer、CUDA8.0の環境を構築

Ubuntu14.04にChainerとCUDAの環境を構築したのでその記録を残しときます。 環境構築で手間取り2日くらいかかってしまいました。

まずWindows10でやってみましたが、途中挫折。その後、CentOS7でやってみて、また挫折。 以下は、最後にUbuntuに挑戦してみた結果です。

環境

OS構築

Ubuntuを通常通りインストールします。
文字化けが嫌なので英語環境をインストールしました。

ドライバー、ライブラリー ダウンロード

起動後、FirefoxNVIDIAの公式サイトより以下のファイルをダウンロードしておきます。

  • グラフィックボードドライバー(NVIDIA-LINUX-x86_64-375.26.run)
  • cuda toolkit(cuda_8.0.44_linux.run)
  • cuDNN(cudnn-8.0-linux-x64-v5.1.tgz)

ツールインストール

先にコンパイラーなどを入れておきます。

$ sudo apt-get install build-essential

nouveau無効化

NVIDIAのドライバーと競合するので、 デフォルトで入っているGPUドライバーを無効化します。

# sudo vi /etc/modprobe.d/blacklist-nouveau.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
# sudo vi /etc/modprobe.d/nouveau-kms.conf

options nouveau modeset=0
$ sudo update-initramfs -u

CUIでOS起動

CUIで起動するためgrubを書き換えます

# sudo vi /etc/default/grub

# GRUB_CMDLINE_LINUX_DEFAULT="splash quiet" # 削除
GRUB_CMDLINE_LINUX_DEFAULT="text" # 追加

grub更新後、再起動します。

$ sudo update-grub

GPUドライバーインストール

以下、ディレクトリー名は適宜読み替えてください。 終了後、再起動します。

$ cd Downloads
$ chmod +x ./NVIDIA-Linux-x86_64-<version>.run
$ sudo ./NVIDIA-Linux-x86_64-<version>.run
$ sudo reboot

CUDA toolkitインストール

こちらも終了後、再起動します。
インストールしていると、ドライバーのバージョンがダメですのでインストールしますか?と言われたので、ドライバーもインストールしました。

$ cd Downloads
$ chmod +x ../cuda_<version>_linux.run
$ sudo ./cuda_<version>_linux.run
$ sudo reboot

cuDNNインストール

ダウンロードしたファイルを解凍して、CUDAインストールディレクトリーにコピーします。

$ tar xvf cudnn-8.0-linux-x64-<version>.tgz
$ sudo cp cuda/include/* /usr/local/cuda-8.0/include
$ sudo cp cuda/lib64/* /usr/local/cuda-8.0/lib64

環境変数追加

環境変数を追加します。

# ~/.bashrc

export CUDA_PATH=/usr/local/cuda-8.0
export PATH=$CUDA_PATH/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH

export CPATH=$CUDA_PATH/include:$CPATH
export LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH

export CFLAGS=-I/usr/local/cuda-8.0/include
export LDFLAGS=-L/usr/local/cuda-8.0/lib64

完了後、再読み込みします。

$ source ~/.bashrc

pipインストール

普通にapt-getでインストールします。

$ sudo apt-get install python-pip

Chainerインストール

デバッグ情報まで表示できるようにvvvvをつけます。また、キャッシュを読み込んで変な動作をしても嫌なのでno-cacheをつけておきます。

$ pip install chainer --no-cache -vvvv

エラー

Chainerのインストールで以下のエラーが出ました。

Python.hがない

No such file or directory
#include "Python.h"

とのことでした。

$ sudo apt-get install python-dev

これをインストールすると動きました。

GPUテスト

サンプルのMNISTを実行してみます。

$ sudo apt-get install git
$ cd
$ git clone htttps://github.com/pfnet/chainer
$ cd chainer/examples/mnist
$ python train_mnist.py -g 0

結果

CPUでは約15分ほどかかっていましたが、GPUでは約75秒で完了しました。速い!

その他(無関係)

コーディングなどは別のPCで行いたいのでsshをインストールして、ファイル等のやり取りをできるようにします。

$ sudo apt-get install ssh

また、Permission Deniedで怒られるのが嫌なので通常はrootで作業できるようにします。Ubuntuはrootでログインできないので、以下のようにしてrootアカウントにパスワードを設定します。

$ sudo su -
$ passwd
[root password]
[re-type root password]
$ exit
$ su
[root password]

セキュリティ上、sshの設定は別途行う必要があります。
また、通常の用途では、rootはログインしないようにしておいて、必要な場合のみ、sudoでコマンド実行する方が良いです。

ただ、今回は、オフラインでサーバーを使っていくので、利便性をとりました。

2016年 買ってよかったもの 買わなくてよかったもの

Amazonの購入履歴を見ると2016年に561件の注文がありました。 日に1件以上購入している計算になります。(ヤマトさんいつもありがとうございます。)

もちろん全てが全て届く物ではなく、Kindle電子書籍も多数含まれております。

その中で買ってよかったと思う物と、買わなくてよかった物をピックアップしてご紹介したいと思います。 個人の見解ですので、全ての人に当てはまるわけではありません。

買ってよかった物

小型ドローン

面白すぎでした!ドローン自体が初だったのですが、面白すぎて大きいドローンをすぐに買ってしまいました。この小型ドローン自体は2日で壊れましたが、価格が手頃でドローンを体験するにはいいと思います。

USBケーブル

長さの違う2本が入っていて便利です。ケーブル部分も編み込み状になっててオシャレです。iPhone版もあります。

フェイスシェーバー

顔の産毛が予想以上にスムーズに剃れます。気持ちいです。

茶筒

江東堂高橋製作所 茶筒生地缶 平缶150g

江東堂高橋製作所 茶筒生地缶 平缶150g

作りがしっかりしていてスーッと閉まるのに感動します。ルピシアのお茶50gがちょうどいい感じで入ります。

VRメガネ

コンテンツがまだまだないので、これからに期待ですが、Google公式のいろいろな場所を旅行出来るアプリなど面白いです。

ティーメーカー

HARIO (ハリオ) ワンカップティーメーカー 200ml ブラック OTM-1B

HARIO (ハリオ) ワンカップティーメーカー 200ml ブラック OTM-1B

ちょうど一杯分のお茶を簡単にいれることができます。3つ買ってしまいました。

買わなくてよかった物

ルンバ

タイムセールで安くなっててつられて買ってしまいましたが、 冬になってコタツを出すとルンバの活動できるところがなくなり、めっきり使わなくなりました。 春になったらまた再始動させます。

Wii U

スプラトゥーンを2、3日やってお蔵入り。

まとめ

大きい買い物をするのが下手な自分。

PythonでRaspberry PiのI2C通信

PythonRaspberry PiのI2C通信を行った際のメモになります。

I2Cツールインストール

sudo apt-get install i2c-tools

I2Cディバイス接続確認

sudo i2cdetect -y 1

SMBusインストール

sudo apt-get install python-smbus

Raspberry Pi 3 セットアップ(Raspberry Pi 1/2も同じ手順でOK)

Raspberry Piをセットアップした際のメモになります。

SDカード準備

URL参照
pictzzz.hatenablog.com

起動

USBから給電を開始すると、自動的にOSが起動します。
必要なディバイス(ディスプレイ、キーボード、LANケーブルなど)は電源を入れる前に接続しておきます。

ログイン

raspberrypi login: 

と表示されたら、ユーザー名「pi」、パスワード「raspberry」でログインします。

ソフトウェアのアップデート

有線LANが接続されており、DHCPIPアドレスがもらえる場合です。 無線LANなどの場合は、ネットワークの設定から行う必要があります。

sudo apt-get update
sudo apt-get upgrade

アップデートが失敗する場合、ネットワークに接続されているかを確認します。

ping www.google.co.jp

応答がない場合、IPアドレスが正しく割り振られているかを確認します。

ifconfig

でeth0のinet addrにIPアドレスが付与されているかを確認します。
付与されていない場合、先にネットワークの設定 or 設定の見直しが必要です。

VIMインストール(好み)

sudo apt-get install vim

SSH設定

sudo raspi-config

5 Interfacing Options > P2 SSH > Yes > Ok

I2C設定

sudo raspi-config

5 Interfacing Options > P5 I2C > Yes > Ok

ローカライズ

タイムゾーン

sudo raspi-config

4 Localisation Options > I2 Change Timezone > Asia > Tokyo

キーボード

sudo raspi-config

4 Localisation Options > I3 Change Keyboard Layout > Generic 105-key (Intl) PC > Other > Japanese > Japanese > The default for the keyboard layout > No compose key

WiFi利用国選択

sudo raspi-config

4 Localisation Options > I4 Change Wi-fi Country > JP Japan > Ok

SD領域拡張

sudo raspi-config

1 Expand FileSystem > Ok

再起動

sudo reboot

無線LAN設定

sudo sh -c 'wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf'

オシロスコープ

電子工作をする上でオシロスコープがあると便利かなぁと前々から思っていたのですが、値段が高くてなかなか手が出せてませんでした。

Amazonで電子部品を探していると、このオシロスコープが出てきました。

https://www.amazon.co.jp/KKmoon-KKmoon-DSO138-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%83%BB%E3%82%AA%E3%82%B7%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97-2-4%E3%82%A4%E3%83%B3%E3%83%81TFT-%E3%83%8F%E3%83%B3%E3%83%89%E3%83%98%E3%83%AB%E3%83%89%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%82%B5%E3%82%A4%E3%82%BA-%E3%82%AA%E3%82%B7%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97-%E3%82%AD%E3%83%83%E3%83%88DIY%E3%83%91%E3%83%BC%E3%83%84-%E9%9B%BB%E5%AD%90%E5%AD%A6%E7%BF%92%E3%82%BB%E3%83%83%E3%83%88-1Msps/dp/B01FVLVZQA/ref=sr_1_1?ie=UTF8&qid=1481368049&sr=8-1&keywords=%E3%82%AA%E3%82%B7%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97

自作キットなので、自分で半田付けをしなければなりませんが、2700円と格安。 とりあえず、使い物になるかわかりませんでしたが、安かったので買ってみることに。

このように基板とパーツ、LCDがセットになっています。

f:id:pictzzz:20161210201327j:plain

なので作る時&使う時には、以下のものが必要です。

  • 半田ゴテ(細め)
  • 半田
  • テスター
  • 9V電源(センタープラス)

作るのはマニュアルがあるので、それに従っていけば完成します。

f:id:pictzzz:20161210201736j:plain

電子部品を全部取り付けたところです。 細かいチップを取り付けるのが難しかったです。

f:id:pictzzz:20161210201934j:plain

あとはピンをLCDと基板に取り付ければ完成です。

f:id:pictzzz:20161210202051j:plain

半田付けに慣れていれば簡単にできると思います。

テスターは抵抗値を読めるものがあると便利です。 いちいちカラーコードを読むのは面倒ですので。

https://www.amazon.co.jp/OHM-%E3%82%AA%E3%83%BC%E3%83%A0%E9%9B%BB%E6%A9%9F-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%83%9E%E3%83%AB%E3%83%81%E3%83%86%E3%82%B9%E3%82%BF%E3%83%BC-TDB-401-04-1891/dp/B001TVKWWU/ref=sr_1_1?ie=UTF8&qid=1481368906&sr=8-1&keywords=%E3%83%86%E3%82%B9%E3%82%BF%E3%83%BC

9Vの電源は秋月電子で買いました。

超小型スイッチングACアダプター9V1.3A 100V〜240V GF12−US0913: 電源一般 秋月電子通商 電子部品 ネット通販