下手の横好きのスクラップブック!!

下手の横好きの、いろいろな記録です。
電子工作・PIC・Arduino・太陽光発電・写真などetc

πduinoの製作

2017-05-09 | RaspberryPi

トラ技の2月号に付録としてついてきたπduino製作基板を利用して、ラズベリー・パイとArduinoが合体したπduinoを製作した。

付録についてきた基板

別途購入した部品セット

部品を実装しながら途中で気が付いたのですが、πduinoのUSB端子は電源供給のみで、
データの書き込みは別にあるシリアルポートから行うことが判明しました。
そのため、USBシリアル変換モジュールが必要となり、急きょ、CP2102を入手しPC接続することとしました。

CP2102

最初にπduino部分だけ部品を実装しテストしてみました。


USBシリアル変換モジュールを接続し、Arduino IDEを起動。
Arduino Examplesの中から、1.Basic→Brinkを読み込み、LEDの点滅を確認。
USBシリアル変換モジュールが中国製廉価版だったので、うまく動作するか心配でしたが、
無事LEDの点滅を確認できました。

全体の部品実装完了

ラズベリーパイ「ゼロ」

πduinoとラズベリー・パイ「ゼロ」を組み合わせ OSをセットアップ

初回起動画面

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Raspberry Piで温度を測る(2)

2016-09-09 | RaspberryPi

ADT7410温度センサーで測ったデータを、小型液晶AQM0802に表示して見ることにしました。

I2Cを使っているので、増設は簡単です。VDD,GND,SCL,SDAの4本を接続するだけでOKです。
RESETは通常がHIGHであり、LOWになるとリセットされることになるので、VDDに接続しHIGHの状態にしておきます。
ブレッドボードに小型液晶をセットし、I2Cを接続しました。

配線を確認し、電源ON、プログラムを読み込みRUNさせましたが、液晶は何の変化もなく測定した温度データは表示されませんでした。
念のためプログラムの途中に「print(inputVlue)」を挿入し、再度RUNしてみると、Python Shellには測定した温度が表示されるので、
測定ブロックは正常に動作していることが分かりました。

いろいろ調べても分からず、ネットで検索したところ、同じ症状で検索し、ヒットしたページを見ているうちに、
「実例で学ぶRaspberry Pi電子工作 補足情報」にたどりつきました。

その中に「完成品のLCDを購入しても認識されない場合の暫定的な対処法」という、項目があり調べると、
今回の内容にピッタシ当たるようです。
LCDの新しいロットでは電流の引き込み能力が低くRaspberry Piでは動作しないという内容です。

これに対する対処法が二通りありましたので、これをそれぞれ実施してみました。

LCD対処法:暫定版

Raspberry Piから認識されない完成品LCD(AQM0802)に対して、図のようにSDA部からGND間に抵抗を追加する。

動作を確認することができました。

簡単な対処法ですがあくまで暫定版です。

LCD対処法:正式版(ただし上級者向け)

この小型液晶AQM0802の新しいロットを使う上で問題になるのが、
Raspberry Pi上にあるプルアップ抵抗1.8kΩが小さすぎるということのようです。
新しいロットのAQM0802を使う上では、10kΩが推奨されています。

そこで、図のようにPCA9515(I2Cバスリピーター)を使い、Raspberry Piと温度センサー側を切り離し、
Raspberry Pi側を1.8kΩ、LCD側を10kΩで利用するようにします。これをブレッドボード板上で行うためには、
基板に小さなチップ部品をはんだ付けする作業が発生します。ここがちょっと大変です。

基板の作成〈部品一覧)
 

完成品

 

 

LCD側のプルアップ抵抗を有効にする
PUのプルアップ抵抗を有効にするため、端子にハンダを盛る。

動作を確認すると、LCDに温度が表示されるようになりました。

全体図

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryPiによる温度測定

2016-09-06 | RaspberryPi

ADT7410を使用して温度測定・エクセルに取込

I2C(Inter Integrated Circuit)は、IC間を2本の信号線で接続し、データのやり取りを行います。
この信号線に複数のマスターおよびスレーブ接続することが可能で、数多くのICと通信ができるようです。

Raspbianには、I2Cを使うためのモジュールが含まれていますが、初期状態ではこのモジュールが無効に設定されているようです。この設定変更については、各種参考書やネットに詳しく説明されておりますので、そちらを参考にすることとします。

設定を確認するために「sudo i2cdetect -y 1」と入力し実行します。
次のように表示されれば、設定はOKです。

つづいて、sudo apt-get install python-smbus と入力し実行します。python の smbusライブラリーがインストールされ準備完了です。

RaspberryPiで温度を測る

秋月電子で販売している、ADT7410使用 高精度・高分解能・I2C・16Bit温度センサーモジュールは、モジュール基板に、動作に必要な部品がすべて実装され、電源、GND、SCL、SDAの4線を配線するだけで動作します。

