シャコ・エビ日記

シャコパンチ、エビパッチン研究者の記録

タッチ板づくり

今日は試作機をつくって持って行った。今のままだと水につけただけで水圧で反応してしまう。感度よすぎる。見た目も良くないと言われたのでもうちっと見た目も考えてつくる必要がありそう。Windowsでもできるようにしないとなぁ。

覚え書き

  • スポンジを使ってみる

ストップウォッチプログラム

Threadという呪文を使った。あとOSXのsayコマンドでタイムを読み上げる。

#! /usr/local/bin/perl
use Time::HiRes qw( gettimeofday tv_interval );
use Thread 'async';

$| = 1;

print "ready: r \n";
print "start: s \n";
print "stop: any key\n";

while ( 1 ) {
  $youi = getkey();
  if ( $youi eq "r" ) {
    system( "say 'take your mark'");
    last;
  }
}

while ( 1 ) {
  $start_key = getkey();
  if ( $start_key eq "s" ){
    print "\a";
    $ts = [gettimeofday];
    last;
  }
}

$th1 = async {
  my $t;
  $t = 0;
  while ( 1 ) {
    sleep 1;
    $t = int( tv_interval $ts, [gettimeofday]);
    print  $t, " ";
  }
};


$th2 = async {
  while ( 1 ) { 
    my $t0;
    $t0 = [gettimeofday];
    $stop_key = getkey();
    if ( $stop_key =~ /[a-z]/ ) {
      $t_stop = [gettimeofday];
      $lap = tv_interval $t0, $t_stop;
      if ( $lap > 1 ) {
	print "\n--------------------------------\n";
	print "\a";
	print "lap time: ";
	printf "%.2f", $lap;
	$total = tv_interval $ts, $t_stop;
	print "\n";
	print "total time: ";
	printf "%.2f", $total;
	print "\n--------------------------------\n";
	$total = sprintf "%.2f", $total;
	system ("say \'$total\'" );
      }
    } else {
      next;
    }
  }
};

$th1->join();
$th2->join();


sub getkey {
  my $result;
  system("stty -icanon");
  $result = getc();
  system("stty icanon");
  return $result;
}

sub show_time {
  my ($t, $now);
  $t = [gettimeofday];
  $now = tv_interval $ts, $t;
  print " $now sec\n";
}