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