第45回 チャレンジ課題 4

プログラミングの基本が習得できましたので、最後にチャレンジ課題に挑戦してみます。

まとめ

前回までの記事で、プログラミングの基本的な部分は習得できました。

プログラミングで重要な部分は、動作を制御する命令で、

  • 変数
  • 条件判断文(if文、switch文など)
  • 繰り返し文(for文、while文など)

を十分に理解しておく必要があります。逆にこれらが理解できていれば、他のプログラミング言語も習得しやすくなります。

今回はC/C++言語を習得しましたが、JavaScriptやPythonでも変数、条件判断文、繰り返し文があります。書き方はC/C++言語とは違いますが、やっていることは同じです。

あとはこれらをどのように組み合わせて動作を実現するかは、いろいろなパターンを覚えていき、いずれは自分でやりたいことがプログラムで実現できるようになるでしょう。

それでは、このシリーズの最後として、チャレンジ課題がありますのでぜひ挑戦してみましょう。

 

チャレンジ課題4-1

今のキッチンタイマーのスケッチでは、スイッチを押すと動作を開始して、設定時間になったらメロディーを3回演奏して終わります。

問題は、メロディーを演奏したあと、キッチンタイマーの動作としてはそれで終わってしまい、再度キッチンタイマーを動作させる場合は電源を入れ直す必要があります。

そこで、現在のキッチンタイマーの動作を

「メロディー演奏後、スイッチを押したら200msぐらい「ピッ」と音を鳴らして、タイマーを最初の状態に戻る」

ように変更してください。

 

チャレンジ課題4-2

現在のキッチンタイマーのスケッチでは、設定時間は固定になっています。

そこで、例えば以下のように設定時間を選べるようにスケッチを変更してください。

  • 通常状態でArduinoが動作を開始すると、3分タイマーになる
  • スイッチを押しながらArduinoの電源を入れると1分タイマーになる

キッチンタイマーにはスイッチが1つ付いていますので、このスイッチを押した状態でArduinoを起動するか、押さない状態で起動するかで動作を変えられるのではないか、という発想です。

PCにArduinoボードを接続してArduino IDEでスケッチを送ると、送り終わったらすぐに動作を開始しますので、スケッチ送信ボタンを押したらすぐにスイッチを押しておく必要があります。モバイルバッテリで動作させる場合は、モバイルバッテリを接続するとすぐに動作を開始しますので、スイッチを押した状態でモバイルバッテリを接続する必要があります。

 

チャレンジ課題4-3

現在のメロディーデータは、構造体配列に準備しています。

メロディーデータは、音階が周波数データになっていますので、休符(音が出ない状態)が実現できていません。

そこで、メロディーデータに休符を指定できるようにスケッチを変更してみてください。

 

 

更新履歴

日付 内容
2019.12.22 新規投稿
2019.12.23 一部表現変更