ラベル 電子工作 の投稿を表示しています。 すべての投稿を表示
ラベル 電子工作 の投稿を表示しています。 すべての投稿を表示

2015年9月13日日曜日

空中に文字を書いてみた

最近、資格試験や、コミトレ出展作品作りとかで全然更新できてなかったの久々!
今回は同人誌即売会での値札のポップ作り(即売会には間に合わなかった模様。。)
残光現象を利用して、空中に本の値段を書いている


2015年3月22日日曜日

ラズパイでカメラを使う方法

ラズパイでカメラモジュールを使ってみた
使用したのは「Raspberry Pi カメラモジュール
ラズパイ用のカメラモジュールのため、かなり簡単に作れた
まぁ全然カメラ起動しなくて苦戦したけどw

 カメラの取り付け方
下画像の赤い枠に注目
奥で観にくいけど、白い部分を持ち上げて、カメラモジュールのピラピラを差し込む。
カメラのピラピラは金の線が入ってる方を手前にする必要があるので注意

 カメラモジュールの設定
ラズパイの電源を入れてカメラの設定していく。普段SSHで作業してる人はHDMI端子を用意する必要がある。ラズパイの設定画面を操作するので画面出力するから
  • 設定画面を開く
  • カメラモジュール有効可
  • 下の画像みたいなの出るから、「Enable Camera」を選択。「Enable」を選らんで「Enterキー」押す
    下の画像に戻るので、「Escキー」を押す。←これ気づかずに「Finish」押して再起動してたらカメラ有効にならなくてめっちゃ迷ったww
 写真の撮り方と確認方法
撮り方はこのコマンド ※「photo.jpg」は保存する写真の名前なので任意

画像を見る方法はコレ ※「photo.jpg」は表示したい画像の名前なので任意


できた!!!

2015年3月2日月曜日

ラズパイで液晶ディスプレイに時間を表示させてみた(作成中)

I2C通信の勉強でラズパイに液晶ディスプレイに時間を表示させてみた。
めっちゃ疲れたーーーーwwww
配線間違えて電源入いらんようになったり、パーツ足らずに代用ためしたり、配線の理屈わからなかったり。。。 電子工作険しいww
とりあえず、まとめる

I2C通信とは

I2C通信は周辺機器とシリアル通信する仕組み
具体的にはラズパイがマスタ、周辺機器(温度計、加速度センサ、気圧)がスレーブとなって、データのやり取り(温度取得、加速度取得、気圧取得)ができるようになる
しかも、通信するための線が下の2本だけでできるってのも魅力
  • データのやり取りする線(SDA)
  • タイミング調整する線(SCL)

お買い物リスト

機材個数画像
16文字×2行LCDモジュール
ACM1602N1-FLW-FBW
今回の目玉。2行の文字を表示する
1個
ハンダごて
LCDモジュールをブレッドボードに接続する道具
1個
なまり線
ハンダでLCDの接着するためのもの。接着材みたいなの
5cm
ブレッドボード
ハンダ付けとかせず、
簡単に配線ができるやつ
1個
ジャンパー線(雄雌)
ラズパイのGPIOと
ブレッドボードをつなぐ線
5個
ジャンパー線(雄雄)
ブレッドボード上で配線を するための線
X個
可変抵抗(10kΩ)
抵抗値を変化させられるやつ。今回のクセモノ。てか、軽視しすぎてた
1個
抵抗(1kΩ)
電流を安定させる為に必要
1個
テスター
電流、電圧、抵抗とか調べれる。可変抵抗を調べるときに活躍する
1個

