mieki256's diary



2016/07/21(木) [n年前の日記]

#1 [raspberrypi] pigpioでLチカ

Raspberry Pi3 + Python + pigpio でサーボモータを制御できたので、少し前の段階に戻って Python + pigpio でLチカ(LED点灯)をしてみたり。

3回点灯させる版。 :

GPIO 17番に抵抗とLEDを繋いで実験。led_pigpio.py として保存。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# LED flash - pigpio

import pigpio
import time

LED_PIN = 17

pi1 = pigpio.pi()
pi1.set_mode(LED_PIN, pigpio.OUTPUT)

try:
    for i in range(3):
        pi1.write(LED_PIN, 1)
        time.sleep(0.5)
        pi1.write(LED_PIN, 0)
        time.sleep(0.5)

except KeyboardInterrupt:
    pass

print "done."

# cleanup
pi1.set_mode(LED_PIN, pigpio.INPUT)
pi1.stop()

sudo python led_pigpio.py で実行。フツーに光ってくれた。
  • pi1.set_mode(GPIO番号, pigpio.OUTPUT) で、出力モードに。
  • pi1.write(GPIO番号, 1) で、High状態に。
  • pi1.write(GPIO番号, 0) で、Low状態に。
  • pi1.set_mode(GPIO番号, pigpio.INPUT) で、入力モードに。

PWMを使って明るさを変える版。 :

pigpioを使えば、どのピンでもPWMが使えるようで。ココでも GPIO 17番を使って試してみたり。led_pigpio_pwm.py として保存。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# LED flash - pigpio PWM

import pigpio
import time

LED_PIN = 17

pi1 = pigpio.pi()
pi1.set_mode(LED_PIN, pigpio.OUTPUT)
pi1.set_PWM_frequency(LED_PIN, 200)
pi1.set_PWM_range(LED_PIN, 100) # 25 - 40000

try:
    for i in range(3):
        v = 0
        d = 10
        while v >= 0:
            pi1.set_PWM_dutycycle(LED_PIN, v)
            time.sleep(0.1)
            if v >= 100:
                d *= -1
            v += d

except KeyboardInterrupt:
    pass

print "done."

# cleanup
pi1.set_mode(LED_PIN, pigpio.INPUT)
pi1.stop()

sudo python led_pigpio_pwm.py で実行。フツーに明るさが変わってくれた。
  • pi1.set_PWM_frequency(GPIO番号, PWM周波数) で、PWMの周波数(Hz)を設定。
  • pi1.set_PWM_range(GPIO番号, 範囲最大値) で、dutyの範囲を指定。25 - 40000 の間で指定できるらしい。デフォルトでは 255 になってる、と、ドキュメントには書いてあった。
  • pi1.set_PWM_dutycycle(GPIO番号, duty) で、パルス幅の長さを指定。set_PWM_range() で指定した範囲の値を指定できる。

#2 [raspberrypi] QIコネクタとかTJC8コネクタとか2550コネクタとかHeader Connectorとか

電池ボックスとブレッドボードを接続できるヨサゲなコネクタは無いものかとググってたら、QIコネクタ、あるいはTJC8コネクタ、もしくは2550コネクタ、はたまたHeader Connectorと呼ばれるコネクタがあると知り。PC関係でも使われてる例のコネクタ、らしい。というかおそらく Raspberry Pi のGPIOもソレなのかなという気がするけど。

_Arduino で使うあのコネクタ
_デジットBlog:【Tips】電子工作でよく使う『QIコネクタ』の圧着方法
_2550コネクタ(QIコネクタ)の圧着 - YouTube
_電子工作の幅を広げよう!「オープンバレル端子」の使い方 - NAVER まとめ
_ATMEL AVR RTOS館【QIコネクタ、信号伝達コネクタ、2550コネクタ、DUPONTコネクタを圧着してみた】
_2550コネクタ、またはQIコネクタ ・ オッサンとバイエル、ピアノ等
_【共立エレショップ】>> QIコネクタ02P★受注単位有★: 【能動・受動・機構パーツ】 << 電子部品,半導体,キットの通販
_2.54mmピッチコネクター 2ピン ZL2543-2PS Linkman製|マルツオンライン
_TJC8コネクター (オス) (10本入): パーツ一般 秋月電子通商 電子部品 ネット通販
_TJC8ピンターミナル(メス) (10本入): パーツ一般 秋月電子通商 電子部品 ネット通販

なるほど、コレか…。コレを使えばいいのか…。お店によって呼び方が違うようではあるけど。

秋月電子で購入できないかと思ったのだけど、どうやら秋月電子ではハウジングと呼ばれるプラスチック製のカバーっぽいソレは売ってないようで。どうしたもんか。

そもそも、このコネクタを使うには、圧着ペンチなるものが必要になるらしい。そして、圧着ペンチのお値段は、結構高い…。

microUSBを電源端子にするのもアリなのかも。 :

電池ボックスに、USB Type A のメス端子でもついてれば、USB Type A - micro USBケーブルで電源供給ができるかもしれんのに、などとチラリと思ったら、どうやらそういう電池ボックスも世の中には存在するようで。

_電池ボックス 単3 x 4本 USBコネクタ・フタ付: パーツ一般 秋月電子通商 電子部品 ネット通販

ということは…。コレを入手してから、例えば100円ショップで充電用USBケーブルを購入して、後はブレッドボード上で microUSB を接続できる何かをゲットすれば…。

_100均『USBケーブル』は外見で選べ!? 100円ショップで購入できるUSBケーブルをいろいろ比較してみました(ウェブ情報実験室) - Engadget Japanese
_ブレッドボード用マイクロBメスUSBコネクタDIP化キット: 組立キット 秋月電子通商 電子部品 ネット通販
_マイクロUSBコネクタDIP化キット - aitendo
_マイクロUSBコネクタ [キット品]

もっとも、コレだと値段が高くなってしまうのか…。いや、モバイルバッテリー等を利用できる可能性も出てくる、というメリットはありそうだけど。

DCプラグもコスト的に捨てがたい。 :

コストを考えると、DCプラグでどうにかするのもありなのかな…。

_ブレッドボード用DCジャックDIP化キット: 組立キット 秋月電子通商 電子部品 ネット通販
_2.1mm標準DCプラグ(MP121C) 内径2.1mm外径5.5mm: パーツ一般 秋月電子通商 電子部品 ネット通販

microUSBで揃える選択肢と比べると、半額以下で済みそうな…。でも、汎用性が、ちょっと…。

以上、1 日分です。

過去ログ表示

Prev - 2016/07 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project