surga Lab

読者です 読者をやめる 読者になる 読者になる

surga Lab

営業部でも開発したい!!

すでに独自ドメイン設定済みで、さらにドメイン変更をした場合は301リダイレクトすべきかもしれないです

Web 雑記

最近

lab.hisurga.com

から

blog.hisurga.com

に変更したんですが、特にサイト移管の設定をしていませんでした。
もともとアクセス数はかなり少ないですし。

しかしその後アクセス解析を見ると"かなり少ない"から"ないに等しい"レベルまで落ちているではありませんか。

気になって自分のサイトを検索してみると、

  • トップページが上位に来ない(以前はあった)
  • 旧サブドメインと新サブドメインとはてな初期ドメインが混雑している
  • 旧サブドメインにアクセスするとpage not found

と問題だらけになっていました。

設定をせずに新サブドメインで旧サブドメインのコンテンツをそのまま載せるのは、コンテンツのパクリとみなされる可能性を考えると良くないことかもしれません。

しかしそれ以上に、インデックスされた旧サブドメインにアクセスするとpage not foundになるのはまずいのかなと。
ネット上にゴミサイトができてしまうような物ですし。

そこで、はてなブログで旧サブドメインにアクセスした場合は新サブドメインにリダイレクトするように設定しましたので紹介します。

ちなみにはてな初期ドメインはきちんとリダイレクトされていました。

はてなで独自ドメインを再度変えた時のリダイレクト方法

適当なサーバをレンタル

301リダイレクトをするためには、.htaccessを置くことが必要です。
私はスタードメインでドメインを取得していたため、それに付属する無料サーバを利用しました。

そのため説明もスタードメインに準じます。

旧ドメインをサーバに登録

旧ドメインをサーバに登録します。
登録方法はサーバ会社によって変わりますが、スタードメインの場合はサーバ側で登録すれば、ドメイン側のDNSレコード設定も自動で追加されます。

こんな感じの設定です。

f:id:hisurga:20170323222952p:plain

f:id:hisurga:20170323222955p:plain

.htaccessをサーバにアップロードする

登録した旧ドメイン直下(サブドメインならサブドメインフォルダ直下)に.htaccessファイルをアップロードします。

.htaccessは301リダイレクト設定など様々な設定を行えるファイルです。

ファイル名

.htaccess

中身

ついでにGoogle Search Consoleの認証ファイルも直下にアップロードしておきましょう。

アップロードのコツ

web上でのftp通信がサポートされていたら、一旦"a.htaccess"で作成してサーバにアップロードし、その後ターミナルからftpでrenameすると簡単かもしれません。

f:id:hisurga:20170323222953p:plain

Search Consoleで申請

Google様に報告しておきましょう。

旧ドメインと新ドメインをまず登録し、旧ドメインのダッシュボード>歯車マーク>アドレス変更で新ドメインへ移動したことを報告です。

f:id:hisurga:20170323222954p:plain

完了

すると検索で旧ドメインのサイトにアクセスしても、新ドメインで同じ記事が表示されます!

数ヶ月して安定してきたらサーバは閉じても大丈夫だと思います。

Arduinoでシールドを自作する方法をまとめます

Arduino

シールドとは

Arduinoを拡張する基盤です。
Wi-FiやBLEなどの既製品モジュールを搭載したシールドも多く存在しますが、自分で自由に回路を組める自作シールドも非常に便利に使えます。

シールド1枚に載せるべき機能数

特に制限はありません。
しかし、機能単位でシールドを分けると再利用性が高まりますし、不具合の検証時にも便利です。

小型化が必須でなければモジュール化(機能ごとの分割)をしたほうがいいかと思います。

シールド作成方法

準備するもの

自作用シールド

  • Arduino用に型どられた基盤です。
  • 自由に作成することができます。

Arduino用バニラシールド基板ver.2(黒)
(写真は秋月電子のプロトタイプシールド)

f:id:hisurga:20170316233357j:plain

