教科書のコードをいろいろとカスタマイズ

投稿日:

 晩御飯を食べて、引き続きArduinoで遊ぶ。

 教科書の本文には「割り込み処理」が載ってなかったのだが、巻末のリファレンスには割り込みの関数がちゃんとある。

 押ボタンスイッチでトグルする処理は、やはりポーリングではなく、割り込みによらねば面白くない。

 それで、押しボタンを押すたび、LEDの点灯の流れが変わるようなものをこしらえて遊ぶ。

//
//  LED3つを順々に点灯,割り込みがかかると反対向きになる。
//
//    佐藤俊夫
//    27.4.29  1930
//
const boolean FOW = true;
const boolean REV = false;
boolean STATUS = REV;
int LED[] = {13, 12, 11};
int i = 0;
int previ = 2;

void setup() {
  //  LED3つ初期化
  for(int i = 0; i <= 2; i++){
    pinMode(LED[i], OUTPUT);
  }
  //  0番割り込み(2番ピン)で反転
  attachInterrupt(0, switchdirection, RISING);
}

void loop() {
  //  順々点灯
  previ = i;
  if(STATUS == FOW){
    i++;
    if(i > 2){
      i = 0;
    }
  }else{
    i--;
    if(i < 0){
      i = 2;
    }
  }
  digitalWrite(LED[i], HIGH);
  digitalWrite(LED[previ], LOW);
  delay(1000);
}

//  LED点灯方向を反転させる 
void switchdirection(){
  if(STATUS == FOW){
    STATUS = REV;
  }else{
    STATUS = FOW;
  }
}



それでまあ、Lチカで遊ぶ。

投稿日:

 買ってきたガイドブック、オライリーの「Arduinoをはじめよう」に載ってるLチカは1種類だけだが、それでは面白くないのである。LEDの光らせ方しかわからなくっても、並べればこうやってもうちょっと楽しくなるのだ。

……と、いうわけで、さっそく教科書通りにいかず脱線する私。

 そういえば、と思い出す。小学生の頃、理科の実験などあると、私はすぐ何かとアレンジを施したがり、「先生の言ったとおりにしていない」「教科書に載っていないことをしている」として周りの子に言いつけられ、厳しく叱られたものだった。

 いや、そりゃ、化学の薬品なんか使う実験で先生の言ったとおりにしないのは問題があるだろう。だから当時の先生に文句はまったくないが、あの微妙な実験カスタマイズの経験は後年の私に大きく影響を及ぼした。

 8ビットマイコンとBASIC言語全盛の頃、プログラミング雑誌が多くあった。「I/O」や「BASICマガジン」などと言った雑誌にはプログラミングリストが載っており、これを掲載のとおり打ち込めばゲームなどが出来たのであるが、私はこのプログラムリストを機械的に打ち込むのが大嫌いだった。載っている通りには絶対に打ち込まなかったし、しばらくすると、土曜日に本屋で立ち読みでリストを読んで「あらすじ」を覚えて帰り、日曜日に自分のPCで再現する、ということをよくやった。

 単に楽しかったからそうしていただけだが、振り返ると、あれでプログラミング力は大いについたように思う。



かつてラフマニノフピアノ協奏曲の2番というと

投稿日:

 名演はこれにとどめを打っていたのだそうな。

https://www.youtube.com/watch?v=agqH6y-T0vc&feature=youtu.be&t=29m5s

前髪

投稿日:

 ビートたけしの近影が何かしら前髪パッツンで話題の三戸なつめに似て見えて笑ってしまうのは俺だけに違いない。