こんにちは、あろっちです。
今まで電子工作をブレッドボードでやってきましたが、一度ユニバーサル基板で作ってみたいと思って挑戦してみました。
この後、プリント基板(PCB)にも挑戦し、記事を書きました。ぜひご覧ください。
まずは、ボリュームの電圧を読み取り、LEDの光量をPWMで調節するという以下の内容をユニバーサル基板で製作してみます。
こちらの内容では、ポテンショメーターに、半固定抵抗を用いていますが、今回は、B特性のボリュームを使います。
ソースコードも、こちらから入手しました。
使用するもの
Raspberry Pi Pico ・・・プログラムは、CircuitPythonです。ファームウェアは予めインストールしておきます。ソースはcode.pyというファイル名でPico本体に保存します。
CircuitPythonのファームウェアインストール手順は以下の記事をご参照ください。
基板用単連式ボリューム(B特性、10kΩ) ・・・ マルツで購入したものです。
赤色LED
抵抗器220Ω
ユニバーサル基板や配線部材、Raspberry Pi Pico取付用のメスピンソケット ・・・ 今回購入したものは、次で紹介します。
準備したもの
今回、ユニバーサル基板に初挑戦ということで、とりあえず購入したものを紹介します。
ユニバーサル基板
DIP-IC引き抜き工具
オルファ ホビーのこ 167B
基板加工用にハンドルーターを準備。電子工作仲間が大絶賛の道具です。
フラックス 無洗浄タイプ(ハロゲンフリー)
電池ボックス接続用のターミナルブロック
基板用ワンタッチスタンド
配線用部材 … スズメッキ線、リード線、収縮チューブ
これ以外のものは、電子工作を始めたときに購入したもので間に合わせている感じです。
作ったものはこちら
まずは、表。部品点数は少なくシンプルです。Raspberry Pi Picoは脱着できるようにピンソケットを使っています。こちらのピンソケットは、40ピンのものをホビーのこで半分(20ピンx2)にしました。
次に裏面。配線はこんな感じになりました。ピンソケットは未使用部分について、はんだ付け不要とは思いましたが、とりあえず全ピンはんだ付けしてみました。
実際に動かしてみたものはこちら
ボリュームを回すとLEDの光量が変化します。
電池で動かしてみよう
Raspberry Pi Picoは、USB以外に最小1.8V最大5.5Vの電圧のものを外部電源で使用できるようです。
PicoデータシートのP.19より
ということで、単三電池2本(1.5Vx2 = 3V)で動かしてみます。
電池ボックスのコード接続用にターミナルブロックを使います。
ターミナルブロックは、VSYS(39ピン)、GND(38ピン)に繋がるように配線します。
で、最後の仕上げとして、基板用ワンタッチスタンドを取り付けて完成としたい。と思った矢先、んー問題が発生。
今回購入した基板の固定穴が2mm、基板用ワンタッチスタンドの頭が3mmと1mm基板の方が小さく、このままだとスタンドが取り付けられません。
ということで、工作しました。
まず、ドリル刃をダイソーで調達。それが、こちら。
電子工作知人からの推薦品!んー、安くていいかも。
ミニルーターに3mmのドリル刃をセットして、これで基板の固定穴を3mmにしていきます。
ということで、試験的に未使用基板で穴広げに挑戦。ミニルーターの回転速度は、5段階で調整できますが、1から試していって3で貫ける感じでした。しっくりきましたね。
スタンドを取り付けた基板がこちら
なかなか、様になってます。このスタンド、インスタントで使うにはいいんじゃないでしょうか。
で、実際の完成基板もミニルーターで穴広げを実施し、無事完成したものがこちら。
しっかり電池で動くことが確認できました。赤色LEDの光量調整もばっちりです。
スタンドもついてごきげんな感じですね。電池ボックスのスイッチでOn/Offもできます。
この後、試しに穴広げしたユニバーサル基板も使いました(Arduino Nano LED Fade基板製作)
こちらは、Arduino Nano(互換機)でLチカの回路を再現しました。
スケッチは、Arduino IDEの[スケッチ例]→[01.Basics]→[Fade]です。
Arduino Nanoは外部入力電圧最小7V(推奨)なので、電源を9V形電池とし、スイッチなしの電池スナップに電源スイッチとしてトグルスイッチをつけてみました。
蛍Lチカは、なんだか癒されますね。
オシロスコープでPWM(デューティー比)を覗いてみるとこんな感じになっています。
ゆっくり確かめてみたい場合は、動画右下のメニューアイコンから再生速度を0.5倍速あるいは0.25倍速を選択して再生してみてください。
ちなみにこのオシロスコープですが、ハンドヘルドタイプで2CHというシロモノ。
(知人と相談しつつ、ハンドヘルドタイプで2CHの条件で選定した一品です。)
OWONというメーカーの製品で、ラインナップに40MHz、70MHz、100MHz(いずれもファンクションジェネレータ有り/無し)があります。
マイコンの調査で気軽に使えてかつコスト面でのバランスを鑑みて、70MHz(ファンクションジェネレーター無し)のHDS272にしました。
簡単なスペック紹介です。
- 帯域幅 70MHz
- チャンネル数:2
- サンプリングレート 最大250MSa/s
- メモリ長 最大8K
一般的に70MHzでは5分の1(70MHz/5)=14MHzくらいの波形が観測できる感じでしょうか。
Raspberry Pi Pico(CPUクロック 133MHz)のGPIO0を単純にON/OFFするという以下のArduinoスケッチを実行し、このオシロで計測すると14MHz程度ということが分かりました。
void setup() {
gpio_init(0);
gpio_set_dir(0, GPIO_OUT);
for (;;)
{
gpio_put_masked(0x0001, 0x0001);
gpio_put_masked(0x0001, 0x0000);
}
}
void loop() {
}
水平タイムベース20ns シングルで計測した場合、
オシロ本体の画面では、以下のように見えました。
1画面に3周期分の波形が確認でき、1周期(カーソルAB間)68ns、周波数換算で14.7MHz程度といったところでしょうか。
この波形データをPCソフトに取り込むと以下のように見えました。
オシロスコープについては以下のページを参考にさせていただきました。
https://tmi.yokogawa.com/jp/library/resources/measurement-tips/oscilloscope_basics/
先に製作した基板と並べてみると、
なかなか、いい眺めではないでしょうか。
ボタンの製作
ガチャのボタンを素材にSeeed XIAO RP2040を組み込んで、USB接続できるボタンを製作してみました。
元ネタですが、電子工作仲間である知人が直接レクチャーしてくれました。
また、製作資料なども作っていただきました。ありがとうございます。
ガチャポンボタンで手元スイッチを作る(参考サイト)
材料
組み込むマイコンは、Seeed XIAO RP2040です。
今回、ベースとなるボタンはこれです。300円ガチャにて入手。
元々このボタン、押すとメロディーが流れるというシロモノです。
分解するとこんな感じ
固定するためのクッションやテープをダイソーで調達しました。
他には、
- 両面テープ
- タクトスイッチ
- M4x1.5mmネジ
- M4ナットx2
- ユニバーサル基板
を用意。
今回もミニルーターを使います。
製作
基板をミニルーターでカットしました。
いやー、慣れない作業なので、まっすぐ綺麗に切れませんでした。
が、合わせてみるとサイズ的には問題ないのが確認できたので、これをそのまま使っていきます。
基板にタクトスイッチを取り付け。
このときは、取り付け位置をあまり考えずに基板中央にしましたが、のちのち、取り付け部品(黄色のパーツ)の中央付近にくるように配置するべきだったかなと気づきます。
基板の裏にXIAO RP2040をはめ込んでどんな感じなのか確認したところです。
思ったより綺麗にハマったというのが率直な感想です。なかなかしっくりきました。
表から見たところ。
XIAO RP2040のピンの位置を確認しました。
一旦、XIAO RP2040を取り外し、ダイソーで購入したビニルテープで基板を固定してみました。
ミニルータにドリル刃をセットし、ボタン部品(赤)のXIAO RP2040のUSBに位置する箇所の穴あけに挑戦。
見事に穴の位置合わせに少し失敗。左側が若干上にずれてしまいました。
これも素人の手作り感でていてよしですね。
この後、穴の形状は大きくなってしまいましたが、見栄えが多少よくなるよう調整しました。
ボタン底の部品にクッションを取り付け。クッションは両面テープで固定しています。
つぎはぎ状態で見た目はあまりよろしくないですが、仮組みしながら調整していった結果以下の状態に落ち着きました。
黄色部品に高さ固定用のボルトを取り付け、XIAO RP2040とタクトスイッチを表から配線しました。
XIAO RP2040は取り外しできるように、はんだ付けはしませんでした。
全ての部品を仮組みしながら調節していった結果、以下のように揃いました。
黒のボタンの部品にもクッションをつけています。これは、仮組みのときタクトスイッチの押し込み具合が足りなかったための補強です。
まずは、ボタン上部の黒の部品を取り付け。
次にXIAO RP2040基板付きの黄色の部品を取り付け。
ここまでで、こんな状態。あとは、底の部品を取り付ければ、完成です。
完成したものがこちら。
前面からの見た目は元の通りですかね。
後方から見るとUSBのコネクタが確認できます。
USBを接続し、PCからテスト用Arduinoスケッチ書き込んでみました。
おおー、無事RGB LEDが光りました。
ということで、思った通りのものができました。
スピーカー加工
元のガチャのスピーカーをブレッドボードで使えるように加工してみました。
ガチャの基板からスピーカーをはんだごてをあてて取り外し。
配線先にターミナルブロックをつければ完成!簡単ですね。
試してみます。
RP2040-0.42LCD使用
うまく再生されました。
JST PH 2.0コネクタの配線(極性)の入れ替えについて
市販のJST PH 2.0コネクタ付きリチウムイオンバッテリーはマイコン向けと極性が逆の仕様のようです。
JST PH 2.0コネクタの配線はマイナスドライバーなどを使って入れ替えることができます。
※配線を入れ替える場合、配線をショートさせないよう慎重に作業を行ってください。
このような精密ドライバーの一番細い1.4mmのマイナスドライバーを使って配線を取り外してみます。
JST PH 2.0の配線の先端は圧着端子ですので、これを外していきます。
ちなみに圧着端子の先端は「返し」になっていてJST PH 2.0のツメでホールドされるため、普通に引っ張っても抜けないようになっています。
ドライバーの先端を画像のようにツメに入れてめくると圧着端子を引き抜くことができます。
※強い力を加えると潰れたり破損する恐れがありますので慎重に行ってください。
こちらが配線を引き抜いたところです。
もう片側も同様に引き抜けば配線(極性)を入れ替えられます。
※くれぐれも圧着端子をショートさせないよう先に抜いた端子に絶縁テープを巻くなど対策しながら作業してください。
電圧変換モジュールの入力電源を脱着できるように工作してみました
0.9-5Vの電源を5V 600mAに変換する電圧変換モジュール。
今回は、このモジュールの入力電源を脱着できるようにユニバーサル基板と端子台を使って工作してみました。
使用するものはこちら
製作したものがこちらです。
表面
裏面
ユニバーサル基板を電圧変換モジュールの大きさに合わせてカット。
ユニバーサル基板に端子台を配置して、電圧変換モジュールと端子台をメッキ線で配線、はんだ付けして完成です。
ユニバーサル基板のカットには、ミニルーターを使用しました。
試してみました
Seeed XIAO RP2040でTFTディスプレイ 4.0インチ(ILI9486)のベンチマークを動かしてみます。
単三乾電池2本(3V)
JST PH 2.0コネクタ付きバッテリー(3.7V)
バッテリーの接続には、JST PH 2.0メスコネクタケーブルが必要になってきます。
Molex 1.25コネクタ付きバッテリー(3.7V)
Molex 1.25 メスコネクタケーブルを使って接続しています。
いずれの電源でもうまく動作しましたね。
電源の数値については画像内のUSBテスターの内容を確認してみてください。
まとめ
最初に製作したRaspberry Pi Picoのユニバーサル基板について、このような単純な回路でもLEDの光量変化がうまく動きませんでした。
ブレッドボード上の同じ回路でテストしてみると問題なく動くので、基板の配線が悪い事は何となく分かったのですが、テスターでボリュームの抵抗値の変化や電圧の変化を探ると電圧が変化しない事がわかりました。
回路は問題なくて、はんだがしっかりついていない箇所が1箇所(ボリュームの+側の端子)見つかり、しっかりはんだ付けして試したら写真のようにうまく動くようになりました。
という訳で、こんな簡単な回路を再現するのにも初めてだと、ハマる部分があるものだと実感しました。
なんだかんだで、楽しめましたね。
以下は、本記事執筆以前に試した電子工作の記事です。
Interface誌に連載のPico USBオーディオDACを製作し、記事にしてみました。
コメント