まさはる's Weblog
|
| Macintoshとオーディオの話題 |
| トップページに戻る |
|
Arduino
2026年5月 8日Arduino互換機を作ってみました(その2)Category : Arduino / Posted at 2026年5月 8日 08:50前回、USBと外部電源の5Vを順方向電圧0.45Vのショットキーバリアダイオードで一つの電源ラインにしていたため、5V出力の電圧が落ちていたのですが、せめて外部電源入力時の出力ぐらいは5Vにしたいので、理想ダイオードを試してみました。 ![]() 理想ダイオード回路 試してみると、電圧が落ちることなく逆流もほとんど無いようです。これで十分なのですが、部品点数が5つと多く、ユニバーサル基板に組んで基板を立ててもかなり嵩張ります。何か良いのがないかと探してみると、「理想ダイオード機能搭載 ロードスイッチIC XC8111」を見つけたので購入してみました。 ![]() 左から0.1μF, XC8111, SOT457変換基板, 10μF このSOT457変換基板は裏面パターンがあるので、コンデンサはそれを利用して裏面に取り付けます。 ![]() ATmega328Pマイコンボード Ver. 1.1 上から見た写真ではXC8111がどこにあるのか分かりませんが、もともとダイオードが入っていた、緑色の電源LEDの左下の変換基板に付いています。 ![]() XC8111のアップ 負荷を繋げていない状態ですが、外部電源入力時で出力電圧は5.00V、USB入力時でXC8111の上流は0.00Vになっており、さすが専用ICといった感じです。これで、前回諦めていた外部電源からの電圧降下が無くなったので、Arduino互換機の話題はこれで終わりにしようと思います。 2026年5月 1日Arduino互換機を作ってみましたCategory : Arduino / Posted at 2026年5月 1日 09:03Arduinoを使い始めてから気になっていた、秋月電子通商で販売されている「Arduino Bootloader書込済(5V 16MHz仕様) ATmega328P」と周辺部品を購入してみました。 ![]() 16MHzの水晶発振子とATmega328P 上の写真の他にはUSBシリアル変換キットも購入しており、繋げればArduino互換機になるのではないかと思って作ってみました。 こだわったところは、外部電源入力と5Vと3.3Vの出力を付けたところで、こだわってないというか諦めたところは、USBと外部電源をダイオードで一つの電源ラインにしているところです。 ![]() ATmega328Pマイコンボード ブレッドボードに組む前は、2つの電源をC接点のリレーで切替えたり、MOSFETを使って切替えたりと色々考えていたのですが、ブレッドボード1枚に納まらないので諦めました。その他には、電源LED、ビルトインLED、リセットスイッチが付いています。 ![]() 斜めから見たところ 緑色の電源LEDのリード線に熱収縮チューブが付いていますが、あの中に4.7kΩの抵抗器が入っています。その左下のダイオードは、2つの電源を1つにしているショットキーバリアダイオード(SBD)で順方向電圧0.45Vのものを使っています。 2026年4月24日Arduinoを使ってみました(その3)Category : Arduino / Posted at 2026年4月24日 10:48前回、ICの制御等をI2Cですることが出来たので、早速、本命のICのデータシートをマジマジとみて見たところ、I2Cという言葉が全く出てこない...。よく見るとDATAとCLOCKの隣にLATCHっていう端子が出ているし...これ、もしかしてI2Cでないのでは...(-_-; ...色々と調べた結果、SPIだと分かりました。まぁ、どっちも出来る事に越したことはないし...という事で、今度はSPIを使う事になりました。 ![]() SSOP32変換基板とMUSES72320 このMUSES72320は電子ボリュームICで、表面実装用の0.65mmピッチ(SSOP32)です。これまではんだ付けした最小ピッチは0.95mmだったので、うまく出来るかなと思っていましたが、フラックスとDタイプのコテ先を使うとそんなに難しくなくはんだ付け出来ました。 1枚目の回路図はMUSES72320のアナログ回路とオペアンプの電源回路で、2枚目の、Arduino Nano EveryはUSBからの給電、MUSES72320のデジタル回路はNano Everyからの給電になっています。なお、全くコメントや計算式が書かれていないのは、MUSES72320のデータシートに載っている回路そのままだからですw。 プログラムは、ライブラリのSPIを使っていますが、その他は前回と同様に自力です。ちなみに、作ってから分かったのですが、GitHubにMUSES72320のArduino用のライブラリがあるので、そちらを使う方が手軽で確実だと思います。私のプログラムはチップアドレスが0000で固定だったりと手抜き満載ですが、ソースはこちらです。 ![]() MUSES72320 電子ボリューム 最初は、MUSES72320は0dBから-111.5dBまでボリューム値を変更できるからと、アナログで読んだ0〜1023の値を全体に割り振っていたのですが、動作させてみるとボリュームを12時の位置以上に上げないと出力が現れません。何でかなと思って販売されているボリュームキットを調べてみると-60dB止まりにしている物がいくつかあったので、この電子ボリュームも最低は-60dB、その下はMuteにしています。 ![]() 0dB時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点) ![]() -6dB時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点) ![]() -30dB時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点) ![]() Mute時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点) 上から3枚目の-30dB時のボリューム位置は12時の状態で、オシロスコープだとほんの少し盛り上がっているのが分かります。後は、実際に音を聞いてみて調整する必要がありそうです。 ちなみに、この回路は実際のボリュームで分圧された電圧をアナログで読み取って、電子ボリュームの値に単純に変換している関係で、境目あたりで値がふらつきます。プログラムでは、ふらついて頻繁にボリューム値を変更しないよう細工をしています。 ![]() 0.65mmピッチのはんだ付け状況 綺麗にはできませんでしたが、ちゃんと動作するので良しとしておきます。 2026年4月17日Arduinoを使ってみました(その2)Category : Arduino / Posted at 2026年4月17日 15:09つい最近Arduino Uno R3を購入したばかりなのに、また購入してしまいました。 ![]() Arduino Nano Every ICの制御等をI2Cでやる分には、Uno R3で十分なのですが、ブレッドボードに直接挿した方がまとまりが良さそうだったので...。なお、購入に当たっては、初めから付いているピンヘッダーは太いのではないかと思ったので、ピンヘッダーがはんだ付けされていない方を購入して、細ピンヘッダーで使っています。 なんと素っ気ない、秋月電子通商で売られているモジュールを線で繋げただけの回路図です。I2Cで通信する温湿度センサーとLCDは、どちらも3.3Vなので通信経路に双方向ロジックレベル変換器を入れてあります。 プログラムは、ライブラリのWireを使っていますが、使いたいICにライブラリがあるとは限らないので、温湿度センサーとLCDはライブラリを使わずに処理しています。プログラムのソースはこちら。 ![]() 温湿度計 プログラムで結構苦労しましたが、なんとか出来ました。最初、温湿度センサーは値を取得できたのですが、LCDがうんともすんとも...秋月電子通商の説明書によるとLCDのアドレスは0x7Cとなっているのですが、どうやら0x3Eのようで、変更したら表示されるようになりました。 初めてI2Cを使ってみましたが、2本の信号線を並列に繋げば複数のモジュールが機能するので、かなり便利なインターフェースです。これで本命のICの制御ができるかも...。 2026年4月10日Arduinoを使ってみましたCategory : Arduino / Posted at 2026年4月10日 14:59 ずいぶんと前にシングルボードコンピュータのRaspberry Piが発売されてから、名前も内容も似ている色々なボードが発売されているのは知っていましたが、小さくなったパソコンなので特に興味はありませんでした。 ![]() Arduino Uno R3 で、なんでR4が出ているのに値段の高いR3にしたのかというと、あらかじめ購入したO'Reilly Japanの「Arduinoをはじめよう 第4版」を読み進めると、どうやらI/Oピンの電圧と電流がモデルによって違うっぽい...。 ![]() 入力電圧でLEDの明るさをコントロール アナログ入力ピンは10bitのADCが利用できるので、入力した0〜5Vを0〜1023の値で取得して、デジタル出力ピンから5Vで0〜255(8bit)段階のPWM出力をLEDに入力してみました。 ![]() PWM出力(回路図のA点) ボリュームを回すとデューティ比が変わります。周波数は490Hzでそれほど高くないようです。 とりあえず、I2Cで通信するモジュールを持っていないので、何か適当な物でも入手してから色々試してみたいと思っています。 |
| トップページに戻る |
|
|