スズメッキ線

  • 基本配線にはこれを使います。
  • どうしても配線が交差してしまう時はスミチューブなどで絶縁したり、被膜で覆われたケーブルを使います。

協和ハーモネット すずめっき軟銅線 10m TCW 0.5mm 10m

f:id:hisurga:20170316233400j:plain

Arduino用ピン

  • バニラシールドとArduino/下層シールドを繋げるために必要です。

Arduinoシールド用ピンソケットのセット(R3対応)

f:id:hisurga:20170316233358j:plain

はんだゴテセット

  • バリバリとはんだ付けをするので必須です。
  • 最初は安いやつでもいいと思いますが、健康面が気になる方は無鉛はんだを利用するのがおすすめ。

goot 電子工作用はんだこて セット 安定感抜群の大型コテ台付き 半田こて はんだ吸い取り線 はんだ 40W BM-40S

f:id:hisurga:20170316233359j:plain

コネクタ

  • 再利用性を高めたい場合、センサーやモータとの接続にコネクタを使うといいですね。

互換EIコネクタ L字 2P <5個セット><2co-212>

f:id:hisurga:20170316233403j:plain

テスタ

  • 個人的には必須かと思います。
  • ショートしていないかの確認などに使います。

OHM(オーム電機) デジタルマルチテスター TDB-401 (04-1891)

f:id:hisurga:20170316233402j:plain

その他道具

  • 切ったり曲げたりに使います。
  • スズメッキ線は熱が伝わりやすいので、はんだ付けの際はラジオペンチなどで掴みましょう。

高儀 GISUKE ホビーニッパー 125mm GHN-125

iHelp(アイヘルプ) 万能ラジオペンチ 150mm IH-62

f:id:hisurga:20170316233401j:plain

ステップ1 配線の下書き

直感のままに配線をしてもいいですが、いざ進めていくと配線がクロスしてしまう箇所が発生したり、スペースが足りなかったりして、匠な業が必要になってしまうかもしれません。

また、他のシールドと使用するピンが被っていないか確認することも重要です。

そこで事前に設計図を書くことで上記問題を減らすことができます。 秋月さんのシールドの仕様図が下書きにぴったりですので、こちらを印刷してペンで下書きをすると便利です。

こんな感じに、見ての通り結構適当ってことです。
私は表面の配置だけ決めたら裏面の配線はノリでやっちゃいます。
(裏面が1番大事なんですけどね)

f:id:hisurga:20170316233404j:plain

ステップ2 配線/はんだ付け

配線の設計図ができたら、後はそれを信じてひたすらはんだ付けをするだけです。

パーツを押さえながらのはんだ付けは大変ですので、セロハンテープなどで仮止めなどをするとやりやすいです。

f:id:hisurga:20170214215508j:plain

ショートしていないか確認

可能であれば一箇所はんだ付けをするたびに、隣とショートしていないかテスタで確認することをお勧めします。
テスタにショートしていたら音のなる機能があれば、抵抗値を見なくてもいいので楽に確認ができます。

もしもショートしていたら、はんだ取りなどで取り除きましょう。

goot はんだ吸取り線 CP-2015

goot はんだ吸取り線 CP-2015

とにかくビビらず作ってみましょう

1つシールドの作成に失敗しても、だいたい数百円の損で済みます。(高価なモジュールを利用していなければ)

金銭的な損失以上に大きな経験値を得ることができますので、ぜひともどんどんシールドを作成して楽しんでください。

Arduinoの自立走行車にダンゴムシ並みの知能を与えてみました

Arduino 自立走行車 GitHub

ダンゴムシって壁にぶつかると右左交互に進んで行くことが多いらしいのです。

実は、オカダンゴムシには進行中に壁にぶつかると左へ、次は右へ(あるいは右へ、次は左へ)と交互に曲がっていく習性がある。この行動は「交替性転向反応」といい、左右に交互に曲がる事で天敵から逃げられる確率を高めているといわれている。(wikipediaより)

オカダンゴムシ - Wikipedia

そこで、前回作成した自立走行車に同じようなアルゴリズムを実装したいと思います。

