実験用試作ボードの制作(No.2)

前回、PCB(プリントサーキットボード)の発注を行い出来上がった試作ボードに部品を実装して動かしました。

この実験ボードはブレッドボードで実験した内容を同じアプリケーションソフトウェアが全てこの1枚のボードで試するように設計しました。
色々なソフトウェアをダウンロードすることで様々なことが出来るのですが、今回紹介するのは、SDカードに格納したMP3音楽ファイルを再生する「MP3プレーヤ」です。ブレッドボードの時も紹介しましたが、あの時とは別のMP3デコードライブラリを使用しています。これはFPUを使ってより高速にMP3の伸張処理を行ってくれます。LCDの表示にはLVGLライブラリを使用してタッチ操作で演奏する曲を選ぶようにしてあります。

部品実装

出来上がってきたPCBに部品を実装していきます。ほとんどの部品が表面実装(SMD)部品それもかなり小さい部品も多くはんだ付けはルーペの下での作業になります。製品では部品は全てマウンターというロボットがはんだペースト印刷したPCB上の端子の上に置いてリフローというやり方で全ての部品を一度にはんだ付けしていきます。しかし、試作ではそれも出来ないので全て手作業です。抵抗やコンデンサは1mmもありません。はんだごてではんだを端子に置きながら部品をピンセットで注意深く置いてはんだ付けしていきます。

出来上がった試作ボードが下記です。(使わない部品は載せていません)RaspBerryPi Pico2W(真ん中上の緑のボード)はソケットを使わず他の部品と同じようにPCBに直接はんだ付けしています。

251127145810616

MP3プレーヤ

下記の動画にあるようにスマホと同じようにタッチ操作でLCDに表示された曲を選択して再生することができます。LCDに表示されている曲はSDカードに格納されているMP3ファイルを全て読み込んで一覧表として表示しています。
曲の題名をタッチするとその曲が選ばれて背景に色が付きます。そしてPLAYボタンを押すと選んだ曲を演奏する仕組みです。
演奏中は曲名の代わりにその曲のアルバム名や歌手の名前がスクロールして表示されます。
LCDの上部には7セグメントLEDがあり演奏開始からの経過時間を表示するようにしました。(LCD上に表示しても良いのですが、7セグメントLEDも同時に動かしたいので)

RaspberryPi Pico2Wは、CPUモジュール内に2つのCPUコアを持っており、2つのプログラム完全に独立に動かすことができます。このアプリケーションでは、LCD表示及びタッチパネルの処理と音楽再生処理をそれぞれ2つのCPU分担させることで、音楽再生中もLCD表示やタッチパネルの処理を並行して動かせるようにしています。もちろん、OSを導入してマルチタスク(マルチスレッド)の処理を行えば1つのコアでも並行動作は可能ですが、2つともかなり重い処理のため、実用的には1コアでは厳しいかも知れません。

LVGLグラフィックライブラリ

LCD表示とタッチパネルにはLVGLライブラリを使用しています。手間のかかる細かな画面構成やスクロール、タッチパネルの処理を行う関数を提供してくれます。動画で分かるように組み込み機器で1から作るとかなり面倒な処理を比較的簡単に作ることができます。しかし、このライブラリは現在も頻繁にアップデートが行われており、バージョンが変わると従来の関数が使えなくなるなど使い方には注意が必要です。ここでは、最新版のLVGL Ver.9を使いました。まだ出たばかりなので、ネット上やChatGPTには古いVer.の情報も多数あって注意が必要です。
今、このライブラリをより簡単に使えるようにオブジェクト指向のラッパーを検討中です。

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

未分類

前の記事

実験用試作ボードの製作