FPGA評価ボードに十字キーを付けてみた【後編】:注目デバイスで組み込み開発をアップグレード(19)(3/3 ページ)
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第19回では、前回作成したFPGA評価ボード「Tang Nano 9K」とつなげた十字キーとA/BボタンのUIによる「お絵描きソフト」を紹介する。
お絵描きソフトを試してみよう
まずはお絵描き心地を試してみましょう。十字キーでカーソルを動かしてその位置のドットをAボタンとBボタンを使ってオン、オフを決定します。十字キーの方はそのまま押し続けるとリピートします。十字キーの使い心地の決め手はキーのスキャンのタイミングなんですね。それを決めるのがリスト1の10行目にあるcounter[21]です。
10: always @(posedge counter[21] or negedge rst)
もしもう少しキーの反応速度を速くしたい場合はこの値を1つ減らして20とします。すると現在の反応速度の2倍の速度でキースキャンを行います。キーの反応は良くなるのですが、キーを放すのが遅れると1回押したつもりが2回かそれ以上押したと判断されて思い通りにコントロールしづらくなってきます。一方、counter[21]ではキーの反応が速すぎると感じれば、この値を1つ上げて22とします。するとキーのスキャンスピードは先ほどとは2分の1となります。キーの反応は悪くなりますが、キーを放すのが遅れ2度押されたと判断されることは少なくなります。いずれもここは十字キーの操作の熟達度や長年の癖によるものですから、みなさんにあった値を見つけて設定してください。
図2は試しに書いてみた絵です。ちょっと悲しいのが説明しないと分かりづらいところです。上下に2つの砲台が向かい合っており、互いに弾を撃ち合っているところですが、皆さんにはそう見えますか。ディスプレイの輝度を控えめにするか、液晶ディスプレイで御覧の方は斜めから見るとそれらしく見えるようになるかもしれません。
おわりに
いかがでしょうか。FPGAでもVerilogHDLで24行程度のコーディングでお絵かきソフトの最低限の機能は実現できるんですね。それはそれで驚きなのですが、今回お絵かきソフトを取り上げたのは、PCでTang Nano 9Kをプログラミング(コンフィギュレーション)した後に、FPGA内のレジスタの内容を編集する手段が欲しかったからです。前回も書きましたが、これらの機能を応用して連載「オリジナルCPUでバイナリコード入門」など他の記事でも役立てていきたいと思います。ご期待ください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
- ≫連載「オリジナルCPUでバイナリコード入門」バックナンバー
- FPGA評価ボードに十字キーを付けてみた【前編】
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第18回では、筆者の今岡氏が他連載でも活用しているFPGA評価ボード「Tang Nano 9K」に、ファミコンで広く知られるようになった十字キーとA/BボタンのUIを搭載する。 - LEDの光にはもう飽きた、放電プラズマが見たい
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第17回は、フライバックトランスを使って人工的に放電プラズマを起こす回路を紹介する。 - リレーで自作したスポット溶接装置で十字配線ユニバーサル基板をカットする
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第16回は、近年広く販売されるようになった十字配線ユニバーサル基板の配線をカットするために、リレーを使って自作したスポット溶接装置を紹介する。 - 金属探知機を自作して宝探しの勝ち組に
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第15回は、ひそかなブームとなっている宝探しの勝ち組を目指して、金属探知機を自作する。 - ソリッドステートリレーを使った1/fゆらぎ扇風機
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第14回は、ソリッドステートリレーとArduino、一般的な扇風機を組み合わせて1/fゆらぎ扇風機を作る。 - ツェナーダイオードを使って物理乱数を生成する
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第12回は、物理現象を基にした「物理乱数」を、ツェナーダイオードのノイズから生成してみる。