投稿者「barubora」のアーカイブ

可変抵抗にリード線をはんだ付けする

ラズパイでギターエフェクターを作るにあたって可変抵抗が必要となったのですが、可変抵抗は自分でリード線をはんだ付けしなければいけません。

やってみれば大したことはないのですが、ネット上には作業工程を写した画像が少なく、最初は不安に駆られながらの作業となりました。

そこで今回は可変抵抗にリード線をはんだ付けする方法を画像てんこもりで懇切丁寧にご紹介します。

初歩の初歩すぎる情報かもしれませんが、自分が悩んだということはきっと他にも同じ悩みを持つ人がいると思うので、その方々のお役に立てればと思います。
(電子工作系のブログって大抵が中級者向けで、右も左もわからない初心者には難しい書き方が多いですよね…)

準備するもの

※リンクは今回使用した商品です。同一のものでなくてもかまいません。

IMG_20160731_142645

※リード線、熱収縮チューブは適当な長さにカットしています。

リード線のビニールを剥がす

リード線のビニールをはがすところから始めます。使用するのははさみでもカッターでもなんでもいいですが、ニッパーやビニール剥き専用アイテムを使うと楽らしいです。そんなしゃれたものは家になかったので今回はカッターを用いました。

まずは中の金属線を切ってしまわぬように程よい力加減でビニールに切り込みを入れます。

IMG_20160731_143145

切込みが入ったら先端をつかみ、

IMG_20160731_143205

するっと抜きます。

IMG_20160731_143228

反対側の端っこのビニールも同様にして剥がします。

以上のようにして先端をはがしたリード線を3本用意します。

IMG_20160731_151512

可変抵抗とリード線をはんだで固定する

可変抵抗は左の端子に電源、右の端子にGNDをつなぎます。この状態でつまみを回すことで真ん中の端子の抵抗値が変化します。

IMG_20160731_143440

それでは先ほど用意したリード線を可変抵抗に取り付けます。

IMG_20160731_143417

リード線の金属部を可変抵抗の端子に巻き付けてください。金属の部分が触れ合っていれば問題ないようなので巻きつけ方は雑でも構いません。

余談ですがど素人の自分はリード線を上側の丸い穴につなげるのか下側の四角い穴につなげるのかがわからず小一時間ほど悩みました。

端子にリード線を巻き付けたらはんだごてを用意し、端子の穴を埋めるようなイメージではんだを流し込みます。

※もしも可変抵抗の動作確認をできる環境があるのであれば、はんだで固定する前にリード線を巻き付けた状態でテストしたほうがいいかもしれません。せっかくはんだ付けしたのに壊れてた、うまく動かなったとなったら悲しいので。

IMG_20160731_154413
IMG_20160731_154418

 

 

 

 

 

 

 

 

 

リード線の反対側はブレッドボードに刺して使うのですが、金属線は6本1セットとなっているため刺しづらく千切れやすいです。この問題を解決するためはんだでコーティングしました。

これを

IMG_20160731_155531

こう。

IMG_20160731_155604

作業中は手がふさがっていたため写真は撮れませんでしたが、こての先端をはんだを少し乗せた状態にし、なでるようにしてリード線の上を這わせればうまくいきます。

以上の手順を他2つの端子で行います。

 

熱収縮チューブを取り付ける

この工程は必須ではありませんが、端子同士の誤接を防ぐためやっておいたほうが良いようです。

熱圧縮チューブを短く切り、可変抵抗の端子を覆うようにはめます。

その後ドライヤーなどで熱を当て、収縮して固定されたら出来上がりです。
IMG_20160731_161650 (1)

 

(はんだ付けが汚すぎてチューブが役目を果たし切れていません。)

おしまい

今回は可変抵抗にリード線をつける方法についてご紹介しました。この作業を通じて、電流が流れさえすれば接続が多少雑でも動作することがわかり、電子工作に対する心理的ハードルが少し下がった気がします。この調子で作業を進め、とっととラズパイエフェクタを完成まで持っていきたいです。

【Pure Data】Raspberry Pi でギターエフェクターを作る その1

この動画に触発されてラズパイでギターのエフェクターを作ってみました。(動画ほど本格的じゃないです)

PureDataというリアルタイムでの音声信号処理が得意なツールをラズパイ上で動かして実装しています。

機器は以下のようにつながっています。
ギター---シールド---ステレオ標準⇔ステレオミニ(3.5mm)変換プラグ---サウンドカード---Raspberry Pi---サウンドカード---スピーカー

参考サイト

https://guitarextended.wordpress.com/

ラズパイエフェクターだけでなくArduinoでフットスイッチまで自作してしまった人のサイト。
PureDataの様々なtipsからラズパイのセットアップまで幅広く丁寧に解説しているので英語が得意な人はこちらを参考にした方がいいかも。

https://github.com/doitnowlabs/rpieffectbox

さっき紹介した動画のプロジェクト。
詳しい人は中身をクローンして自分用に書き換えちゃいましょう。

Raspberry Piの準備

