フォントサイズをpx単位からバイト単位に。白黒データなので+7でバイト単位に慣らして8で割るだけでOK。データの読み込み関係。ユーザー入力を受け付ける。文字コードをすべてEUC-JPで統一すること。EUC-JPからJISコードを計算する。本来は0xA0を引くことで算出できるが。転送するパターンを作成する。1文字目のパターンを8bitシフトして転送後、2文字目をORでくっつける。i;while(1){DataSend(fd,(1<<(23-(i%8)))+(pat[i%8]));usleep(1);i++;}}これをコンパイルします。(今回は特別なライブラリ指定は必要ないです。)※文字コードはEUC-JPを指定すること。コンパイル時の文字コード・ローケル・端末の文字コード。すべてEUC-JPで統一。端末でログインする場合はコンパイル時と端末のコードでとりあえず使える。「賀正」を入力してみた。複雑な文字は読みにくいですね。終わりにドットマトリクスLEDの制御方法は以上です。今回は簡単に制御するために8×16にしてみましたが、実用的なものを作るのであれば16×32は最低ほしいところですね。(このLED1つ320円するんで結構な金額になりますが...。)縦8pxだと英数字・記号やかな・カナは問題ないのでそれに絞った用途であれば8×32くらいでいいかもしれません。(もしくは文字を流すか...。美咲フォントのアドレスが変更されていたため修正。12時25分たびたびすみません。07時03分コメントありがとうございます。Pi2にて作成しており、現状3は所持しておらず、確認は出来ませんが。Pi製造元の財団が互換性を謳っておりますし、最新のラズビアンでは動作しておりますし。3でコンパイルすれば概ね動作するものと思われます。一部変更が必要な可能性はあります。Piシリーズの中でもいくつかあるようで、実機での確認が必要と思われます。14時07分たびたびすみません。アドバイス頂き、勉強になっています。ところで、入力を聞いてこなくて無反応は、私の勘違いでした。この件は無視して下さい。ところで、gdbでどこでエラーになっているのか確認してみました。faultのエラーが出ているようです。58行目のpat[8]をpat[9]に変えたりしたのですが、同様なエラーが出ます。15時06分コメントありがとうございます。89行目でエラーが出るなら、おそらく文字コード変換に失敗しています。文字を入力する端末エミュレータというソフトの文字コードがEUC-JPに正しく設定されていない可能性があります。Piのローケルの設定が正しく設定されレテいることを確認してみてください。09時00分アドバイスありがとうございます。単純に半角英字を入力しているのが原因でした。ご迷惑お掛けしました。全角ひらがなにすることで、89行目のエラーは解消しました。転送エラー(Data)」とメッセージが出ています。何が原因かアドバイス頂けないかと思い、コメントします。21時35分コメントありがとうございます。SPI転送エラーが出てしまう場合は、多くの場合プログラム側の問題と言うよりはハードウェア側の問題です。以下の事項を確認してみてください。PiのSPIを使う機器が接続されていないか→接続されていればいったん外してみる。・SPI通信を占有するようなハードウェア・ソフトなどを使っていないか→液晶など。入れているなら最悪アンインストールが必要かも。・他のSPI通信を使用するデバイスを接続しているなら、それがそのプログラムで正常に動作しているかを確認。直上の項目である、SPIを占有するものに該当しないこと。・*SPIDeviceの末尾の0を1に変えてみる。→ピンヘッダの位置もCE.1のヘッダに変更すること。コマンドを実行してSPIデバイスのファイルを確認する。→この中で数字の一番若いものに*SPIDeviceの内容を変更する。行の一番最後の「/dev/」から始まるところをコピーする。Piへの配線が間違っていないかどうかを確認してください。私のサイトに公開しているものを作ったのであれば、回路さえあっていれば問題なく使用できるはずです。他のサイトで公開されているものや既製品を使用した場合は、そのものに合わせてプログラムの改修が必要な場合があります。上記の対策をすべて行っても、エラーが改善しない場合は。一度お近くの詳しい人に、作った回路が正しいかどうかを見てもらってください。以上を行って無事転送できた場合に表示される文字がおかしい場合は以下の事が考えられます。・真っ白のまま・点滅するのみで文字が出ない→配線の再確認を行います。→配線に問題がない場合は用意した画像ファイルが「モノクロビットマップ」であることを確認します。→モノクロビットマップで作成した画像は美咲ゴシックで70KBほどです。これ以上・以下の場合は別の形式になっています。・ある程度規則正しい模様が出る・文字がずれているような感じ→これも画像が間違っているか、変換に失敗しておかしくなっている。・「け」を打ったのに数字やカタカナ、前後の別の文字が表示される→作成した画像がおかしい場合があります。正常に変換できていれば、画像データのオリジナルは72,192バイトで、ヘッダーが62バイトなので合計72,254バイトあります。これより多かったり少なかったりした場合は67・71行目の「62」を実際のファイルサイズから72,192を引いた数字にします。ファイルサイズが72,338バイトだった場合は、72,338-72,192=146なので146バイトに変更します。いうことで以上確認してみてください。16時00分だいぶ間があきましたが、SPIのエラーは、ラズベリーパイのSPIの設定が無効になっていたので、有効に設定し直すことで解消できました。ありがとうございました。faultが出てしまいます。コメントでのやりとりだけでは、そろそろ限界にきているのかなと思いますが、もし、思い当たるものがあればと思い、コメント致します。P.S.今回のやりとりで、ラズベリーパイやLinuxについて勉強になりました。19時50分コメントありがとうございます。以上の事を試してもエラーが出るのであれば、再度作成された画像と入力している文字の文字コードを確認してみてください。このプログラムは画像のヘッダーサイズがおかしいと上記エラーが発生します。文字の入力をシェルからではなくEUC-JPでエンコードされたテキストファイルから入力するように変更するなど工夫をしてみてください。ここまで問題なければ、おそらく実物をみればどこがおかしいかすぐ分かるレベルのものかと思いますので、以上で治らなければ近くの詳しい人に聞いてみてください。それでは失礼いたします。17時02分アドバイスありがとうございます。Linux、ラズベリーパイ初心者で、トライアンドエラーですが、コマンドで、以下のようになりました。fault』と言うエラーが出ているのですが、どこが悪いのかお気付きの点がありましたらよろしくお願いします。21時23分コメントありがとうございます。日本語を使っているところでエラーが出ているので、コメント以外の部分で日本語を使っているところをすべて半角の英数字に変えてみてください。このあたりを参考にコンパイル設定を変えてみます。https://hake.hatenablog.com/entry/20120505/p1これはWindows用の説明になっていますが、test.cの後の-から最後までをdenko1.cの後に同じように入力してください。(スペースを忘れないように)おそらくどちらかの方法で実行できるようになると思います。これでダメなら、もう一度見直してみて、それでもダメなら多分ラズベリーパイ本体の問題なので本体の設定をもう一度見直してみましょう。誰かにセットアップして貰ったのなら、その人にもう一度見て貰ってください。15時50分アドバイス頂いた内容をやってみたところ、日本語のエラーは解消できました。ありがとうございます。faultと言うエラーだけがまだ解消できていない状況です。プログラムは、「全体のコードは以下の通りです。」と書かれているところの下の1から109行までのコードをコピーして実行してみたのですが、もしかして、他に追加するコードとかあるのかなと思い、質問しました。22時08分コメントありがとうございます。上のコードをコピー・ペーストしたという事でしたら、このコードはEUC-JPという文字コードで動かすように出来ていますので、以下の処置で動くようになると思います。・端末(プログラムを実行しようとしている画面)の文字コードをEUC-JPにする※端末の文字コードの変更方法はラズベリーパイをセットアップした人に聞いてください。「RaspberryPiの設定」から変更できると思いますが。変更して他で問題が発生する事がありますので、もし誰か別の人に設定して貰ったなら、その人にやって貰ってくださいね。・コードのファイルの文字コードをEUC-JPに変更する・1つ前の返信で説明した、gccの後の命令の中の「CP932」を「EUC-JP」に変更する(2つ)これで実行すれば動くはずですが、動かない場合は以下の事を試してください。1.使用している感じが入った画像ファイルは正しい形式なのか・説明にもある「美咲フォント」の画像版を使っています。・白黒ビットマップファイルを作ってください。2.画像ファイルの設置場所は正しいか・このプログラムをそのままコピーしたのなら「/code/misaki_gothic.bmp」というところにファイルを置いてある必要があります。「./code/misaki_gothic.bmp」と書き換えて、プログラムファイルと同じ場所に「code」フォルダを作って、その中にフォントファイルを入れてください。3.余計な改行やおかしな文字がないかどうかもう一度見てみる。・もしかしたらコピーする時に他の文字が入ってきて失敗しているかも知れません(インターネットのプログラムをコピーしたらよくあります)・コードをダブルクリックするか1行目の右上に「<>」のようなマークがあるのでここをクリックすればきれいにコピーできるようになります。身近の詳しい人に聞いてみてください。08時13分アドバイスありがとうございます。faultは解消できました。ありがとうございます。文字入力を聞いてくることもなく無反応で今止まっています。上記3のコピペする際、右上の<>をクリックして、コピペしてみたのですが、まだ無反応で、もう少し試行錯誤してみます。ありがとうございました。20時43分コメントありがとうございます。解決できて何よりです。何かありましたらお気軽にどうぞ!なお、入力を聞いてこなく無反応な件、もしかすると単純に日本語が出ていないだけの可能性がありますので、いったんそのまま打ち込んでみてください。他で入力してコピー・貼り付けを行うともしかすると表示されるかもしれません。記事を見て8×8のドットマトリックスの電工掲示版を製作してみていますが、プログラムは何という開発環境を使いましたか?Geanyというものを使っていますが、うまくいかなくて。20時56分コメントありがとうございます。こちらのプログラムはテキストエディタで作成してラズベリーパイ上のgccを用いてコンパイルしています。そのあたりの話は以下の記事にまとめてあるので参考にしていただければと思います。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。253ヴィッツ(NSP130)にナビ取り付けました。186DAC買いました。158スピーカー買いました。7年ぶりにメインのカメラを買い換えました。89キーボード買いました。テレビ台をDIYする。