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 世界ランキングランク外
アルゼンチン アルベルト・フェルナンデス ブエノスアイレス大学 ランク外
ブラジル ジャイール・ボルソナーロ アグーリャス・ネーグラス軍事学 世界ランキングランク外

(*1) メルケル旧東ドイツ出身

世界ランキングランク 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位

(テリーザ・メイ前首相もオックスフォード大学卒)

参考サイト www.timeshighereducation.com

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

IPアドレスを確認したらあとはsshで作業すればよい。

アップデート&必要なソフトのインストール

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/ で接続できるか確認する。

スマホからはWebDav Nav liteなどをインストール。 ブラウザからはダウンロードのみ(たぶん)。

gluster メモ

分散ファイルシステムgluster (glusterfs) のテストをしてみた。

RAIDで信頼性を高めてもRAIDのマシン自体が止まってしまったらサービスが止まってしまう。 また、ホットスワップ用のケースを導入などしないと可用性が確保できないことが多い。 分散ファイルシステムならば、(設定によるが)マシンが1台止まっても、ファイルサーバを動作させたまま 別のマシンをネットワークに接続して復旧することができる。 一定期間動作させたらHDDを交換するとか、SMART情報を見てHDDを交換するとかも容易にできる。 PCが複数台必要になるが、Raspberry Piなどを使って構築するなども可能だろう。

環境の構築 (VMWare + CentOS)

VMWare のダウンロードと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

塗装

黒で塗装する.

一度目は刷毛ムラは気にせずに.二度目でしっかり塗る.

f:id:e3Jfo0PoLv:20181228191929j:plain 左が一度塗り,右が二度塗り

ゴム足をつける

裏面の塗装は手抜きです. MDFが吸湿してしまうのを防ぐため形だけの塗装.

f:id:e3Jfo0PoLv:20181228191919j:plain

ボルトで絞めた影響でMDFが若干沿ってしまったので, このつけ方だと端が若干浮いてしまったので,中央寄りの3点で支えるように変更.

とりあえず完成

f:id:e3Jfo0PoLv:20181228191915j:plain

単管パイプでスピーカースタンドその1

Netflixを視聴するときにPC内蔵スピーカーでなくて, 外付けのスピーカーを使いたい.

しかし,スピーカーを机の上に置くと机が狭くなるし, 磁気も気になる.

そこで,スピーカースタンドを使いたいが,床から机の上までの高さのものを 探すと結構なお値段である. あと,地震が起きた時に大丈夫か,と思うようなのもある.

いっそのこと,自分で納得のいくものを作ってしまおう.

SPF材などで作ってもよいが,やはり,スピーカースタンドなので,ずっしりとさせて 共振しないようにしたい.

そこそこ重量があって,安く手に入る材料として単管パイプがあるので, これでスピーカースタンドを作ろうと思う.

とりあえずの材料

まず,土台を作るために,単管ベースとMDF板(300x450),それからM12のボルト,ナット,ワッシャー, ゴム足をホームセンターで買ってきた.

f:id:e3Jfo0PoLv:20181208184021j:plain

工程1 -土台-

MDFにしるしをつけて単管ベースを固定する穴をあける. 最初はドリルで開けたが,12mmのビットが高くて買えないので,テーパーリーマーで 穴を広げる.

f:id:e3Jfo0PoLv:20181208184024j:plain

ボルトとナットでMDFと単管ベースを固定する. これだけ大きい土台なら地震も大丈夫であろう.

f:id:e3Jfo0PoLv:20181208184028j:plainf:id:e3Jfo0PoLv:20181208184001j:plain

これを2つ作る.

f:id:e3Jfo0PoLv:20181208184005j:plain

工程2 -組み立て-

単管パイプ1mを2本と,スピーカーを乗せるための単管ベースを買ってくる.

標準的な机の高さが700mmなので,1mは少し高すぎるかもしれない.

スピーカーの高さは,ツイーターを耳の位置に合わせるのが基本らしい.

とりあえず乗っけてみる.

f:id:e3Jfo0PoLv:20181208184011j:plain

単管パイプカッターを買って短くしようかどうか迷うところだが, とりあえずそのまま進める.

100均の接着剤で固定してみる(大丈夫なのか?). パイプ部分を持ち上げたら土台が落っこちそうだが,そんなに頻繁に持ち上げるわけでもないし, 耐震性も変わるわけではなさそうなので,これで進めてみよう. 接着剤も「強力」って書いてあるし..

(その2へつづく)

PIC環境の設定 MPLAB X IDEのインストールなど

  • http://www.microchip.com/ に接続
  • Design -> Development Tools-> Software Tools for PIC ...を選択 f:id:e3Jfo0PoLv:20181202135847p:plain
  • DownloadsのタブからMPLAB X IDE v5.10をダウンロード f:id:e3Jfo0PoLv:20181202135850p:plain
  • 同様にMPLAB XC8 Compiler v2.00をダウンロード
  • https://www.microchip.com/mplab/mplab-code-configuratorから
    • MCC v3.66 plugin
    • PIC10 / PIC12 / PIC16 / PIC18 MCUs をダウンロード f:id:e3Jfo0PoLv:20181202135851p:plain
  • https://microchip.co.jp/から
    • 組み込み技術者のためのMPLAB® XC8ユーザガイド
    • MPLAB X IDEユーザガイド をダウンロード
  • 通常通りインストールする +XC8もインストールする
  • MPLAB IDEを起動する
  • MCC v3.66 pluginを展開
  • MPLAB IDEのtool -> plugin -> download で展開したファイルを選択