宣言の部分はでは、現在の LED の状態を格納しておく変数を宣言する必要があるように思います。
ボード設定の部分は、回路に変更が無いので、このままで問題なさそうです。
やはり改造は、プログラムのメイン部分に記述する必要があります。
まずは、宣言部分で、status という変数を宣言します。整数型(int)で、初期値は 0 (OFF) としておきます。
int status = 0; // LED の状態を示す (0 = OFF / 1 = ON)
これでよいでしょう。
次にプログラムのメイン部分ですね。
スイッチが押されたら(7番ピンが HIGH になったら)LED を点けて (12番ピンを HIGHにして)、次にスイッチが押されたら(7番ピンが HIGH になったら)、LED を消せば良い(12番ピンを LOW)のですよね。コードはこうなるでしょう。
// 7番ピンの状態が HIGH (ボタンが押されたら)になったら、状態 status を変更する if (val == HIGH) { status = 1 - status; } if (status == 1) { digitalWrite(LED,HIGH); // LED を点ける } else { digitalWrite(LED,LOW); // LED を消す
こんな感じでしょうか?
早速コンパイルして、Arduino UNO に転送してみましょう。
う~ん。動いていることは動いているのですが、スイッチを押しても、反応しない(LED が消えたり点いたり)しないときがあります。
動作が不安定なのです。
さ~てどうしたことか、少し考えてみます。
電子機器が大好きです。
プログラムを書くのをお仕事としていたこともあるので、両方できる PIC や Arduino を使って、いろいろな(役にあんまり立たない)ものを作っています。
実は UNIX 関連のお仕事も長かったので、Raspberry Pi もお手の物なのですけれど、これから触る機会が多くなるのかなぁ。
ボチボチ行きますが、お付き合いください。
若いころの写真なので、現時点では、まだ髪の毛は黒くてありますが、お髭は真っ白になりました。
愛車の国鉄特急カラーのカスタムしたリトルカブで、時々、秋月電子通商の八潮店に出没します。