What's New » この記事

ここ最近の電子工作 (ディップメーターを作ってみた)

更新がすっかり滞っていましたが、今年最初の投稿は電子工作から。

 

ラジオ製作の本などを読んでいると、ディップ・メータなるものを使って同調周波数を調べましょうとか書いてあったりしますが、ディップ・メータなんて売ってないし中古品はオークションで一万円近くして中々手が出ません。無いものをどうやって調達しているのか知りたくなったのでネットで調べてみると、自作するという方法もあるらしい(?)のが分かりましたので、とりあえず製作方法が書いてある本を購入して、いけそうだったら作ってみようかということにしました。これが無くてもAMラジオ作りに支障はないのですが、まぁなんとなくね。

 

折角ですので、材料等調達コストが幾らぐらいかかったのかも書いていきたいと思います。

 

本はこの本ですね。

 

「作りながら理解するラジオと電子回路」2,000円(税別)

 

Amazonから購入したような気がします。2010年に初版が出ているのでそんなに古い本ではありません。この本のP.51からP.55の内容で作りました。

 

参照した本は、周波数を測定できるテスターに計測値を出力する仕様になっていましたが、ネットで周波数カウンターを埋め込んでいたかっちょいい方がいましたので、そちらを真似っ子して作ってみました(但し、!MHzからしか計測できない。NHK第一が表示できない)。

 

秋月電子やaitendなどで部品購入しました。
エクセルのキャプチャ画像から、この時点で5,000円です。周波数が表示できるテスターが2,700円なのが大きいです。

 

dipmater_cost

 

この他、交通費とAmazonで購入するしか無い、中華製の周波数カウンター1,500円(SODIAL(R) 高精度1-500MHz周波数カウンタ テスター 測定メーター)その他諸々を加算すると、10,000円に達する勢いです。しかも上手くいくかわかんないものをこれから作ろうとしているので、手早く計測だけしたいならやっぱりオークションでメーカー品の中古を手に入れたほうがいいのかもしれませんねぇ(・∀・)

 

また材料ですが、本で指定のパーツそのものは無かったり高かったりして、互換品で代用したりしているので本当に本の通りに完成するのか作る前から結構ドキドキです。

 

以下は、製作中に撮ったキャプチャー。

 

20190130c

 

発振器自体作ったことが無いので、コルピッツ回路の練習からしました。

 

左下の隅に写っているのが、周波数も計測できるテスター(最初うっかりoffにするの忘れていきなりボタン電池を4つ全部消耗させてしまった。で、10個30円とかいう破格の電池買ったら、Amazonレビュー通り放電してるのが3~4個に1個あったり)。右上のは、ラジケーターを抽出するつもりで、100円ショップで買ったグリーンオーナメントの電池チェッカー。ばらすつもりがボタン電池の容量チェックもできたりして意外と重宝)

 

20190130d

 

ブレッドボード上で試しに組んで…カオスですね。見た目は悪いですが、最終的にインダクタとコンデンサを組み合わせた同調回路を近づけてみると、ちょこっと、ほーんのちょこっとピコピコ反応する回路が出来上がりました。本の指定どおりにラジケーターにある程度安定した電流が流れる真ん中あたりで計測すると実に微妙な振れ方をします。電流量を減らしてギリギリ出力周波数の表示が維持出来る程度のヘリあたりに針を置いて、同調回路を近づけるとぱたーんと左側に針が倒れます。但し、同調回路を離しても針が戻らないというなんとも言えないものに。ラジケーターは指定の500μAではなく、250μAとかもっと微量の電流変化を捕まえられるやつの方がいいのではとか思ったり、互換品のトランジスタじゃまずかったのか、思うところがある出来上がりになりました。

 

20190130b

 

ランド法というやり方で組んでいるところ。

 

20190130a

 

完成したもの。AMラジオの周波数帯を調べたかったので、470μHのインダクタと親子バリコンの組み合わせで。ケースはセリアで売っているはがき用のケースで(108円)。加工もしやすいし透明なので、各パーツの配置もざっくり配置して裏から見て問題ないなら穴を開ける位置を油性マジックペンで線引きしてPカッターでカリカリ切り出せます(軽い・安い・加工時間が短くて済む。但し、ハンダごてを近づけすぎると溶ける!)。

 

完成したものに同調コイルを近づけてみますが、なんかブレッドボードの時と大差ない結果に(´;ω;`)

 

こりゃあ、1万近くかけて失敗なのかぁとかなりがっかりしましたが、まだ実際のラジオで調べてません。

 

で、せっかくなのでこのレビューでも以前紹介した「電子工作は失敗から学べ」にあるワンチップAMラジオをベースに、スピーカーから音が出るように手直ししたものを追加で作りました。これも、ケースはダイソーで3個100円で売ってるタッパーに収めました。なんか100円ショップ結構利用してますね。

 

20190130e

 

こんな感じで作ってみました。タッパーラジオは作ってて楽しいです。

 

20190130f

 

完成したタッパーラジオ。

 

このラジオに、微妙な出来のディップメーターを近づけて、出力を上げていくとスピーカーから聞こえている放送がかき消されていきます。続けて周波数のダイヤルを放送局の周波数に合わせて(周波数カウンターで確認できる)みると、おーなんかYoutubeでディップメーターのテストを公開している人のように、ぴゅいーんとか明らかに(不快な)異質の音がスピーカーから聞こえてきます。この状態で、ラジオを他局にすると音がかき消されるだけでしたので識別は出来るようです。発振器としてちゃんと機能しているみたいです。ラジケーターは相変わらず反応しているのか反応してないのかさっぱりアテにできないままですが、同調すればAMラジオに関してはスピーカーからの音で識別できるようです。

 

三行要約
・自作すると一万円近く掛かった。
・出来上がったディップメーターの性能は、本の様に完璧には動いてくれなかった(特に、メーター)
・ラジオに近づけると、ラジオスピーカーからの音で同調している様子が確認できた。

UnityとAndroidを連携させBluetoothでArudinoと通信してみた(5)

やっとArduinoパートまで進めました。

 

ここは、参考サイトには無い項目なので自力で作ってみました。(´・∀・` )

 

