スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

pyMCUで遊んで見る その2

 こんにちは。
今日はこのまえ紹介したpyMCUについてです。

前回はLEDがチカチカするだけでしたが、今回は7セグメントLEDを使用します。
参考にする例題はこちらです
http://www.pymcu.com/SevenSegmentLED.html

準備する部品一覧です。
高輝度ブルー7セグメントLED表示器(カソードコモン)C-551UB
カーボン抵抗(炭素皮膜抵抗) 1/4W220Ω 7本

例題で使用している7セグメントLEDはアノードコモンで、私が用意したのはカソードコモンとなっています。
単に在庫があったので使用しているのでどちらでも構いません。
ただし、当たり前ですがアノードコモンとカソードコモンで回路とプログラムが異なるので注意して下さい。
アノードコモンの回路とプログラムは例題を見てもらうとして、この記事ではカソードコモン用の回路とプログラムを記述します。

使用する7セグメントLEDと回路は以下のようになります。
pyMCU:7LED回路
抵抗値は好みに合わせて決めて下さい。
実際にブレッドボードに実装したのが以下の図です。
pyMCU:7LED回路実装

それでは次に環境設定です。
前回import sysのsys.pathにpymcuなどのフォルダを追加しましたが、その方法では一時的にしか追加されないとうい事がその後わかりました。
Windows上において自分のフォルダを追加するには、環境変数に記述する必要があります。
以下の変数を新規で作成します。

追記2012/07/19:Linux上においてもsys.pathには一時的にしか追加できず、PYTHONPATHに記述する必要があるようです。


変数名:PYTHONPATH
変数値:C:\Python26\Lib\site-packages\pymcu-1.0.8;C:\Python26\Lib\site-packages\pyserial-2.6


PYTHONPATHという変数名は決まった変数名で、この変数をPythonが自動的に参照してくれるようです。
この環境変数はsiteにもsysにも関係ないので、sys.pathにもこの変数の値は反映されないようです。
これで永続的に自分が用意したフォルダを参照出来るようになりました。

最後にプログラムを入力し、7セグメ ントLEDを点灯させます。


>>> import pymcu
>>> mb = pymcu.mcuModule()


ここまでは前回同様です。
pymcuモジュールをインポートし、pyMCUのボードを初期化します。



>>> led = [[1,2,3,4,5,6],[2,3],[1,2,7,5,4],[1,2,7,3,4],[6,7,2,3],[1,6,7,3,4],[1,6,5,4,3,7],[1,2,3],[1,2,3,4,5,6,7],[1,2,3,4,6,7]]


次にledというリストに上記のリストを入れ子にします。
これは順に0-1-2-3-4-5-6-7-8-9を表現するためにどのLEDを光らせるかというものです。
先ほど示した図のように、A-Gまである7セグメントLEDのどの位置を光らせれば目的の数字が得られるか考えれば、数字の意味がわかると思います。


>>> mb.pinLow([1,2,3,4,5,6,7])


1-7までのIOをLowにします(Highで点灯)。


>>> x = 0
>>> while 1:
        mb.pinLow([1,2,3,4,5,6,7])
        mb.pinHigh(led[x])
        mb.pausems(500)
        x += 1
        if x > 9:
                x = 0


xという変数を用意し、whileの中でカウンターの役割をさせます。
whileで無限ループを作り、プログラムを止めるまでカウントを繰り返させます。
mb.pinLow([1,2,3,4,5,6,7])は点灯しているLEDを消灯し初期化します。
mb.pinHigh(led[x])で順々に0-9までの数字を表示します。
mb.pausems(500)500 [ms]ウェイトします。
x += 1で次の数字に移ります。
if x > 9:変数xが9より大きければx = 0でカウントーを初期化します。

最後にプログラムから抜けるときはCtrl+Cで抜けることができます。
実際に実行すると以下のように数字がカウントされます(写真なので2だけですが)。
pyMCU:7LED点灯
以上のように簡単に7セグメントLEDが制御できました。
今回はここまでとなります。
関連記事
スポンサーサイト

テーマ : ホビーロボット
ジャンル : コンピュータ

コメントの投稿

非公開コメント

月別アーカイブ
カテゴリ
FC2カウンター
最新コメント
リンク
最新トラックバック
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。