LoginSignup
2
2

More than 1 year has passed since last update.

RaspberryPi PythonとC#でLチカ

Last updated at Posted at 2020-05-29

PythonでLチカ


スクリーンショット 2020-05-28 15.57.12.png
知識ゼロから作って学ぶIoT入門

Arduinoではありますがブレッドボードの説明やLチカ説明が載っており、1500円セールの時なら元はとれます。

gpioのピンの一覧を表示する

基板のGPIOの番号を確認します。

$ gpio readall
wiringpiライブラリー古い場合はエラーが出た場合

ライブラリーが古い場合はエラーが出ます

Oops - unable to determine board type... model: 17

wiringpiを更新する

cd /tmp
$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb

再度
gpio readall

gpioのPIN番号の表示

Physical = 連番 PIN
0v = GND
ターミナルに表示されます
スクリーンショット 2020-05-28 15.57.12.png

左側に3.3Vの電流がそれぞれのPINに流れています
右側に5Vの電流がそれぞれのPINに流れています

0vがGNDになります。GNDはマイナス
GNDについてはUmedyの動画で詳しく説明しています。
GPIについてUmedyの動画で体系的に学ぶことをお勧めします。

GPIO.BOARD: 物理ピン番号(連番)
GPIO.BCM: 役割ピン番号(broadcomが命名しているもの)

GPIO番号はモデルごと違うのでPIN連番(BOARD)を使う

GPIO番号はモデルごと違う場合があるので、PIN番号で指定するGPIO.BOARD(連番)を使った方がよいみたいです。

スクリーンショット 2020-05-28 15.57.12.png

l.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
#RPi.GPIOモジュールをインポート 
from time import sleep

#GPIO.setmode(GPIO.BCM)

#GPIO.setmode(GPIO.BOARD)

#連番を利用する
GPIO.setmode(GPIO.BOARD)

GPIO.setup(7, GPIO.OUT)

try:
  while True:
      GPIO.output(7, GPIO.HIGH)
      sleep(0.5)

      GPIO.output(7, GPIO.LOW)
      sleep(0.5)    
except KeyboardInterrupt:
    # GPIO設定クリア 
    GPIO.cleanup()
$ python l.pay

スクリーンショット 2020-05-29 17.26.23.png

全体の流れ

PINのプラス(赤)からブレッドボードを通してPIN マイナス(黒)(GND)につなげる
ダイオードに電流が流れすぎないように抵抗を加えて調整する必要がある

スクリーンショット 2020-05-28 15.57.12.png
パーツをまとめて購入(サンプルファイルCD付き)
スクリーンショット 2020-05-29 18.02.23.png
最終的にこれらをC#に変換しマイクロソフトのGPIOライブラリを使って使おうと思います。

追記
Sample File URL
OSOYOOのサイト サンプルファイルと動画がありました

ポイント

センサーパーツをAmazonでまとめて購入できる
体系的にGPIOを学んだほうがよい。UmedyにRaspberyの動画があった
Amazonの安いテスターを買って電流がちゃんと流れているか確認すると理解が早まる
パーツをまとめて購入セットにはサンプルプロジェクトファイルがあり、自走学習が可能と思われる

次回 C#でLチカ

マイクロソフトがGPIOライブラリをリリースしてきたのでそれを使ってlチカをやってみます。

マイクロソフトのGPIOライブラリ
MONOのGPIOライブラリ

C#でLチカ

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2