スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 | page top↑
GAINER 3日目(ちょっと進化)
GAINER3 昨日、秋月電子通商に注文した7セグメントLED(青色)が、もう届いたので、モチベーションアップして、少し高度なものに取り組んでみました。
前のセットに付いてきたボリュームに線を付けて、GAINERのアナログ入力に可変電圧(多分、0~5V)を供給し、その値を0~9の整数に換算して、その値を7セグメントLEDに表示するというもの。
 配線はLEDのデータシートを参考にして、抵抗値も概算で計算したら前のセットに入っていたもの(330Ω)でも良さそうだったので、そのまま。(今回は足を切ってブレッドボードにピッタリ収まるようにした。
 で、何とか動くようになったRubyのプログラムは以下のとおり。
------
require 'funnel'
include Funnel

i = 0
# 0,1,2,3,4,5,6,7,8,9
A=[1,0,1,1,0,1,1,1,1,1]
B=[1,1,1,1,1,0,0,1,1,1]
C=[1,1,0,1,1,1,1,1,1,1]
D=[1,0,1,1,0,1,1,0,1,1]
E=[1,0,1,0,0,0,1,0,1,0]
F=[1,0,0,0,1,1,1,1,1,1]
G=[0,0,1,1,1,1,1,0,1,1]

gio = Gainer.new

100.times do
ain0 = gio.ain(0).value # get analog input value
i = Integer(ain0 * 9)
gio.aout(0).value = A[i]
gio.aout(1).value = B[i]
gio.aout(2).value = C[i]
gio.aout(3).value = D[i]
gio.dout(0).value = E[i]
gio.dout(1).value = F[i]
gio.dout(2).value = G[i]

gio.dout(3).value = 0
sleep(0.5)
gio.dout(3).value = 1
end
--------
A~Gは、7セグメントの素子に対応している。
aout(0) ~ (3)はアナログ出力だが、1でデジタル出力と同じ電圧が出るらしい。GAINERでは幾つか動作モードがあるものの、アナログ入力を生かしてデジタル出力を5ピン以上にするモードが無いので、アナログ出力で試してみたら行けました。
尤も、RubyでGAINERの動作モードを変える方法がまだ解らないのだけどね。(笑)
スポンサーサイト

テーマ:いいもの見つけた! - ジャンル:日記

【2009/10/24 21:53】 | Gainer関係 | トラックバック(0) | コメント(0) | page top↑
<<すっきりしたかな | ホーム | GAINER 2日目>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://ynomura.blog47.fc2.com/tb.php/636-f21f4d39
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。