私はRaspberry Pi2 modelBを使用しましたが、参考サイトではRaspberry Pi Type Aを使用していたので旧型でも問題なさそうです。

OSはRaspbianです。セットアップ方法はググればいくらでも転がってるのでそちらを参照してください。

OSのバージョンが古いと必要なツールのインストールが出来なくなるので以下のコマンドで最新の状態に保っておくことをお忘れなく。

サウンドカードの準備

ラズパイには音声入力用の端子が無いためUSBサウンドカードを用意しましょう。

今回は以下の商品を購入しましたが、E-MU 0404 USBなどのもっと本格的なオーディオI/Fも利用できるようです。

ただし相性があるらしいので動作確認済みのサウンドカードを購入するのが無難です。(手持ちのTASCAM US 144-mk2は動作しませんでした。)

サウンドカードが用意できたらラズパイに差し、入力端子にギターのシールドやマイクを、出力端子にヘッドホンやスピーカーを接続します。

ギターのシールドは一般的に6.3mmの標準プラグであり今回用意したサウンドカードの端子とはサイズが合わないため、3.5mmミニプラグへ変換するをかませました。

 

 

 

Pure Dataのインストールとオーディオ設定

まずはターミナルで以下のコマンドを打ってPureDataとライブラリをインストールしましょう。

インストールが終了するとGUIメニューの『サウンドとビデオ』のところにPureDataが追加されるのでクリックして起動します。

Media > Audio Settingsを開き、【Input device】と【Output device】を『USB Audio Device(hardware)』に変更します。

setting

これで音声の入出力をサウンドカードで行えるようになりました。

きちんと動作しているかを確認するために Media > Test Audio and Midi を開きます。

TEST TONESの60または80にチェックを入れるとサウンドカードに接続されているスピーカーから440Hzのサイン波が再生されます。

また、入力デバイスから正常に音を拾えていればAudio Inputの値が小刻みに変化します。

両者とも問題なければPure Dataでのサウンドカードの設定は完了です。

test

Pure Dataのパッチを作る

Pure Dataの基本的な使い方についてはこちらのサイトが参考になります。かの有名なこじ研です。

こじ研(小嶋研究室) Pure Data 入門
http://www.myu.ac.jp/~xkozima/lab/avmed-pd1.html

PureDataのメニューバーからFile > Newを選ぶと真っ白なキャンバスが現れます。

Ctrl+1をして長方形のオブジェクトを作成し、その中に「adc~」と入力します。
もう一度オブジェクトを作り今度は「dac~」と入力。

「adc~」オブジェクト左下の小さな四角をクリックし、そのまま押し下げて「dac~」オブジェクト左上の小さな四角につなぎ合わせます。

2016-06-25-130305_1776x952_scrot

「adc~」はサウンドカードからの信号入力、「dac~」はサウンドカードへの音声出力を意味しており、このパッチでは入力された音声をそのまま出力しています。

Pure Dataを用いたエフェクタは基本的には「adc~」と「dac~」の間に様々な処理を挟むことで実現しています。

以下のサイトではファズ、ディレイ、ワウワウのパッチを公開しているので眺めてみたり、ダウンロードして実際に使ってみるとPureDataとはどんなものかがなんとなく理解できると思います。

パッチはメニューバーの File > Openをクリックすると開けます。

Pure Data Lesson
http://puredatalesson.blogspot.jp/2014/05/5.html

他のエフェクトもググればパッチが見つかるので必要に応じてダウンロードしましょう。

自分だけのオリジナルエフェクタ作りに挑戦するのも面白いですね。

おわりに

ラズパイを使ってギターの音に対してエフェクトを掛ける方法についてご紹介しました。しかし、これだけでは毎度毎度GUIからPureDataを起動しパッチを開く作業が必要なため、実用性に乏しい上に面倒です。

そこで、次の記事ではボタンを押すだけでエフェクトを切り替えてディスプレイ無しでも操作できるように改良したいと思います。

Windows7→10にアップデートしたらPCの電源がつかなくなった

Windows10への無償アップデート期間終了が約二か月後に迫ってきたのでデスクトップPCのOSをWindows7から10に更新することにしました。

OSのダウンロードが始まるとPCを放置して就寝。次の日PCをのぞいてみると、なんと電源が落ちていました。

慌てて電源ボタンを長押ししてみるとLEDが一瞬点きましたが電源は入らず、その後は反応なし。

Windows7と一緒にUnuntuも入れてたのが悪いのか、周辺機器を取り外さなかったのが悪いのか、思い当たる節がありすぎて原因を絞り込めません。

バックアップもブートディスクも用意してなかったので復旧はもちろん、起動すらままならないです。

最悪の場合初期化すれば大丈夫だろうと高をくくっていたのですがそれすらできない状況になってしまいました。

OSのアップデートは慎重に、注意事項をよく読んでから行うべき、という当たり前のことの重要性を痛感した一件でした。

画像分類アプリ 諦めました

