About this Blog

This Blog has English posts and Japanese posts. About Mac, iOS, Objective-C, and so on.

2013年5月5日日曜日

[arduino]ミニ四駆のラップタイム計測

enthusiastick coding: [Arduino]光が遮られた回数をカウントの回路を流用して、コードの書き換えだけでミニ四駆用のラップタイム計測タイマーに改造してみます。

回路図

タクトスイッチを使わないので、左半分だけでいいのですが。

/* ミニ四駆用ラップタイマー */
const int CDS = 0;
const int LED = 13;
int cds_value = 0;
int old_cds_value = 0;
int lap_count = 0;
unsigned long lap_time = 0;
unsigned long start_time = 0;

void setup(){
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  /* CdSの入力値の低下を検出 */  
  cds_value = analogRead(CDS);
  if(cds_value < old_cds_value*0.8){//元の光の強さの0.8倍未満なら光が弱くなったと判断
    Serial.print('LAP: ');
    Serial.println(lap_count);//LAP: 0は無視してください. :P
    Serial.println(micros() - start_time);//マイクロ秒を検出. micors()は70分でオーバーフローする.
    start_time = micros();
    lap_count++;
  }
  old_cds_value = cds_value;
  delay(10);
}

0 件のコメント:

コメントを投稿