連載
» 2023年11月09日 07時00分 公開

FPGA評価ボードに十字キーを付けてみた【後編】注目デバイスで組み込み開発をアップグレード(19)(1/3 ページ)

注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第19回では、前回作成したFPGA評価ボード「Tang Nano 9K」とつなげた十字キーとA/BボタンのUIによる「お絵描きソフト」を紹介する。

[今岡通博MONOist]

はじめに

 前回の記事では十字キーを作成しブレッドボード経由でFPGA評価ボードである「Tang Nano 9K」に接続しました。そして接続ができているか否かをTang Nano 9Kの基板上のLEDで確認しました。

 さて、もし皆さんが十字キーを手にしたら何を作りたいですかね。おそらく第1位はシューティングゲームではないでしょうか。確かにそれは否めませんし抗しがたい魅力がありますよね。ですが、それはまたの機会にして、今回は「お絵描きソフト」をFPGAで作ってみたいと思います。

⇒連載「注目デバイスで組み込み開発をアップグレード」のバックナンバー

筆者の今岡氏がFPGAの勉強会を大阪で開催!

今回の記事や連載「オリジナルCPUでバイナリコード入門」で使用しているFPGA評価ボード「Tang Nano 9K」を題材にしたFPGA勉強会を、筆者の今岡氏が大阪で開催します。参加費用は無料です。勉強会の詳細は以下のイベントURLからご確認ください。

日時:2023年11月19日(日)16〜18時

場所VisLab OSAKA(グランフロント大阪 北館内)

イベントURLhttps://connpass.com/event/300675/

お絵描きソフトを作る

 まずは今回作りたいもののあらましを押さえておきましょう。図1は、前回作成した十字キーです。8×8の単色LEDドットマトリクスをマウントしたTang Nano 9Kと十字キーはブレッドボードで接続されています。

図1 図1 8×8の単色LEDドットマトリクスをマウントしたTang Nano 9Kと十字キーをブレッドボードで接続している[クリックで拡大]

 Tang Nano 9KのUSBポートを左側にした場合、ブレッドボードの左下にあるのが十字キーで、4つのタクトスイッチで構成されています。そしてブレッドボードの右下にあるキートップが赤色のタクトスイッチはBボタンで、その横の青色のタクトスイッチがAボタンです。

 このガジェットには何か名前を付けておきましょう。取りあえず「dpad2」とします。まあFPGAに限らずこの十字キーとLEDドットマトリクスの組み合わせは最強で正義ですし、今後筆者が執筆する記事ではこのdpad2を頻繁に活用することになるでしょう。

 今回はこのdpad2で動作するお絵描きソフトを作ってみます。“お絵描きソフト”と言ってしまいましたが、ソフトはもちろんソフトウェアのことで、コンピュータで動作するプログラムのことですよね。FPGAで動作させるならロジック回路を作るわけですから、本来なら「お絵描き回路」というべきでしょうが、何か伝わりにくいので“お絵描きソフト”のままで行きます。

 それでは、このお絵描きソフトでどんなことをやりたいかを説明します。十字キーを押さえるとその方向にカーソルが動きます。カーソルは点滅しています。Aボタンを押すとカーソルのある位置のLEDが点灯します。また点灯しているLEDの位置にカーソルを移動させてBボタンを押すとその位置のLEDは消えます。そしてLEDドットマトリクス上に描いたドットはリセットボタンを押すとクリアされ、カーソルの位置はマトリクスの左上に戻ります。

 というわけで8×8のLEDドットマトリックスの平面空間において、縦横無尽にLEDを点灯消灯させることができる回路をFPGAで実装してみましょう。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.