なんかいろいろこんぴゅーたかんけいのなぐりがき

なんか勉強しているこんぴゅーた関係のことのメモやそれ以外のことを書こうかなあ...

logs

スポンサーサイト

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

ドットマトリックスLEDを試した

P1080589.jpg

昨日秋月で100円で買ったドットマトリックスLEDをArduinoに配線してみた。ピンが合計16本いって、一見ArduinoDuemilanoveではピンが足りないような気がするが実はアナログ入力のところを17、18番ピン・・・といったように扱える。

今回の実験は
http://kousaku-kousaku.blogspot.com/2008/07/arduinoled.html

を見てやったんでソースコードは上のページ参照のこと。

実験していくとどうやら、ドットをそれぞれ光らせるには1か0の値が入った8×8の配列が必要みたい。
なので文字とか絵とかを表示したかったらいちいち1とか0とかを64回入力して配列を作らなければならない。

で、面倒なんでPythonで配列作成補助ツールを作った。将来のことを考えて8×8以外、たとえば16×16のマトリクスでも作成できるようにした。
チェックボックスをチェックしていきOUTPUTボタンを押せば標準出力に配列がでるんでそれをコピペして利用するかんじ。

写真掲載予定

で、ツールのコード(要:Tkinterモジュール。確かWindows版Pythonの場合、デフォルトで入ってるはず)

from Tkinter import *

def output():
global dots
print '{'
for x in range(low):
for y in range(low):
if dots[x][y].get():
num = 1
else:
num = 0
if y == low-1:
print num,'},'
elif y == 0:
print '{',num,',',
else :
print num,',',

print '};'


root = Tk()
root.title("DotsMatrixMaker2Array")
low = 16 # if you change this number you can make low*low dots
frame = range(low)
dots = range(low)
for x in range(low):
frame[x] = Frame(root)
dots[x] = range(low)

for x in range(low):
for y in range(low):
dots[x][y] = BooleanVar()

for x in range(low):
for y in range(low):
Checkbutton(frame[x],variable=dots[x][y]).pack(side = LEFT)
frame[x].pack()

button = Button(text="output",command=output).pack()
root.mainloop()


今回作ったツールはすでにどっかに存在する気がするがネットで調べても見つからなかったんで作ってしまった、結構作るのに時間かかったなあ・・・
スポンサーサイト

トラックバックURL

http://ilovevim.blog42.fc2.com/tb.php/42-1409ea36

この記事へのトラックバック

この記事へのコメント

コメント投稿フォーム

Paging Navigation

Navigations, etc.

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