非常にゆっくりした三角波を作るプログラム

2018/01/15 4:31 に 森山誠二郎 が投稿
rubyで書いてるので、apt-get install rubyしてもらう必要がありますが、ruby slow_rect.rbで実行します。

start=Time.now.to_f
period = 16.0
vh = 1.0
vl = 0.0
vps = ((vh-vl)/period)*2.0
last = 0
while (time=Time.now.to_f - start) < period
  next if time - last < 0.2
  if time < period/2
    vout = time*vps
  else
    vout = 2*vh - time*vps
  end
  puts "#{time}, #{vout}"
  system "generate 1 #{vout} 0"
  last = time
end

generateというのが、redpitayaに電圧を設定するプログラムなのですが、/opt/redpitaya/binにありますので、PATHに加えるか、直接/opt/redpitaya/bin/generateを呼び出すようにプログラムを変更してください。参考: http://redpitaya.readthedocs.io/en/latest/developerGuide/125-14/fastIO.html

slow_rect.rbはそのままだと16秒かけて0−>1−>0を出力します。適当にvh, periodをいじることができます。あまり頻繁にgenerate実行するのも不都合かも知れないので、0.2秒おき程度にしてますが、この値ももっと小さくすれば出力は滑らかになります。
Comments