三角関数は太陽検知にも使える!sin,cosで作ろう「おひさまデテクタ」!

先日作った「おひさまデテクタ」、もっとカッコよく検知したいと思い、今回はプログラムを全面改良。

どうでしょう?速度もいいし、動きもカッコよくなりました。

無理やり向きを変えても、すぐにおひさまをデテクトしてくれます。

タイムラプスで太陽を追いかけてみました。いいところでカメラのバッテリー切れ。。。でも、なかなかいい感じ。

そしてもちろん「ひまわり」もできちゃいます。

var HC=1500, VC=1500;
var HA=2200, VA=2200;
var HI= 900, VI= 800;

var hc=HC, vc=VC;
var r=HA-HC;

while(1){
 led(1);

 while(32<r){
  r=r*3/5;
  var b=0, hcn=hc, vcn=vc;
  var d=0;
  while(d<360){
   var h=((sin8(d+90)*r)>>8)+hc;
   var v=((sin8(d   )*r)>>8)+vc;
   pwm(4,h);pwm(3,v);
   sleep(8);
   var a=ana(2);
   if(b<a){
    b=a; hcn=h; vcn=v;
   }
   d=d+6;
  }

  hc=hcn;
  if(hc<HI) hc=HI;
  if(HA<hc) hc=HA;
  vc=vcn;
  if(vc<VI) vc=VI;
  if(VA<vc) vc=VA;
 }

 pwm(4,hc);pwm(3,vc);
 sleep(33);
 led(0);

 var th=ana(2)*95/100;
 while(th<ana(2));

 r=r<<3;
}

今回改良したプログラムはこんな感じ。三角関数sin,cosはおひさま検知にも有用!

サーボとセンサーの練習に「ししまいロボット」、発売開始!










.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s