今回は「言い訳キーボード」の仕様について検討します。
仕様の検討
ここまで、いろいろと回り道をしてキーボード製作のための知識を習得してきました。今回は「言い訳キーボード」の仕様を検討して、実現までに他にどのような知識が必要か考えてみようと思います。
言い訳キーボードの仕様
学校や会社を休む理由を自動的に生成するように、言い訳キーボードの仕様は以下のようにします。
3個のスイッチに対応する文章を、あらかじめいくつか用意しておきます。
このようにあらかじめ用意しておいた文章を、スイッチを押したときに適当に選ぶようにプログラミングすれば、学校や会社を休む理由を生成してくれるわけです。
このような動作を実現するには
このような動作をするプログラムを作りたいわけですが、今まで習得した文法で実現できることはいくつかありますよね。
それは「Arduino Micro」をキーボードとしてPCに認識してもらう制御、文字データをPCに送る制御、スイッチが押されたことを検知する制御です。
でも「言い訳キーボード」はこれらの制御だけでは実現できないことや不便なことがあります。それでは、他にどのような知識があれば実現できそうか、考えてみます。
適当に選ぶ動作
それぞれのスイッチを押したとき、あらかじめ準備しておいた文章を「適当に」選ぶ必要があります。
この「適当に」という動作を実現するにはどうしたらよいでしょうか。コンピュータというと、間違いなく正確に計算することは得意ですが、適当に選ぶ、などという動作はできるのでしょうか。
実際にスマホのゲームアプリでガチャを引くことってありますよね。ガチャを引くとき、プログラムでは「適当に」アイテムを選んでいるので何か方法はあるはずです。
ところで、現実の世界で適当に何かを選ぶとき、どのようにしていますか? おそらく、サイコロを振ったり、あみだくじを使ったり、場合によってはジャンケンで選んだりしていると思います。
実はコンピュータの世界でも適当に数字を選ぶ方法が用意されています。ちょうどサイコロを振るような感じで、適当な数字を選んでくれる方法があるんです。
そこで、次回の記事では適当に数字を選ぶ方法について習得します。
文字列を扱う方法
言い訳キーボードでは文字列を多く扱います。
今までの説明で、文字列は「 ” 」(ダブルクォーテーション)で囲む、と説明してきました。例えば以下のようにスケッチに書くと、シリアルモニタに「文字列」と表示されます。
Serial.println("文字列");
言い訳キーボードでは、文字列をたくさん用意したり、適当に選んだ文字列をKeyboardライブラリでPCに送ったりする必要があります。この時、「 ” 」で囲んだ文字列ですと扱いが大変になりますので、文字列をスマートに扱う方法を習得したいと思います。
もしかしたらC言語の文字や文字列の扱いは難しい、という話を聞いたことがある方もいるかもしれません。でもArduinoでは文字列を簡単に扱える方法がありますので、その方法を習得します。一方で、本来のC言語の文字列の扱い方は基礎的な範囲を超えてしまいますので、基礎編パート2では省略させていただきます。
更新履歴
日付 | 内容 |
---|---|
2021.10.10 | 新規投稿 |