2014/02/13(木)20:12
Raspberry Pi で LED チカチカしてみた
Raspberry Pi 買ってみた ので、あれこれ遊んでみようかと思う。
★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】
でも、電子工作系はよくわからないし、本をちゃんと読んでから試すのもまどろっこしいので、Raspberry Pi 電子工作 LEDの点灯や各種アナログセンサーを使ったMaker's系のプログラム で紹介されているキットを安易に購入してみた。こういうものを買ったからには、とりあえず LED チカチカとかやってみなきゃいけない気になったので。もっともこの程度なら Google で適当に情報を探して必要な部品を自分で揃えた方が安上くできるという話もあるが、とりあえず調べたり本を読んだりするの面倒だからお金で解決した。自分で部品買えば、もっと安上がりにできそう。余計なお金をつかいたくなければ、次の本を買って読んでから、秋月電子通商とかで部品買い集めた方がいいかも。まだパラパラめくっただけだけど、ほんとうに実用的でよい感じの本。
【送料無料】Raspberry Pi「実用」入門 [ Japanese Raspberry P ]
まだ、本はちゃんと読んでないけど、すぐ試したいので Raspberry PiでLED点灯(Lチカ)してみよう。、Raspberry PiとRubyでLED制御 をやってみる。v = open("/sys/class/gpio/gpio27/value", "w") って、gpio25 の間違いじゃないか。コピペしても動かんじゃん。まあいいや。とりえずチカチカできた。その勢いで PWMでRaspberry PiのLEDの明るさ調整するやってみたが、光らない。配線そのままだと pin = 1 じゃなくて、pin = 6 じゃん。コピペそのままならジャンパーを差し替えなきゃ。このページを見て、ちゃんと位置を確認してねと。なんだこれは、理解させるために面倒なことをわざとやってる...。楽しませてくれるなぁ。おかげで理解が深まった。というか、なんというか。
Ruby の wiringPI みたいなものは、Python にも調べてみたらあった。RPi.GPIO。raspberry-gpio-python: A Python module to control the GPIO on a Raspberry Pi。というか、当然のごとく、これがインストールされてるので、
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
sw = True
for n in range(20):
GPIO.output(12, sw)
time.sleep(1)
sw = True if sw == False else False
で、1秒間隔で 10回点滅できた。
明るさの調整も GPIO.PWM で OK。
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
p = GPIO.PWM(12, 50) # channel=12 frequency=50Hz
p.start(0)
try:
while 1:
for dc in range(0, 101, 5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
for dc in range(100, -1, -5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
except KeyboardInterrupt:
pass
p.stop()
GPIO.cleanup()
LED は、基本が分かったので、先に進むことにする。