第17回 チャレンジ課題1

今まで習得した知識を使って課題にチャレンジしてみます。

目次

チャレンジ課題

このシリーズの最初のチャレンジ課題は、追加で緑色のLEDを接続して、そのLEDを前回のスケッチと同様に点滅制御する、という内容です。

ハードウェアとスケッチを具体的にどのようにするか説明します。

ハードウェア

緑色のLEDはArduinoボードの8番端子に接続してください。8番端子は、以下のようにArduinoボードを見たとき、右上から5番目の端子になります。

すでに接続してある青色LEDと、今回接続する緑色LEDはこのあとの記事で使用しますので、接続したままにしてください。また、今回のチャレンジ課題では、追加した緑色LEDのみ制御します。

スケッチ

スケッチは前回完成させたスケッチをコピーして使用してください。

以下は「challenge-1」というスケッチ名でコピーして、最初のコメントを変更したものです。スケッチの動作内容は変更していません。(12番端子に接続した青色LEDを点滅制御するという内容です)

このスケッチは12番端子の青色LEDを制御する内容になっていますので、緑色LEDを制御する内容に変更すればOKです。

解答例

正解は一つではありませんが、解答の一例を説明します。

ハードウェア

緑色LEDを8番端子に接続しますので、最初に次のようにLEDを加工します。

加工後、LEDの接続向きに注意してArduino Microの8番端子に接続します。

スケッチ

スケッチは前回のものをコピーして用意しましたので、LEDの端子番号の部分を「12」から「8」に変更すればOKですよね。

でも、LEDの接続端子を変更しやすくするために、次のように緑色LEDの接続端子番号を#defineで「GREEN_LED」と定義しておきました。

このようにすると、もし緑色LEDの接続端子を例えば6番に変更した場合、#defineの 8 を 6 に変更するだけでOKなります。

/*
  動作内容: チャレンジ課題1
  作成日:   2024.11.24
  変更履歴:
*/

#define LED_JIKAN    375             // LEDの点滅時間(短い方の時間)
#define LED_JIKAN_x2 (LED_JIKAN * 2) // LEDの点滅時間(長い方の時間)

#define GREEN_LED 8 // 緑色LEDの接続端子

void setup() {
  pinMode(GREEN_LED, OUTPUT);
}

void loop() {
  digitalWrite(GREEN_LED, HIGH);
  delay(LED_JIKAN);
  digitalWrite(GREEN_LED, LOW);
  delay(LED_JIKAN);
  digitalWrite(GREEN_LED, HIGH);
  delay(LED_JIKAN);
  digitalWrite(GREEN_LED, LOW);
  delay(LED_JIKAN);
  digitalWrite(GREEN_LED, HIGH);
  delay(LED_JIKAN_x2);
  digitalWrite(GREEN_LED, LOW);
  delay(LED_JIKAN_x2);
}

更新履歴

日付内容
2019.8.5新規投稿
2021.8.22新サイトデザイン対応
2024.11.24解答例追加
通知の設定
通知タイミング
guest
0 コメント
新しい準
古い順 一番投票が多い
本文中にフィードバック
全てのコメントを見る
jh3gpn
jh3gpn
5 年 前

再度同じような質問ですが、この記事のようなリストをプリントアウトする方法を知りたいです。
普通に印刷すると色分けがなくなります。ハードコピーだと全文印刷できないし。

管理者
管理者
返信  jh3gpn
5 年 前

Arduino IDEは、ウインドウにスケッチを表示するときに色をつけているので、印刷するとモノクロになります。

色分けした印刷をしたいのであれば、そのような機能に対応したエディタにスケッチをコピペして印刷する方法しかないと思います。SAKURAエディタなどではカラーの印刷にも対応しているようです。なお、Arduino IDEと同じような色分けをするのはなかなか難しいと思います。

jh3gpn
jh3gpn
5 年 前

よくわかりました。ありがとうございます。

目次