I2C接続のため、配線は少なく簡単にRaspberryPiで温度を表示することが出来ます。
右下にセットされているのが、温度センサーモジュールです。
右上のLCDは測定した温度を表示する予定の、I2C接続小型8文字2行液晶で、今回は動作させてません。

RaspberryPiに「RaspberryPiで学ぶ電子工作」に掲載のサンプルファイルから07-01temp.pyを読み込み動作をしている状態。

このデータをエクセルに取込みグラフ表示をしてみました。

 

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryPiによる アナログ値の読み込み

2016-08-30 | RaspberryPi

「Lチカ」の次は、アナログ値の読み込みに挑戦してみました。
実は勉強不足で、RaspberryPiには「AD変換器」がついてないことをここで知りました。
「Arduino」では、ADコンバーターが内部に組み込まれているので、直接アナログ値を読むことが出来ました。
Arduinoでは、センサーの出力を直接読み込み、データの換算をすればよかったのですが、RaspberryPiではADコンバーターと通信手段を別途用意する必要があります。
今回はADコンバーターとして、MCP3208-CI/Pをつかい、通信手段はSPIが使われます。
なお、ADコンバーターの詳しい説明や読み込むためのプログラムについては、「RaspberryPiで学ぶ電子工作」に「易しく詳しく」説明がありますので、参考にしていただければと思います。センサーとしては、フォトレジスターを使い、明るさの変化でLEDを点滅させるようになっております。

回路図

 

全体の状況

通常の明るさで動作中 LEDは点灯しない



フォトレジスターにテープを貼り付け暗い状態を再現するとLEDが点灯する

 

読み取った値がPython Shellに表示される〈ビニールテープ貼り付け状態)

途中でセンサーに貼り付けたビニールテープを取り外した状況
値が大きく変化している

 

