GAINER を買った。初台の ICC だと GAINER の完成品と Software Design 2007年3月号の GAINER 記事で使っているパーツ一式 (ブレッドボードや LED など) とをまとめて買えるので、かなり敷居が低い。売り場はレジの所です。
PICkit 1 を放置したまま GAINER とか、ちょっとダメな大人っぽいんだけど、PIC (or AVR) を使って回路を組むのと GAINER を使うのとでは位置づけがちがうので、両方持っているのも無駄というわけではない。
PIC の場合プログラムは PIC 上で走るので、C なり機械語なりで省資源に作って、PIC に 書き込んでという手順を踏まなきゃいけない。一方、GAINER はコンピュータと電子回路とを USB でつなぐ glue でしかないので、プログラムそのものは普段使っているコンピュータ上で走る。好きな言語で富豪的に書けるし、書き込みも無いというかできない。
個人的には Ruby で書きたいので gainer.rb というのを書いてみた。
たとえばデジタル出力につないだ R, G, B の LED を順に点灯させるのが、こんな風に書けます。
require 'gainer'
g = Gainer::Serial.new(ARGV.shift)
g.reboot
g.configuration = 1
n = 0b001
loop do
g.digital_out(n)
if n & 0b100 == 0
n <<= 1
else
n = 0b001
end
sleep(0.5)
end
まだ GAINER の機能全体のうちごくわずかしか使えないし、入力は非同期でとるほうが良い気がする。これからやります。
August 18th, 2007 at 02:39 PM
自由研究ぽくてよいですね