raspberrypiでLチカ + 初心者がpythonをやってみた。

最初はpythonで、将棋ソフトを作ってみようかなと思っていました。ただ、なかなか一人でやっていくには難しい、ソースコードがあまりない、プログラマーになりたいわけでもないなぁということで、raspberrypiをやってみます。

今回は、raspberrypiの準備と、Lチカまでやってみました。

 

raspberrypi(ラズベリーパイ)とは、簡単に言うと、低スペックなパソコンです。安いものから、500円、高くても5000円で利用できます。 なお「raspberrypi」の「pi」は「python」の「パイ」らしいです。

raspberrypi3は、wifiや、LANケーブルでインターネットに接続することができますし、USB端子も接続できます。bluetoothも利用できます。
HDMI端子を使用してディスプレイの接続も可能です。

低スペックですが、普通のパソコンと変わりません。

なお、GPIOピンが40あり、そこから信号を入出力できます。

 

使用環境

・raspberrypi3

・NOOBS(普通のパソコンにはwindowsなどのOSが入っていますが、raspberrypiは買った時点では入っていません。linuxベースのNOOBSをいれるとよいでしょう。)

・microSD (8GBあればOK)  初期化したmicroSDにNOOBSをインストールする必要あり。

・windows10を使用し、windowsのリモートデスクトップでraspberrypiを操作。

 

使用できるまでにかなり時間がかかります。入門書を使いながらやりましょう。

 

Lチカ(LEDチカチカ)

電子工作するとき、まずはじめにLチカをやる場合が多いそうです。

ということで、プログラムは以下です。pythonで書いてます。

 

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT)

 

while (True):
GPIO.output(4, True)
time.sleep(0.2)
GPIO.output(4, False)
time.sleep(0.2)

これを実行すると、LED0.2秒ごとにLEDがチカチカします。

なぜpythonを選んだのか?

①コードがシンプルである。

Pythonは少ないコードでたくさんのことができ、コードが見やすい。初心者にはとっつきやすい言語だと思う。また、スクリプト言語(コンパイルせず、直接出力できる)である点も大きい。

②科学技術計算、機械学習のライブラリが豊富である。

理系にはもってこいのpythonライブラリが多い。人工知能が急激に伸びている中、sklict-learn,tensorflowといったフレームワークが次々実装されている。

③最も成長著しいプログラミング言語である。

今最も注目されている言語である。facebookやgoogleでも採用されている。2017年度最も伸びたプログラミング言語に選ばれた。まだ日本ではマイナーな言語かもしれないが、書店に行くと急激に系の本が増えている。

 

プログラミング環境

私のプログラミング環境です。

cpu::Windows10

言語:python3 、アナコンダ

テキストエディタ:visual studio code (本当はvisual studio 2017でやりたいけど高機能すぎてまだよくわかっていない。)

 

pythonのおすすめライブラリ

私が調べた中で、いろいろとよさそうだと思ってる、pythonライブラリです。

ドライバ系(I/O)

 ・pyvisa,  pyserial,  pyUSB,  pyParallel

科学計算

 ・numpy, scipy

グラフ、図を描く

 ・matplotlib

3D、GUI系

・Vpython、pythonCAD , wxpython , EasyGUI, PyGame

機械学習

・scikit-learn, TensorFlow

ロボット系

・pyrobot

 

 

pythonでがっかりしたことを書きます。

2010年くらいから外国ではブームが起きて、シェア1%まで伸ばしたそうです。

ただ、日本ではそれほど脚光をあびることはなかったそうです。

ただ、人工知能や機械学習、IoTなどが注目されるようになり、日本でも取り入れられていきました。

2014年くらいからでしょうか、pythonが日本でのプログラミング言語平均年収が第一位になりました。

2015年でも、それほどpythonについての本は少なかったと思います。(日本語で)

そして、2017年pythonをはじめることを決心し、勉強しています。

 

先日、大学の生協に行くと、pythonの本が入り口で山積みにされているではないか。この本買ったら15%off!!

ようは、pythonフェアをやっているのである。

また、書店の奥にいって、プログラミング分野に行くと、pythonが一番目につくところに置いてある。CやJavaをさしおいて。

去年は、pythonの本なんて、あっても10種類くらいしか置いてなかった気がする。今や、50種類以上。

raspberrypiや人工知能関係の本を含めると100種類以上の本が並べてある。

これをみて、すごく複雑な気持ちになった。

そうかーもうライトな層までpythonがきたのかー 今からやっても、にわか臭がすごいなー。はー😞

株で例えると、この株を買えば右肩あがりで、将来10000円をほぼ超える。

だがしかし、今の値は、8000円。だいぶ高値まで来ている。

5年前だったら、1000円だったのに・・ そんな気分である。

 

ついでにLEDをPWMで明るさ制御

 

LEDをPWMで明るさを制御します。

PWMとは、一秒間におけるパルス数を一定に保ちながら、パルス幅のデューティー比(LとHの比)を変えて制御する。

import RPi.GPIO as GPIO

led = 4
GPIO.setmode(GPIO.BCM)
GPIO.setup(led, GPIO.OUT)

pwm_led= GPIO.PWM(led,500)
pwm_led.start(100)

try:
while True:
duty_s = input(“push(0~100)”)
duty=int(duty_s)
pwm_led.ChangeDutyCycle(duty)

finally:
GPIO.cleanup()

                          参考 raspberry pi クックブック

ターミナル上で

>sudo python LEDPWM.py

とpythonを実行すれば、

>”push(0~100)”

と表示されるので、0~100の値を入力することで、明るさを変えることができます。

crtl + C を押せば、pythonを終了させることができます。

 

2017-11-13未分類python, raspberrypi