アナログ値読み込みプログラム(RaspberryPiで学ぶ電子工作より
 サンプルファイルの06-02-led.pyをそのまま利用しております。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Lチカの次はスイッチ ON で LED点灯

2016-08-11 | RaspberryPi

 

プログラム

# coding: utf-8

 # GPIO ライブラリをインポート

import RPi.GPIO as GPIO

 # ピン番号の割り当て方式を、コネクタのピン番号に設定

GPIO.setmode(GPIO.BOARD)

# 使用するピン番号を設定
SW = 18
LED = 22

# 22 番ピンを出力ピンに設定し、初期出力をローレベルにする

GPIO.setup(LED, GPIO.OUT, initial=GPIO.LOW)

 # 18 番ピンを入力ピンに設定

GPIO.setup(SW, GPIO.IN)

 # 例外を検出

try:
  
  # 無限ループ
  
  while 1:
      
   # スイッチの状態を変数key_in に代入
      
   key_in = GPIO.input(SW)
      
   # 変数key_in の状態を判定
       
  if key_in==0:
          
    #ロー レベルを出力
           
   GPIO.output(LED, GPIO.LOW)
       
  else:
          
    # ハイレベルを出力
          
    GPIO.output(LED, GPIO.HIGH)


# キーボード例外を検出

except KeyboardInterrupt:
  
  # 何も処理をしない
  
  pass

 # GPIO を解放

GPIO.cleanup()

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryPiで電子工作 最初はLチカ!!

2016-07-28 | RaspberryPi

Lチカは、マイコンを使って電子工作する場合の最初の登竜門です。
RaspberryPiについては、今回が初めての挑戦ですので、まずLチカから始めようと思います。
RaspberryPiのLチカについては、いろいろの解説書に掲載されています。
今回は、ブルーバックスの、金丸孝志氏著「Raspberrypiで学ぶ電子工作」を参考に回路作製・プログラム作成をすすめていきます。

①準備品
 RaspberryPi Mode B+
 ブレッドボードおよびLED、抵抗、接続リード線等の部品 
 モニター(PCモニターを切り替えで使用)
 モニター接続ケーブル(HDMI端子)
 キーボード(USBインターファイス)
 マウス(無線タイプ)
 電源(DC 5V 2A  USB-microBケーブル付き

②RasPiのGPIO(General-Purpose Input/Output)ポート
 
RaspberryPi Model B+は、基板表面に40本のピンが立っています。
 このピンの集合を「GPIOポート」といい、配置は図のようになります。
    

回路の製作
 GPIO25(PIN番号22)に電流制限抵抗とLEDのアノードを接続します。
 LEDのカソードとGND(PIN番号6)を接続し回路政策は完了です。

④接続
 
ブレッドボードを使って実際に配線した様子です。


⑤PythonのIDLEを起動

 電源を接続しRaspbianを起動します。
 
 ディスクトップ上のLXTerminalをダブルクリックしてターミナルを起動します。

 プロンプトの後ろで sudo idle & と入力し「Enter」キーを押す。
 
 python shellのウインドウが表示される。
  

 
 次にプログラムを記述するためのエディタを起動します。

  
 python shellのFileメニューから「New File」(New Window)を選択すると、
 Untitled と表示されたエディタが起動します。

  
 プログラムの記述は、こちらのエディタに記入します。

⑥プログラムの記述 

  Lチカの実際のプログラムは下記のようになりました。

#coding: utf-8
#GPIOライブラリをインポート
import RPi.GPIO as GPIO

 

#Sleep命令を使用可能にする
from time import sleep

#初期化命令
LED = 25
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED, GPIO.OUT)

#プログラム本体

#例外の検出
try:

    #無限ループ
    while True:
        #ハイレベルを出力
        GPIO.output(LED, GPIO.HIGH)
        #0.5秒待つ
        sleep(1)
        #ローレベルを出力
        GPIO.output(LED, GPIO.LOW)
        #0.5秒待つ
        sleep(1)

#キーボードの例外を待つ
except KeyboardInterrupt:
   
    #何もしない
    pass

#GPIOを解放
GPIO.cleanup()

⑦プログラムの実行
 エディタの「Run 」タブから「Run Module」をクリックするとプログラムが
 実行され、LEDが0.5秒ごとに点滅します。

  
 もし、プログラムに誤りがあると、問題のある個所の近辺に赤で表示されます。
 問題点を見つけて修正し、再度「Run Module」をクリックします。

⑧プログラムの終了
 プログラムの終了は、Python Shellウインドウの上で、「Ctrl」キーを押し
 ながら「c」押すと、プログラムが終了します。

2016/8/8 プログラムの一部を修正 #coding:utf-8記入漏れのため冒頭に追加

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ラズビアンOSを日本語入力が使えるように設定

2016-06-15 | RaspberryPi

ラズビアンOSを日本語入力が使えるように設定

画面上の「Menu」をクリックして、Preference→RaspberryPi Configuration をクリックする。

System タブでパスワードの設定ができる。初期設定は「raspberrypi」が設定されており、パスワードを変更する場合は
「Change Password」をクリックして変更する。そのままでも可。

タブを「Localisation」に移動して、「SetLocale...」で「Locale」を設定


「Set Timezone...」でタイムゾーンを設定


「SetKeyboad...」キー配列を設定する。

 

次にコマンドを使って日本語入力ソフトのインストールを行う。

画面上の「Menu」をクリックして、「Accessories」→「Terminal」をクリックするとターミナルが開く。


今回はラスビアンで利用できる日本語入力ソフト「Anthy の uim」をつかいます。
ターミナル画面のコマンド待ち状態を示す「$」記号の後ろに次のコマンドをキーボードより入力し実行すると
日本語入力ソフトがインストールされます。。

 $sudo apt-get updata 実行(Enter)
 $sudo apt-get install uim uim-anthy 実行(Enter)

インストール後、再起動すると「全角/半角」キーで日本語入力の「オン/オフ」が可能となります。


 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ラズパイのOSインストール

2016-06-09 | RaspberryPi

Raspberry Piの OSインストール

以前より興味のあったRaspberry Pi でしたが、旧型PCにLinux(XUbuntu)を入れたのを機会にRaspberry Piを使ってみることにしました。
ラズパイは、専用のOS「ラズビアンOS」を使うのが一般的です。この中身はLinuxですので、Linuxを勉強のためチャレンジしました。
なお、今回は「ラズパイ超入門」「ラズパイマガジン2015年秋号」などを参考にしております。


用意したもの
 Raspberry Pi2 Model B
  表                       裏
 

  同上のプラスチックケース

 モニター用ケーブル HDmI
  SDメモリーカード 8GB

 
手持ちの物を利用したもの
 PC
 USBキーボード、USBマウス
 ディスプレイ
 5V 2.5A 電源アダプター

SDカードにOSのインストール
  ラズパイのOSは、「ラズビアン」になります。
  SDカードで「ラズビアン」をインストールするには、2段階の作業が必要になる。

 ①OSインストール用の 「NOOBS」をインターネットからダウンロードして、SDカードに書き込む。
  この作業は Windows パソコンでの作業になります。

    Windows パソコンで、 https://www.raspberrypi.org/downloads/にアクセスし「NOOBS」をダウンロードする。

  ダウンロードしたら解凍し、ファイルの中身をすべてSDカードにコピーする。


 ②「NOOBS」を書き込んだ SDカードをラズパイにセットし、「ラズビアン」のインストールをおこなう

  SDカードをセットしたら、USB電源ケーブルをセットする。(電源スイッチは無し)


  ラズパイが起動し、ディスプレイに画面が表示される。

  

次回は日本語設定を記載予定

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする