-
独学初心者がRaspberryPiを使って色々動かしてみる記事です。
あくまで備忘録として書いていますが間違っているところ、アドバイスなどがあればコメントお願いします
今回はラズパイでLチカをやってみます
~~正直LED光らせたところで何も役に立たなそうだしやる意味あんのか?~~と思っていましたがその考えは全くの間違えでした
触って動かすことが大事でそこから色々学べたし次に何を学ぼうかを考えるのもできてものすごいいいきっかけになりました
前提条件
- RaspberryPi Model B+
- Python 3.7.4
用意するもの
裏側に金属版がはめ込まれてて列で電気が通るようになっている
何も知らなかった、、、
抵抗の計算
ラズパイの電圧が3.3vでLEDが2vなのでこのまま電源を繋ぎプログラムを実行すると壊れてしまう
そこで中学のとき寝ながら聞いてたオームの法則を調べてみる
電圧を求めるとき
電圧 = 抵抗 × 電流* (E = R × I) (V = Ω × A)
電流を求めるとき
電流 = 電圧 ÷ 抵抗 (I = E ÷ R) (A = V ÷ Ω)
抵抗を求めるとき
抵抗 = 電圧 ÷ 電流 (R = E ÷ I) (Ω = V ÷ A)
それぞれ公式を書いたけど意味は全部同じ
サイトごとに使われてるアルファベットが違うから全て記述した
これを踏まえて
ラズパイ 3.3V
LED 2V 10mA
ラズパイ - LED = 1.3V
1.3 ÷ 0.01 = 130Ω
130Ωの抵抗が必要
持っている大きさが近い抵抗を使う
大きすぎるとつかなかったり小さかったりする
LEDを光らせてみる
こんな感じ
GPIO
1番 3.3V +
6番 GND -
GPIOの1番は3.3Vの電流を発している
6番で電気を逃している
ただ、このままではLEDが光っぱなしで面白みがないのでここからLチカさせる
Lチカさせてみる
GPIO
6番 GND -
8番 14ポート +
import RPi.GPIO as GPIO
import time
LED = 14 # ピン番号8番、14ポート
GPIO.setmode(GPIO.BCM) # GPIOをポート番号で指定する
GPIO.setup(LED, GPIO.OUT) # ポート状態の設定 出力
print('-----start-----')
for i in range(1,11):
print('{}回目'.format(i))
if GPIO.input(LED) == 0:
# LEDが点灯していなければ点灯させる
GPIO.output(LED, GPIO.HIGH)
time.sleep(1)
else:
GPIO.output(LED, GPIO.LOW)
time.sleep(1)
print('-----end-----')
GPIO.cleanup() # クリーンアップ(初期化)
プログラムの説明は後日追加で書く
実行する
うまく動いた!
まとめ
- Lチカはあまり興味なかったけど色々学べた
- プログラム自体はそこまで難しくなかったけどこれからもう少し理解して追記する
- 電気の知識をつける(まずは小中高くらい)
- 文章力、構成力をつけたほうがいい
参考書籍
やさしくはじめるラズベリー・パイ ~電子工作で簡易ロボット&ガジェットを作ってみよう~
*2019/08/23 編集済み