スクリプトを書き出してみました。こんな風になります。

 

// スマホとブルートゥース(シリアル)通信で、やり取りするプログラム
// スマホのUnityアプリに配置してあるスライダーからのRGB値を受信してRGB_REDの色を変更する


// Bluetooth通信ライブラリ
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11);  // RX:10,TX:11 それぞれブレッドボードのBT機器の逆にRXはTXへ、TXはRXへ

// char配列->int変換用
#include <stdlib.h>


// バッファ
char buffer[4]={0};  // 初期化 4byte(3+\n)

// RGB値
int R = 0, G = 0, B = 0;

void setup() {
  
  // [1] アルディーノ側初期設定
  Serial.begin(9600);

  // [2] HC-06 側初期設定
  BT.begin(9600);

  Serial.println("setup passed");

  
}

void loop() {

  int byteRead = 0;
  int rgb_value;


  // Bluetooth 受信処理
  if (BT.available()) {

       byteRead = BT.available(); // バッファに溜まっている文字数を取得

       /*
       Serial.println("Reading To Buffer...");
       Serial.println(byteRead);
       Serial.println();
       */
       delay(100);  // 上のシリアルモニターへの処理(負荷)がなくなると、RGB_LEDがうまく点灯しなくなるので、代わりに遅延をかけている。
       
      for(int i=0; i<3; i++){
        buffer[i]= (BT.read());
        buffer[i+1] = '\0';
      }
      //Serial.println(buffer);
  }

  rgb_value = atoi(buffer);   // int型に変換

  if(0<=rgb_value && rgb_value<256){
    // R値
    analogWrite(5,rgb_value);
  }else if(256<=rgb_value && rgb_value<512){
    // G値
    analogWrite(6,rgb_value - 256); // ゲタは外しておく
  }else if(512<=rgb_value && rgb_value<768){
    // B値
    analogWrite(7,rgb_value - 512); // ゲタは外しておく
  }else{
    // error
    //Serial.println("無効値を受信");
  }

  
}

 

Arduinoのリファレンスにあるソフトウェアシリアルのread()関数の戻り値は、char型で受けているので、このスクリプトも文字の終端1byteを加えた4byteのバッファを用意して受け取っています(終端文字を挿入しては上書きするといったおかしなこともしてますが)。バッファに値が入ったら、もう一度int型に変換し直します。RGB値にゲタを履かせてずらして飛ばせば戻すのも切り分けも平易に出来るのでこう言う風にしました。

 

これで準備が整ったので、後は、Arduinoにこのスクリプトを流し込んで、スマホに書き込んだアプリを起動すれば、すでにペアリング済みのBluetooth機器を選択するダイアログが出てくるので、HC-06(実験ではHC-06を使用)を選択すれば、コネクションを確立します。コネクションを確立後、Unityのロゴが出てスライダー画面が出てくるので、スライドするとArduino側に接続されたRGB_LEDが指定のRGB値で点灯するようになります。

 

余談
Arduinoの電源にモバイルバッテリーが使えたらいいなぁとかねてから思ってて、ダイソーで買った300円バッテリーをつなげてみたらやっぱり使えませんでした。5Vの出力あるのになんでかな~とかしばらく考えてましたが、よくよく考えたらArduinoの入力電源はUNOもNANOも7V~12Vだということをすっかり失念してました。そりゃムリだよね。ところで、このダイソーの300円バッテリーせめて他の用途で使えないかなぁと思って、色々調べてみたら(参考サイト http://d.hatena.ne.jp/wakwak_koba/20170603)のような記事をみつけました。なるほど、以前ラジオの電源にしようと使ったらリセットがかかって何度も再起動した原因はこれか~と、納得しました。本当にこのモバイルバッテリーは、充電以外なんの用途にも使えないんですねぇ。残念。

これ1冊でできる! ラズベリー・パイ 超入門 改訂第4版

 

これ1冊でできる! ラズベリー・パイ 超入門 改訂第4版
福田 和宏 (著)

 

まだ実際にラズベリーパイを使っていないので、どんな感じなのかなと思い買ってみました。

 

読みやすい本です。実機を買ってきてやってみたいと思いました。できれば、「Zero W」あたりを都合出来ればコストもかけないで実験できてハッピーなのですが、スイッチサイエンス社のサイトを見ても「Zero」「Zero W」ともに売り切れ状態なのでしばらく待つことになりそうですね。秋葉原のマルツ無線に「Zero W」あるよーというので見にいったんですが、4000円じゃねぇ(;´Д`) それだったらPi3型を買った方がいいんじゃんと思い、結局買いませんでした。でも、秋になったら、Pi3型をやっぱり買おうかなぁと現在迷い中…。

 

★★★★☆ 4点