最終回 チャレンジ課題

基礎編パート1の最後にいくつかのチャレンジ課題に挑戦してみましょう。

目次

たくさんプログラミングしよう

基礎編パート1では、Arduino Microでキッチンタイマーを作りながらC/C++言語の基本的な内容を習得してきました。

プログラミングの習得は、文法を一通り覚えるだけではなかなかプログラムを作れるようになりません。実際に自分でやりたいことを考えて、それを実現するプログラムを作成していくと習得が早くなります。

自分で作りたいものを考え、それを実現するプログラミングをするととても効果的ですので、今回製作したキッチンタイマーで、自分で考えた機能を実現するスケッチをたくさん作ってみてください。

基礎編パート1の最終回として、いくつかチャレンジ課題を考えてみました。これだけでなく、ぜひ自分で機能を考えてそれを実現するスケッチを作ってみてください。

動作開始時にLEDとスピーカーのテストをする

キッチンタイマーはブレッドボード上に組み立てています。

ブレッドボードは部品を穴に差し込んでいるだけですので、何かにぶつけた時に部品が外れてしまうことがあります。部品の接続が悪いと、スピーカーがならなかったり、LEDが光らなかったりします。

そこで、動作開始時に全てのLEDとスピーカーが正常に動作するか、確認できるような動作を追加してみてください。

タイマー時間を変える

キッチンタイマーにはスイッチが一つありますので、このスイッチを使用してタイマー時間を選べるようにしてみてください。

具体的な動作仕様としては、以下を参考にして自分で製品仕様を決めてみてください。

  • スイッチを押さずにただ電源を入れると、3分タイマーになる。
    そのとき青色LEDを点灯してスタンバイする
  • スイッチを押したまま電源を入れると、10分タイマーになる
    そのとき赤色LEDを点灯してスタンバイする

タイマー時間の選択は、電源を入れる時(スケッチが動作する時)のスイッチ状態を確認しますので、setup関数の中でスイッチのピンをdigitalReadすればよさそうです。

また、スイッチ状態を調べた結果は、loop関数で知る必要がありますので、なんらかの情報をグローバル変数に代入しておく必要がありそうです。

アラームメロディーを選べるようにする

先ほどと似たような内容ですが、スイッチを活用してアラームメロディーを選べるようにしてみてください。

動作仕様としては、スイッチを押さずに電源を入れるとデフォルトのメロディー、スイッチを押したまま電源を入れると違うメロディーでアラームメロディーを鳴らすようにします。

実現の仕方はたくさんありますが、以下を参考にしてみてください。

メロディーの選択は、電源を入れる時(スケッチが動作する時)のスイッチ状態を確認しますので、setup関数の中でスイッチのピンをdigitalReadすればよさそうです。

またスイッチ状態を調べた結果は、loop関数で知る必要がありますので、グローバル変数に代入しておく必要がありそうです。

メロディーの選択は、もう一組、別の2次元配列を用意して、スイッチ状態に応じてアラームを鳴らすようにすれば実現できそうです。

LEDの点滅パターンを途中で変える

キッチンタイマーのスケッチは、スタートスイッチを押すとLEDが1秒間に1回点滅を開始します。

このLEDの点滅パターンを次のように変えてみてください。

スイッチを押してタイマーをスタートすると最初は青色LEDを2秒に1回点滅させます。そして残り時間が少なくなってきたら1秒に1回点滅するように点滅パターンが変わるようにスケッチを変更してみてください。

「残り時間が少なくなったら」というのは例えばタイマー設定時間の1分前になったら、というように自分で決めてスケッチを作成してください。

最後に

長いシリーズの記事でしたが、これで基礎編パート1は終わりです。本当にお疲れさまでした!

振り返るとずいぶん長い道のりでしたよね。

ここまで読まれた方は、とても勉強熱心な方だと思います。今後も電子工作、プログラミングに限らず、世の中まだまだ興味深いことがたくさんあります。ぜひ、いろいろなことに興味を持って、さまざまな道具を身につけていってください。きっと人生がもっと楽しくなると思いますよ!

基礎編はパート2も用意しています。パート2では、今まで習得したC/C++言語の文法を使って、いろいろな動作を実現するスケッチを作成していきます。ぜひパート1に懲りずに、パート2もお読みいただければと思います。

更新履歴

日付 内容
2020.2.1 新規投稿
2021.8.27 新サイトデザイン対応
2022.2.1 一部記述内容変更。チャレンジ課題の内容には変更なし
2022.2.18 チャレンジ課題の内容一部変更
通知の設定
通知タイミング
guest
0 コメント
本文中にフィードバック
全てのコメントを見る
目次