Arduino いじり

水曜に Arduino UNO R3 を買ってきました。買ってから気づいたんですけどこれ SMD edition の方、つまりマイコンチップが DIP パッケージではなく TQFP パッケージなんですな。まあ付けたり外したりする予定はないんで別にいいんですが。

それはともかく、LED チカチカを作ってみたり、

Arduino で LEDチカチカ

シリアル出力をシフトレジスタで受けて7セグLEDを点灯させつつ圧電スピーカーを鳴らしてみたりしてました。

Arduino で 7セグカウントアップ

鳴らす方のスケッチ(プログラム)を書き込んだだけでフラッシュメモリを 32KB のうち 8% も使っていてこの先思いやられます。8% のうち半分は tone 関数(音を鳴らすための関数)のようなのですが。

ちなみにこんなスケッチ。

void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
}

int segs[10] = {
  0x3f, 0x06, 0x5b, 0x4f,
  0x66, 0x6d, 0x7d, 0x27,
  0x7f, 0x6f, 
};

void loop() {
  int seg;

  seg = segs[(millis() % 7000) / 700];
  if (millis() % 1000 < 300) {
    seg |= 0x80;
    if (millis() % 5000 < 4000)
      tone(4, 440);
    else
      tone(4, 880);
  } else {
    noTone(4);
  }

  shiftOut(2, 3, MSBFIRST, ~seg);
  delay(25);
}

次は入力かな…

Trackback

no comment untill now

Add your comment now