LM386でアンプを作る
はじめに
昔買ったミニコンポのCDの調子が悪くなってしまってスピーカだけがある。
一方で、PCに繋げるスピーカがほしい。
性能は、そこそこで十分、
アンプがあればいいのだが、アンプ単体で買うと3-4千円くらいしてなかなか、
わざわざ買うかどうか迷うところ。
そこで、LM386を使ってアンプを作った。
設計
ここにある回路を参考に設計した。というよりもほぼ同じ。
- https://asi-a.hatenablog.jp/entry/2021/05/19/003142
- https://asi-a.hatenablog.jp/entry/2021/05/24/235022
KiCADで回路図を書いて、パーツを配置。
製作
ユニバーサル基板 ICB-288 (47x72mm) 上に製作する。
ケースはタカチの MB7-5-10
# 部品リスト
抵抗とコンデンサは適当な値段。
| 名前 | 型番 | 単価 | 数量 | 価格 |
|------------------|-----------------|------|------|------|
| アンプIC | LM386 | 45 | 2 | 90 |
| 電解コンデンサ | | 10 | 5 | 50 |
| 積層セラコン | | 10 | 8 | 80 |
| 抵抗 | | 5 | 10 | 50 |
| 小計 | | | | 260 |
| ケース | MB7-5-10 | 620 | 1 | 620 |
| ターミナル | TM052 | 144 | 4 | 576 |
| 2連ボリューム | R1610G-RB1-A104 | 174 | 1 | 174 |
| ミニジャック | MJ-073H | 92 | 1 | 92 |
| DCジャック | MJ-14 | 92 | 1 | 92 |
| ユニバーサル基板 | ICB-288 | 134 | 1 | 134 |
|------------------|-----------------|------|------|------|
| 合計 | | | | 1948 |
# 完成したが、、、
使っているとたまにブツブツというノイズが入る(常にノイズが入っているわけではない)。
ボリュームを絞っても発生するので入力ソースではなくてアンプで発生している可能性が高い。
電源による可能性があるが、電源を変えてもノイズが発生する。特に右チャンネル。
とりあえず、12V入力を三端子レギュレータで9Vに落として様子を見てみる。
しかし何も変わらない。
右チャンネルだけよくノイズが乗るので、左右のICを取り替えてみる。
そうすると、取り替えたにも関わらず、ノイズが乗るのは右チャンネルだけ。
そうなるとICの問題ではなくて、IC周りの回路に問題がありそう。
データシートにある標準的な回路と比べると、違う点はフィードバックの部分。
フィードバックの抵抗20kが違う人の回路では50kだったりする。
とりあえず、10kを2つで20kを作っていたのを片方を22kに変更して32kの抵抗にしてみる。
ブツブツというノイズは無くなったが、代わりにザーというノイズが常に入るようになった。
これは恐らく高周波のノイズで電源によるものだろう。
上で試した三端子レギュレータを付けたらノイズが消えた。
G20 首脳 出身大学ランキング一覧
ランク外
国 | 首脳 | 大学 | ランキング・備考 |
---|---|---|---|
ドイツ | アンゲラ・メルケル(*1) | ライプツィヒ大学 | 世界ランキングランク外(物理学博士号) |
日本 | 安倍晋三 | 成蹊大学 | 日本ランキング111-120位(世界ランキングランク外) |
インド | ナレンドラ・モディ | グジャラート大学 | 世界ランキングランク外 |
サウジアラビア | サルマーン・ビン・アブドゥルアズィーズ | Prince's school | 世界ランキングランク外 |
アルゼンチン | アルベルト・フェルナンデス | ブエノスアイレス大学 | ランク外 |
ブラジル | ジャイール・ボルソナーロ | アグーリャス・ネーグラス軍事学校 | 世界ランキングランク外 |
世界ランキングランク 1001+位
日本の代表的な大学では、中央,同志社,法政,明治,御茶ノ水,立命館,上智,横浜国立大
国 | 首脳 | 大学 | ランキング・備考 |
---|---|---|---|
インドネシア | ジョコ・ウィドド | ガジャ・マダ大学 | 世界ランキング1001+位 |
トルコ | レジェップ・タイイップ・エルドアン | マルマラ大学 | 世界ランキング1001+位 |
南アフリカ | シリル・ラマポーザ | 南アフリカ大学 | 世界ランキング1001+位 |
世界ランキングランク 800位以内
日本の代表的な大学では、慶応,早稲田大
国 | 首脳 | 大学 | ランキング・備考 |
---|---|---|---|
韓国 | 文在寅 | 慶煕大学校 | 世界ランキング301-350位 |
メキシコ | アンドレス・マヌエル・ロペス・オブラドール | メキシコ国立自治大学 | 世界ランキング601-800位 |
ロシア | ウラジーミル・プーチン | サンクトペテルブルク(レニングラード)大学 | 世界ランキング601-800位 |
世界ランキングランク 300位以内
日本の代表的な大学では、東北大, 東工大が251-300位
国 | 首脳 | 大学 | ランキング・備考 |
---|---|---|---|
オーストラリア | スコット・モリソン | ニューサウスウェールズ大学 | 世界ランキング71位 |
フランス | エマニュエル・マクロン | パリ第10大学 | 世界ランキング130位 |
イタリア | ジュゼッペ・コンテ | ローマ・ラ・サピエンツァ大学 | 世界ランキング251-300位,フィレンツェ大教授 |
TOP5
5位 EU大統領
シャルル・ミシェル大統領 ブリュッセル自由大学->アムステルダム大学 世界ランキング201-250位と62位
参考
東大36位
4位 カナダ
ジャスティン・トルドー首相 マギル大学->ブリティッシュコロンビア大学 世界ランキング42位と34位
3位 中国
習近平国家主席 精華大学 世界ランキング23位(アジア1位)
2位 アメリカ
ドナルド・トランプ大統領 ペンシルバニア大学 世界ランキング11位
(バラク・オバマ前大統領はオクシデンタル大学(ランク外)->コロンビア大学(16位) -> ハーバードロースクール(7位) )
1位 イギリス
ボリス・ジョンソン首相 オックスフォード大学 世界ランキング1位
(テリーザ・メイ前首相もオックスフォード大学卒)
Raspberry piでWebDavサーバを立ててどこからでも使えるファイルサーバを設定する
はじめに
自前のファイルサーバを作って家の外からでもアクセスができるようにしたい。
google driveとかのオンラインストレージでもいいんだけども、使い勝手とか、容量制限とか、情報管理だとか。。。
ということで、自宅でWebDavを使ってファイルサーバを立てよう。
材料
- Raspberry pi zero WH: zeroでなくてもよいのだけれども、消費電力が少ないので。電源やらMicroSDやらUSBの変換やらも。
- Elecom EDC-FUA2H-B: USBハブとLANアダプタが一体となったもの。これでなくてもよいし、無線でつないでもよいのかも
- Buffalo SSD-PGM480U3-B: 消費電力の点からSSDにした。もちろん、これでなくてよい
設定
OSのインストール
普通にRaspbian 2019-09-26のliteをインストール。 起動したら
sudo raspi-config
でsshを有効に、timezone等を設定する。
ip addr
アップデート&必要なソフトのインストール
sudo apt-get update sudo apt-get upgrade sudo apt-get install gdisk xfslibs-dev \ apache2 libapache2-mod-encoding certbot nmap dnsutils
固定IPの設定
/etc/dhcpcd.confの
# Example static IP configuration:
以降の行を参考に固定IPを設定する。 static routersとstatic domain_name_serversは環境によって違うと思うが、 同じネットワークにつながっているwindowsPCのコマンドプロンプトの
ipconfig /all
で確認できると思う。自分の場合は、
# Example static IP configuration: interface eth0 static ip_address=192.168.1.101/24 #static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
のように設定した。101の番号はたぶん、254より小さいある程度大きい数を設定すれば大丈夫なことが多い (本当はルーターのDHCP割り当てになっていない番号にする)。
SSDのフォーマットとマウント
パーティションの設定
ls /dev/disk/by-id/とかlsblkとかでSSDの名前を特定する。 /dev/disk/by-id/usb-BUFFALO_SSD-PGU3-A_0040501491102559-0:0なら、
sudo gdisk /dev/disk/by-id/usb-BUFFALO_SSD-PGU3-A_0040501491102559-0:0
でgdiskを起動してパーティションを設定する。 ?でヘルプが表示される。oで、新しいパーティションテーブルを作成する。 基本的にディフォルトどおり、全領域を使った8300 Linux filesystemのパーティションを作成すればよい。
フォーマット
/dev/disk/by-id/usb-BUFFALO_SSD-PGU3-A_0040501491102559-0:0-part1などが作られたら フォーマットする。
mkfs.xfs /dev/disk/by-id/usb-BUFFALO_SSD-PGU3-A_0040501491102559-0:0-part1
xfsでなくてもよい
マウント
/etc/fstabに
/dev/disk/by-id/usb-BUFFALO_SSD-PGU3-A_0040501491102559-0:0-part1 /share xfs defaults,nofail 0 0
を記述。/shareはマウント先なので好きなディレクトリ名にする。 nofailがないと起動時にこのSSDが見つからないとき起動しない。
sudo mkdir /share sudo mount -a
dfコマンドでマウントできているか確認する。
Webサーバの設定
とりあえず起動
sudo apache2ctl configtest # 設定ファイルのチェック sudo systemctl restart apache2 sudo systemctl enable apache2
でサービスを起動。同じネットワークにつながっているWindowsPCなどのブラウザから http://192.168.1.101/ で接続を確認する。
ルータの設定
プロバイダごとに使っているルータが異なるので、設定方法はそれぞれであるが、 とりあえず、先に確認したゲートウェイのIPアドレスに対して、 http://192.168.1.1 などと接続すれば設定画面に行くことが多い。 型番からマニュアルを探して初期パスワードを入れる。 外部からの80番ポートの接続を192.168.1.101番の80番へ転送する設定をする。 このとき、グローバルIPアドレスまたはFQD名も調べる。 自分の場合は、abcde.tkyc123.ap.nuro.jpのような形式であった。
スマホのwifiをoffにして、外からFQDNに接続して見られるか確認する。 http://abcde.tkyc123.ap.nuro.jp/
httpsの設定
ファイルをやり取りするときには通信を暗号化しておいた方がよい。 暗号化通信を行うときには認証局に登録する必要がある。 無料で利用できるletsencryptを使わせてもらう。
sudo certbot certonly --webroot -w /var/www/html/ -d abcde.tkyc123.ap.nuro.jp
メールアドレスを入力して質問に答えると、/etc/letsencrypt/live/の下に鍵ファイルが生成される。
apacheの設定をする。
cd /etc/apache2/sites-enabled/ sudo ln -s ../sites-available/default-ssl.conf sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.orig
/etc/apache2/sites-enabled/default-ssl.confの鍵ファイル設定部分を書き換える
SSLCertificateFile /etc/letsencrypt/live/fp7cdbcf49.tkyc627.ap.nuro.jp/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/fp7cdbcf49.tkyc627.ap.nuro.jp/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/fp7cdbcf49.tkyc627.ap.nuro.jp/chain.pem
起動
sudo a2enmod ssl sudo apache2ctl configtest sudo systemctl restart apache2
httpsで接続できるか確認する。 ルータも443番を先ほどと同様に設定する。
httpでつないだ時にhttpsに転送する。
vi /etc/apache2/sites-enabled/000-default.conf
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
を追加。
sudo a2enmod rewrite sudo systemctl restart apache2
httpでつないでhttpsに転送されるか確認する。
WevDavディレクトリの設定
http://abcde.tkyc123.ap.nuro.jp/e3davで接続できるようにする。 万が一のため、/davだと推測されて攻撃対象になることもあるかもしれないので、少し名前を変えた。 実体は/share/davとする。
default-ssl.confのVirtualHostのタグ内に
Alias /e3dav /share/dav <Directory /share/dav> Options Indexes FollowSymLinks AllowOverride None AuthType Digest AuthName davzone AuthUserFile /etc/apache2/htdigest Order deny,allow Require valid-user </Directory>
を追加。
digest認証ファイルを作成
sudo htdigest -c /etc/apache2/htdigest davzone username
とすると、パスワードを聞かれるので入力する。 davzoneは先ほどのAuthNameと一致させる。usernameは適当なユーザ名にする。
apacheを再起動してブラウザからダイジェスト認証で接続できるか確認する。 このときはダウンロードしかできない。
Webdavの設定
default-ssl.confのDirectoryのタグ内に
DAV On
を追加。
作成したファイルの所有者がapacheを動かしているユーザ(www-data)になってしまう。 www-dataに書き込み権限を与えてもよいが、一般ユーザでapacheを動かすことにする。 /etc/apache2/envvarsで
#export APACHE_RUN_USER=www-data #export APACHE_RUN_GROUP=www-data export APACHE_RUN_USER=pi export APACHE_RUN_GROUP=pi
起動
sudo a2enmod dav sudo a2enmod dav_fs sudo systemctl restart apache2
WindowsエクスプローラのPCからコンピュータ、ネットワークドライブの割り当て、 https://abcde.tkyc123.ap.nuro.jp/e3dav/ で接続できるか確認する。
gluster メモ
分散ファイルシステムgluster (glusterfs) のテストをしてみた。
RAIDで信頼性を高めてもRAIDのマシン自体が止まってしまったらサービスが止まってしまう。 また、ホットスワップ用のケースを導入などしないと可用性が確保できないことが多い。 分散ファイルシステムならば、(設定によるが)マシンが1台止まっても、ファイルサーバを動作させたまま 別のマシンをネットワークに接続して復旧することができる。 一定期間動作させたらHDDを交換するとか、SMART情報を見てHDDを交換するとかも容易にできる。 PCが複数台必要になるが、Raspberry Piなどを使って構築するなども可能だろう。
環境の構築 (VMWare + CentOS)
VMWare のダウンロードとCentOSのインストール
- https://www.vmware.com/jp/products/workstation-player.html の「今すぐダウンロード」から VMWare workstation player 15をダウンロードしてインストール。
- CentOSのMinimal ISOをダウンロードしておく。
- クイックインストールは使わずに「後でOSをインストール」を選択して仮想マシンを作成してCentOSをインストール
CentOSの設定
アップデートとglusterのインストール
yum -y update yum -y install open-vm-tools glusterfs glusterfs-cli glusterfs-server centos-release-gluster \ glusterfs-geo-replication glusterfs-rdma
これを3台分用意する(VMWareを3つ同時に起動する)。
VMWareのnat接続で固定IPに設定したい。
C:\ProgramData\VMware\vmnetnat.confにには以下の記述があり、
# NAT gateway address ip = 192.168.96.2/24 hostMAC = 00:50:56:C0:00:08
C:\ProgramData\VMware\vmnetdhcp.confによるとDHCPは 以下の設定。
# Virtual ethernet segment 8 # Added at 02/11/19 15:32:12 subnet 192.168.96.0 netmask 255.255.255.0 { range 192.168.96.128 192.168.96.254; # default allows up to 125 VM's
ゲートウェイが 192.168.96.2 となっているので、 固定IPを - node1: 192.168.96.11 - node2: 192.168.96.12 - node3: 192.168.96.13 に設定する。
/etc/sysconfig/network-scirpt/ifcfg-eno??に
#BOOTPROTO="dhcp" BOOTPROTO="static" NETMASK=255.255.255.0 GATEWAY=192.168.96.2 DNS1=192.168.96.2 IPADDR=192.168.96.11
を記述(node2, node3も同様)。
/etc/hostname に node1-3 を記述する。
firewallを設定してglusterデーモンを起動
firewall-cmd --permanent --add-service=glusterfs firewall-cmd --reload firewall-cmd --list-all # 確認 systemctl start glusterd systemctl enable glusterd
ノード間認証
node1(192.168.96.11)から以下のコマンドで認証しておく。
gluster peer probe 192.168.96.12 gluster peer probe 192.168.96.13
Volumeの作成
brickとvolume
brickはデータを格納する実ディレクトリ。 複数のbrickからvolumeを作成し、volumeをマウントして使う。 brickは直接操作しない。
node1,node2,node3の/brickを作成。 システム領域がいっぱいになるとよろしくないので、 ファイルサーバに使うときにはパーティションを分けるほうが望ましい (volumeを作成するときに注意される)。
mkdir /brick
複数のbrickからvolumeを生成するが、volumeにはいくつかの種類がある。
- Distributed: brickをそのまま連結して大きな領域として使う。HDDボリュームでいうところのLVMに相当。
- Replicated: 2つ以上のbrickに同じデータを書き込む。トラブル発生時でも1つ以上のbrickが動作していればアクセス可能。RAIDでいうところのミラーリング(RAID1)に相当
- Striped: Distributedに似ているが、ファイルを複数に分割してbrickに記録する。大きなファイルにアクセスするときのネットワーク負荷が減る。RAIDでいうところのストライピング(RAID0)に相当。
- Dispersed: ファイルを複数に分割して冗長にして複数のbrickに格納。冗長性により、頑健性を調整可能。RAIDでいうところのパリティ分散(RAID5)に相当。
これらの組み合わせ、例えばDistributed-replicatedなどもあり。
Replica volumeを作成
gluster volume create gv0 replica 2 192.168.96.11:/brick 192.168.96.12:/brick force gluster volume start gv0
ルートパーティションに作成する場合はforceが必要 たぶん、proveをしていればどのノードで行ってもよい。
確認用コマンド
- gluster volume list でリストを表示
- gluster volume info で情報を表示
- gluster volume status で情報を表示
- gluster peer status でノードの状態を表示
- gluster pool list でノードの状態を表示
マウント
mount -t glusterfs 192.168.96.11:/gv0 /mnt
/mntにファイルを置くとnode1,2の/brickにコピーされる(/brickは直接触らない)。
検証
ファイルを生成
for filesize in 1 10 100 #MB do for ii in `seq 3` do dd if=/dev/urandom of=file${filesize}_${ii} count=$filesize bs=1000000 done done md5sum file1*_? > md5
確認してみる。
md5sum -c md5
ここで、node2を殺してみる(シャットダウン)。 キャッシュがあるかもしれないので、node1も再起動。
# gluster volume status; gluster pool list Status of volume: gv0 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.96.11:/brick 49153 0 Y 7871 Self-heal Daemon on localhost N/A N/A Y 7894 Self-heal Daemon on 192.168.96.13 N/A N/A Y 8077 Task Status of Volume gv0 ------------------------------------------------------------------------------ There are no active volume tasks UUID Hostname State 4a719a1a-2691-4059-9375-43143b1416ab 192.168.96.13 Connected 171e6c38-1378-4556-bf42-7450329939c9 192.168.96.12 Disconnected 22eac064-2f1b-40aa-af95-5ee5a7f9a82c localhost Connected
その後再度確認。
md5sum -c md5
ノードが1つ死んでもデータの読出しは可能なことを確認。
node2は死んでるものとして、node3を追加して復旧 (実際の障害時にはまずバックアップを取ったほうがよいであろう)。
gluster volume replace-brick gv0 192.168.96.12:/brick 192.168.96.13:/brick commit force
node2(192.168.96.12)は動いていても動いていなくてもよい。
死んだnode2を切り離す。
gluster peer detach 192.168.96.12
念のため、確認
md5sum -c md5
定期的にHDDを入れ替えるとか、SMART情報に警告が出たらHDDを入れ替えるなどすれば、 高可用性のファイルサーバを構築できるだろう。
volumeの削除
検証が終わったのでvolumeを削除する。 まず、マウントを解除する。次に
gluster volume stop gv0
disperse volumeの生成
replicaはミラーリングであるので、例えば、1TのHDDを2台用意して1T分のファイルサーバを構築する。 使える容量は総量の50%以下になってしまう。 RAID5では、1TのHDD3台で2T分の容量、かつ、1台障害があってもシステム継続可能というようなこともできる。 これをglusterで実現するにはdisperse volumeを使う。
volumeの作成
node2を切り離し(detach)たままならもう一度probeしておく。
gluster volume create gv1 disperse 3 redundancy 1 192.168.96.11:/brick 192.168.96.12:/brick 192.168.96.13:/brick force gluster volume start gv1
マウントする。
mount -t glusterfs 192.168.96.11:/gv1 /mnt
/mntにファイルを置くとnode1,2,3の/brickにファイルが格納される。中身とサイズはオリジナルではない(元のデータ+冗長ビット)。
検証
ファイルを生成
for filesize in 1 10 100 #MB do for ii in `seq 3` do dd if=/dev/urandom of=file${filesize}_${ii} count=$filesize bs=1000000 done done md5sum file1*_? > md5
確認してみる。
md5sum -c md5
ここで、node2を殺してみる(シャットダウン)。 キャッシュがあるかもしれないので、node1も再起動。
# gluster volume status; gluster pool list Status of volume: gv1 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.96.11:/brick 49153 0 Y 7871 Brick 192.168.96.13:/brick 49152 0 Y 8054 Self-heal Daemon on localhost N/A N/A Y 7894 Self-heal Daemon on 192.168.96.13 N/A N/A Y 8077 Task Status of Volume gv1 ------------------------------------------------------------------------------ There are no active volume tasks UUID Hostname State 4a719a1a-2691-4059-9375-43143b1416ab 192.168.96.13 Connected 171e6c38-1378-4556-bf42-7450329939c9 192.168.96.12 Disconnected 22eac064-2f1b-40aa-af95-5ee5a7f9a82c localhost Connected
その後再度確認。
md5sum -c md5
ノードが1つ死んでもデータの読出しは可能なことを確認。
さらに、node3も殺してみる(シャットダウン)。
# gluster volume status; gluster pool list Status of volume: gv1 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.96.11:/brick 49152 0 Y 7371 Self-heal Daemon on localhost N/A N/A Y 7380 Task Status of Volume gv1 ------------------------------------------------------------------------------ There are no active volume tasks UUID Hostname State 4a719a1a-2691-4059-9375-43143b1416ab 192.168.96.13 Disconnected 171e6c38-1378-4556-bf42-7450329939c9 192.168.96.12 Disconnected 22eac064-2f1b-40aa-af95-5ee5a7f9a82c localhost Connected
ファイルは読みだせなくなっている(マウントがエラー)。 node3を再起動すると再び読出し可能。
node2は死んでるものとして、node4を追加して復旧 (実際の障害時にはまずバックアップを取ったほうがよいであろう)。 同様にnode4(192.168.96.14)を準備して、
gluster volume replace-brick gv0 192.168.96.12:/brick 192.168.96.14:/brick commit force
node2(192.168.96.12)は動いていても動いていなくてもよい。
死んだnode2を切り離す。
gluster peer detach 192.168.96.12
# gluster volume status; gluster pool list Status of volume: gv1 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 192.168.96.11:/brick 49152 0 Y 7371 Brick 192.168.96.14:/brick 49152 0 Y 8006 Brick 192.168.96.13:/brick 49152 0 Y 7400 Self-heal Daemon on localhost N/A N/A Y 7595 Self-heal Daemon on 192.168.96.13 N/A N/A Y 7479 Self-heal Daemon on 192.168.96.14 N/A N/A Y 8015 Task Status of Volume gv1 ------------------------------------------------------------------------------ There are no active volume tasks UUID Hostname State 4a719a1a-2691-4059-9375-43143b1416ab 192.168.96.13 Connected a290a42a-28c2-445a-9fd7-69a739530aa0 192.168.96.14 Connected 22eac064-2f1b-40aa-af95-5ee5a7f9a82c localhost Connected
念のため、確認
md5sum -c md5
単管パイプでスピーカースタンドその2
塗装
黒で塗装する.
一度目は刷毛ムラは気にせずに.二度目でしっかり塗る.
左が一度塗り,右が二度塗り
ゴム足をつける
裏面の塗装は手抜きです. MDFが吸湿してしまうのを防ぐため形だけの塗装.
ボルトで絞めた影響でMDFが若干沿ってしまったので, このつけ方だと端が若干浮いてしまったので,中央寄りの3点で支えるように変更.
とりあえず完成
単管パイプでスピーカースタンドその1
Netflixを視聴するときにPC内蔵スピーカーでなくて, 外付けのスピーカーを使いたい.
しかし,スピーカーを机の上に置くと机が狭くなるし, 磁気も気になる.
そこで,スピーカースタンドを使いたいが,床から机の上までの高さのものを 探すと結構なお値段である. あと,地震が起きた時に大丈夫か,と思うようなのもある.
いっそのこと,自分で納得のいくものを作ってしまおう.
SPF材などで作ってもよいが,やはり,スピーカースタンドなので,ずっしりとさせて 共振しないようにしたい.
そこそこ重量があって,安く手に入る材料として単管パイプがあるので, これでスピーカースタンドを作ろうと思う.
とりあえずの材料
まず,土台を作るために,単管ベースとMDF板(300x450),それからM12のボルト,ナット,ワッシャー, ゴム足をホームセンターで買ってきた.
工程1 -土台-
MDFにしるしをつけて単管ベースを固定する穴をあける. 最初はドリルで開けたが,12mmのビットが高くて買えないので,テーパーリーマーで 穴を広げる.
ボルトとナットでMDFと単管ベースを固定する. これだけ大きい土台なら地震も大丈夫であろう.
これを2つ作る.
工程2 -組み立て-
単管パイプ1mを2本と,スピーカーを乗せるための単管ベースを買ってくる.
標準的な机の高さが700mmなので,1mは少し高すぎるかもしれない.
スピーカーの高さは,ツイーターを耳の位置に合わせるのが基本らしい.
とりあえず乗っけてみる.
単管パイプカッターを買って短くしようかどうか迷うところだが, とりあえずそのまま進める.
100均の接着剤で固定してみる(大丈夫なのか?). パイプ部分を持ち上げたら土台が落っこちそうだが,そんなに頻繁に持ち上げるわけでもないし, 耐震性も変わるわけではなさそうなので,これで進めてみよう. 接着剤も「強力」って書いてあるし..
(その2へつづく)
PIC環境の設定 MPLAB X IDEのインストールなど
- http://www.microchip.com/ に接続
- Design -> Development Tools-> Software Tools for PIC ...を選択
- DownloadsのタブからMPLAB X IDE v5.10をダウンロード
- 同様にMPLAB XC8 Compiler v2.00をダウンロード
- https://www.microchip.com/mplab/mplab-code-configuratorから
- MCC v3.66 plugin
- PIC10 / PIC12 / PIC16 / PIC18 MCUs をダウンロード
- https://microchip.co.jp/から
- 組み込み技術者のためのMPLAB® XC8ユーザガイド
- MPLAB X IDEユーザガイド をダウンロード
- 通常通りインストールする +XC8もインストールする
- MPLAB IDEを起動する
- MCC v3.66 pluginを展開
- MPLAB IDEのtool -> plugin -> download で展開したファイルを選択