コード

ハード面の変更はありません。
それと今回から長いコードではgistを使うことにします。見難かったので。

完成

センサーが1つしかなく、加えてモータがどのくらいの距離進んだのか検知することができないために精度がかなり悪いですが、なんとか形にすることができました。

それなりにうまくいった動画も載せておきます。

Arduinoで自立走行車の自動停止を実装しました

Arduino 自立走行車

前回でモータ制御だけ可能な自立走行車ができました。

blog.hisurga.com

しかしこれだけでは事前に与えられたルートでしか制御を行うことができません。
そこで今回は距離センサのシールドを作成し、障害物で自動停止する機能を実装できました。

f:id:hisurga:20170225212247j:plain

必要なもの

-バニラシールド

Arduino用バニラシールド基板ver.2(白)

Arduino用バニラシールド基板ver.2(白)

-配線やピンなど

-過去記事の製作物

blog.hisurga.com

blog.hisurga.com

また、シャーシの連携性が悪かったためにタミヤのユニバーサルプレートを追加購入しています。
初めからタミヤのキットを買っておけばよかったと後悔してます。

タミヤ 楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット (70157)

タミヤ 楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット (70157)

配線

基本的には過去記事で作成したものをそのままシールドに移すだけですが、モータドライバとの組み合わせの関係で使用ピンを若干変更しました。

部品量が少ないからと事前に検討せず適当に半田付けしていったら、裏がひどいことになりましたね。

f:id:hisurga:20170225212249j:plain

f:id:hisurga:20170225212250j:plain

ブレッドボードにするとこんな感じです。

f:id:hisurga:20170228211524p:plain:w400

コード

シールドが2枚になったことでコードが若干長くなってしまいましたが、難しく考える必要はなく、ブレッドボード時のコードをほぼそのまま流用できます。

とりあえず今回はシンプルに障害物で止まるコードを試します。

動画で見ると速度変化がわかると思います。

完成

できたシールドを上に乗っけるだけです。
だいぶいい感じになりましたね。

f:id:hisurga:20170225212248j:plain

実際に動かした動画がこちらです。

Arduinoでシールドを自作しました

Arduino 自立走行車

前回はブレッドボードでモータ制御を実装することができました。

blog.hisurga.com

そのまま車体に乗っけてもいいのですが、利便性と安定性を考えてシールド化しました。

f:id:hisurga:20170214215509j:plain

必要なもの

  • バニラシールド

Arduino用バニラシールド基板ver.2(黒)

Arduino用バニラシールド基板ver.2(黒)

  • 配線やソケットなど

配線

ブレッドボードではジャンパ線を利用して自由度の高い配線ができましたが、自作シールドではそうもいきません。
交差しないようにとか、近くに集まりすぎないようにとか、いろいろ考慮が必要です。
そのため、紙などで一旦配置を考えることをお勧めします。

私はなんだかんだ"交差ありで偏りすぎなシールド"になってしまいましたけど。 f:id:hisurga:20170214215507j:plain f:id:hisurga:20170214215508j:plain

写真で見ると分かるかと思いますが、いくつかブレッドボード版から改良しています。
まずArduinoへの電源供給をするかしないか選択できるスイッチを追加し、さらにモータと電源の接続をEIコネクタにすることで再利用性を高めました。
ブレッドボード図にすると以下のようになります。

f:id:hisurga:20170216231217p:plain:w400

また配線の都合上、使用するデジタルピンの位置も変更しました。

//defineを以下に変更
#define MODE 7
#define APHASE 6
#define AENBL 5
#define BPHASE 4
#define BENBL 3

完成

Arduinoに電源供給するとエネループ電池x4では足りなかったため、9V電池を利用しています。今後はその辺も計算しないといけませんね。

f:id:hisurga:20170214215510j:plain

とりあえず仮載せです。
見た目がスッキリしましたね。

f:id:hisurga:20170214215511j:plain

前進→後進→回転→急停止の動画です。
実際に動くと、成果が目に見えるので嬉しいですね。動画はブレブレですが。