Python のバージョン系列posted by ohwada on May 18, 2016Python には 2.x と 3.x のつのバージョン系列が存在します。ラズパイにはどちらも入っています。デフォルトは 2.x です。2.x は、2010年リリースの 2.7.9 が最終バージョンであり、機能追加は行われません。3.x への移行が推奨されていますが、2.x と互換性がないことから、…
Python のライブラリposted by ohwada on May 18, 2016Python には PyPI (Python Package Index) というライブラリのデータベースがあります。pipコマンド で簡単にインストールできます。ラズパイには下記のものが入っています。$ pip freezePillow==2.6.1RPi.GPIO==0.6.2…
構造化プログラミングposted by ohwada on June 03, 2016構造化プログラミング(structured programming)とは、1960年代後半にエドガー・ダイクストラらによって提唱された仮想機械モデルに基づくプログラミングのことを言う。これ以前のプログラミング手法では goto 文が多用され、いわゆるスパゲティプログラムを生む要因になっていた。…
オブジェクト指向プログラミングposted by ohwada on June 03, 2016オブジェクト指向プログラミング(object-oriented programming)とは、オブジェクト (object) と呼ばれる機能の部品でソフトウェアを構成させるものであり、一般的に以下の機能や特徴を活用したプログラミング技法のことをいう。カプセル化(振る舞いの隠蔽とデータ隠蔽)インヘリタンス(…
RPi.GPIO の PWMposted by ohwada on June 06, 2016デジタル出力の電圧は3.3Vと一定です。そのためLEDの明るさも一定です。非常に短い周期で点灯と消灯を繰り返すことで、LEDに明暗をつけることができます。こういう方式を PWM (Pulse Width Modulation) パルス幅変調と言います。人間の眼は、0.3秒周期では点灯と消灯を認識できますが…
LEDの点滅posted by ohwada on June 06, 2016LEDの点灯と消灯を繰り返すことで、LEDの点滅をします。P11(GPIO17)とP6(GND)の間に、LEDと330Ωの抵抗を直列に入れます。サンプルコード LEDRPI LED BllnkRPI LED Command
タクトスイッチの読み取りposted by ohwada on June 06, 2016タクトスイッチを、P13(GPIO27)とP1(3.3V)の間に入れます。10KΩの抵抗を、P13(GPIO27)とP9(GND3)の間に入れます。Raspberry Pi の GPIO の タクトスイッチ を参照サンプルコード ButtonRPI Button ReadRPI Button LEDRPI…
サーボの制御posted by ohwada on June 06, 2016サーボには本の信号線があります。赤は Pin4 (+5v)、黒は Pin6 (GND)、白は Pin32 (GPIO12)に接続します。連続回転サーボ に必要な制御信号は、周期 20ms、パルス幅 1.50.5ms です。RPi.GPIO の PWM の設定GPIO.PWM(channel,…
WiringPiposted by ohwada on June 06, 2016WiringPi とは、ラズパイのGPIOのためのC言語のライブラリです。Python のラッパーが用意されています。ラズパイのGPIO制御は、RPi.GPIO が定番ですが。ハードウェアPWM がありません。WiringPi は、ハードウェアPWMがあります。サーボに対してより精度の高い制御ができます。…
もっとも簡単なサンプル (hello)posted by ohwada on June 06, 2016サンプルコード hello(1) hello_simple.py下記の行だけprint "Hello World!"(2) hello.pyシバンとコメントをつける(3) hello拡張子はなくともよい
カレンダーposted by ohwada on June 06, 2016サンプルコード calendar(1) Linux コマンドカレンダを表示する$ cal(2) cal1.pyPython によるプログラミング入門 に記載のサンプル(3) cal2.pyPython ライブラリ calendar を使って、簡潔に書いたもの
LEDの明暗 (PWM)posted by ohwada on June 07, 2016P11(GPIO17)とP6(GND)の間に、LEDと330Ωの抵抗を直列に入れます。RPi.GPIO の PWMサンプルコード LEDRPI LED Fade
連続回転サーボposted by ohwada on June 07, 2016一般的な サーボモータ は、180度くらいの可変範囲を持っています。連続回転サーボ (Continuous Rotation Servo) は、360度以上の可変範囲を持ち、連続して回転することができます。モータの代わりに使用することができます。連続回転サーボ SpringRC…