ラズパイでI2C通信をする為の準備

  • モジュールを使えるようにする
  • 読み込みできるように設定。管理者権限がいるので注意
    $ sudo vi /etc/modules
    i2c-dev # これを追記しとく
    
    デフォルトで読み込み拒否設定ファイルにi2cがいるので、コメントアウトしとく
    $ sudo vi /etc/modprobe.d/raspi-blacklist.conf
    # blacklist i2c-bcm2708  # 行頭に#つけてコメントアウト
    
  • モジュールのインストール
  • インストール
    $ sudo apt-get install i2c-tools
    
    モジュール読み込み。ここでI2Cの動作クロック周波数を50kHzにする
    普通は100kHzが標準。でも今回使う液晶が50kHzでないと作動しないのでコレで設定
    $ sudo modprobe i2c-dev
    $ sudo modprobe i2c-bcm2708 baudrate=50000
    
    次回起動時にモジュールが動くように設定
    上で、「i2c-dev」と「i2c-bcm2708」を読みこんだけど、「i2c-bcm2708」は電源入れ直したらまた読み込みし直しになるので、自動で起動するようにする
    $ sudo vi /etc/modprobe.d/i2c.conf # ←このパスに「i2c.conf 」ファイル作って、下記を書いとけばよい
    options i2c_bcm2708 baudrate=50000
    
  • Pythonで制御するライブラリをインストール
  • $ sudo apt-get install python-smbus
    
準備完了!

配線

作成中

実装

作成中

2015年1月20日火曜日

ラズパイでLEDをピカピカさせてみた

勉強会で今期はラズパイの電子工作やってこーってことになったのでガンバる!

手順


・回路図書いてみる
・電子部品のお買い物
・配線
・PythonでLEDの制御

完成図はこんな感じ→



回路図

中学、高校の理科でしかみたことないから四苦八苦(-_-|||)
ラズパイは3.3V,5.0Vの電圧を出力できる。この回路に順電圧2.0V、順電流20mAの赤色LEDを点灯させる。

この回路に20mAの電流を流したい。そのとき、備え付ける抵抗の値をいくつにすればいいのか計算する
直列回路なので、抵抗の電圧は$V=V_1+V_2$から \[ V= 3.3 - 2.0=1.3[V] \] オームの法則( $IR=E$ )から0.02Aにするための抵抗は \[ R =\frac{1.3}{0.02}=65[\Omega] \] なので、65Ω以上の抵抗があれば20mA以下の電流を作れる。今回は100Ωの抵抗を使っていく

お買い物リスト


機材個数画像
ブレッドボード
ハンダ付けとかせず、
簡単に配線ができるやつ
1個
オス-メスジャンパー線
ラズパイのGPIOと
ブレッドボードをつなぐ線
1個
オス-オスジャンパー線
ブレッドボード上で配線を
するための線
1個
LED
光るやつ
赤色
順電圧:2.0V
順電流:20mA 
1個
抵抗(100Ω)
回路に流れる電流を
制御するやつ
1個

配線



ちょっと工事中。。。

LED制御


次にコーディング
ラズビアンはPythonって言語が最初から使える
GPIO用のパッケージ?をインポートすれば簡単に実装できるっぽい
とりあえずディレクトリ作ってその中で作業
$ mkdir gpio
$ cd gpio
$ vi sample.py # pythonは拡張子py
1秒おきにLEDがピカピカするコード
#! usr/bin/env python
# coding: UTF-8

# インポート:GPIO、時間
import RPi.GPIO as GPIO
import time

# BCMタイプ:GPIOピン番号を指定する方法
GPIO.setmode(GPIO.BCM)

# 出力するポート
io_port = 4

# 4番を出力にする
GPIO.setup(io_port, GPIO.OUT)

## ループ処理:付けたり消したりする
for count in range(5):
    GPIO.output(io_port,GPIO.HIGH)
    time.sleep(1)
    GPIO.output(io_port,GPIO.LOW)
    time.sleep(1)

# IOをきれいにする
GPIO.cleanup()

これでおk
実行はルート権限がいる(コレに気づくのに時間かかった。。)
$ sudo python sample.py

ピカピカした!

まぁ最初だしこんなレベルでw