今までAndroid上で動く画像分類アプリを作ろうと試行錯誤していましたが、就活が忙しくなってきたこと、完成の目処が立たないことからお蔵入りになりそうです。せっかく頑張ったのに陽の目を見ないのも悲しいのでせめて開発の過程で何を行い、何を学んだかをここに記したいと思います。

やろうとしていたこと

1.Android端末内の画像をサーバにアップロード

2.「Caffe」にて画像分類

※Caffe:機械学習で画像分類を行うツール。大量に用意した画像データをもとに機械学習を行うことで分類器を作成でき、この分類器に画像を投げると何が写っているのかを教えてくれる。

3.結果を端末で表示

たったこれだけ 超シンプル

辞める理由

1.精度が出ない

とりあえずこちらのデータセットを拝借し猫の品種を判別する分類器を作成してみたのですがどんな画像を投げても同じような値が出力されてまともに分類できませんでした。仕組みを理解せずブラックボックスのままツールを使用していたため改善策も思いつかず途方に暮れています。

2.学習にお金がかかる

分類器作成の際には膨大な量の処理を行うためハイスペックなマシンが必要です。AWSで無料で借りられるマシンではスペックが足りずスケールアップをする必要があるのですが、$0.23/時間の料金のマシンで12時間ほどかかります。また、学習終了時に外出していたり就寝していたりするとスケールダウンをするのが遅れるため余分に料金がかかってしまいます。大きな額ではないのですが貧乏学生には手痛い出費です。上手く行けば学習は一回だけで済むのですが、今回失敗した以上次成功するとも限らないためどの程度の費用がかかるか見通しもつきません。

3.意義を見出せない

先日公開された「Google Cloud Vision」のベータ版を使うと自分で分類器を用意しなくても簡単に画像分離ができてしまいます。Googleが提供しているAPIだけあって精度もべらぼうに高いです。こいつの存在を知った時モチベーションが崩れ落ちました。

やったこと

AWS

  • EC2でサーバを借りた(OSはUbuntu)
  • XAMPPのインストール
  • 固定IPアドレスの割り振り
  • Route53でドメインの取得

Android

  • ギャラリーを呼び出して端末内の画像選択
  • OK HTTPを用いた画像データのPOST
  • プログレスダイアログの表示
  • 画像分類ツール「Caffe」のインストール&学習 (これが一番辛かった)
  • PHPでコードの記述(echo、shell_exec、$_FILES)

おわりに

スーパープレゼンテーションというテレビ番組で機械学習による画像分類の存在を知ってすぐに「試してみたい!」と思いました。しかしネットを探しても素人が簡単に試す方法は見つからず、ツールのインストールから画像の用意、学習までを自分で行わなければいけませんでした。この面白い技術を誰でも手軽に使って遊べるようになればと思い今回のアプリ開発に着手したのですが、Cloud Visionがまさに私がやりたかったことを実現しており、わざわざ自作する必要もないのかなと思い開発を断念しました。完成させられなかったのは残念ですが勉強にはなったので良しとします。

Cloud Visionは従量課金制であること、サンプルを動かすにもある程度の知識を要することから誰もが使えるというわけではありませんが、今までよりもハードルはぐっと下がったように思います。時間ができたらCloud Visionを使ってブラウザ上で誰でも画像分類を試せるようにしたいなぁ(APIキーの秘匿とリクエストの制限がめんどくさそう)

【Skype】エラー:このコンピュータですでにサインインしています。サインアウトしてから、再度お試しください。

久しぶりにSkypeを起動したらログインができない状況に陥ったのでその対処法をメモしておきます。

症状

Skype起動後以下のメッセージが表示される。

「Skypeが開けませんでした。このコンピュータですでにサインインしています。サインアウトしてから、再度お試しください。」

無視してIDとパスワードを入力すると「サインインしています。」のメッセージが延々と表示されサインイン出来ない。

対処

エラーメッセージ中から察するに、前回のSkype終了時にきちんとサインアウトできていなかったためロックが掛かった状況になり、再度サインインができないのだと思います。

こちらの知恵袋によれば、\Users\ユーザ名\AppData\Roaming\Skype のフォルダを削除すればいいらしいです。(必要ならバックアップをとっておく)

ところが「live#3"アカウント名"」というフォルダだけは「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません」というメッセージが表示され削除できません。

タスクマネージャからSkypeを終了させても状況は変わらずで、バックグラウンドでSkypeのプロセスがまだ動いているようです。このプロセスを止める方法がわからなかったので、面倒ですがSkypeをアンインストールして再起動しました。再起動しないと残党プロセスを殲滅できないので注意。

すると先ほどのフォルダをが開放されるので削除し、Skypeを再度インストール。

ところがダウンロードページに置いてあるインストーラを使うと途中で処理が一向に進まなくなりました。そこでこちらのリンク先から「フルインストーラ」をクリックしてダウンロードします。文章中に約24MBとありますが実際には45MBありました。(2015.3)

無事インストールが終わりSkypeを起動。するとそこには待ち焦がれていたログイン画面が。エラーメッセージが無いって素晴らしい!