未分類」カテゴリーアーカイブ

Universal Serial Bus (USB)

この記事は、 Programmer’s Pocket Reference から内容を抜粋して再度編集したものです。

概要

USBはコンピューターに簡単に、そして様々な機器を接続できるようにするために作られた規格である。最新のUSB 3.2 + USB PDでは、20Gbps ・20V 5A(100W)にまで対応している。互換性が保たれており、USB 1.0 のキーボードはUSB 3.2対応のポートでも問題なく使用することができる。

詳細

現在接続されている機器の詳細を調べたい時

Windows

Microsoftによって公開されているUSBViewが便利である。

macOS

$ ioreg -p IOUSB -l -w 0
$ system_profiler SPUSBDataType

Ubuntu

$ lsusb -v # see bDeviceClass

デバイスクラス

機器の機能を識別するためにデバイスクラスが使用される。よく使われるデバイスクラスはOSによりサポートされており、標準ドライバが準備されている。

コネクタとケーブル

USB 3.0ではMini端子はdeprecatedとなり、端子を増やしてSuperSpeedに対応したA/B端子と横長のMicro B(SS)端子が登場した。2014.08にはUSB Type-Cが規格制定され、今後主流になっていく。USB延長 ケーブル(Cオス-Cメス)や、USB Aオス-USB Type-Cメスなどは市販はされているが、規格上禁止されているものであり注意が必要である。

Battery Charge

USBでは、標準では5V 500mA(USB 2.0)まで給電が可能であった。USB BC 1.2では5V 1.5Aまでの給電に対応している。その他、同様の目的のものに Quick Charge (Qualcomm)があるが、こちらは標準規格ではない。

USB 3.0/3.1/3.2

現在は、USB3.0/3.1は USB 3.2 Gen nxn (下表参照)という名称になっている。Enhanced SuperSpeedという用語が使われることがあるが、こちらは旧USB 3.0の SuperSpeed(Gen1x1) と、旧3.1以降の SuperSpeedPlusの両方を合わせたものである。

Arduinoで温度計を作ってみた

Arduinoの登場のおかげで、電子工作の敷居がぐっと下がりました。
今回、Arduinoで温度計を作ったので、メモ代わりに経過を記載しておきます。

注意:この記事では、私が初めて行った電子工作について、困った点・分かり難かった点を備忘録がわりに書いているものです。

プロトタイプ作り

まずは、ブレッドボードとArduino Mini (正確にはその互換品)でプロトタイプを作成します。作成に当たって必要と考えた機能は以下の通りです。

  • 現在の温度・湿度を表示する機能
  • 気温の経過をグラフで表示させる機能
  • 上記を、ボタンで切り替えを行える

この機能を実現するために、まず以下の部品を準備しました。

  • Arduino Nano または 互換品
  • DHT-11
    • 温度を測るのに使います。
    • モジュール化されている物(抵抗がすでについている物)でも、そのままの物でもかまいません。
    • Amazonで購入(173円)することもできますし、秋月電子(Web, 実店舗)などでも購入することができます。
  • I2Cで接続するディスプレイ
    • 3.3V-5Vで動作する物を選ぶと後から便利です。
    • Amazonでこちら(1個440円)を購入しました。
  • ブレッドボード・ケーブル・コンデンサ・抵抗・スイッチ

これを用いての、ブレッドボードでの組み立てとコードの作成を行いました。
(コードは、この記事の最後に記載しています。)

  • 注意点
    • DHT11は、モジュール化している物を使用しないのであれば、シグナルピンを4.7KΩ(推奨)でプルアップします。4つのピンは、左からVCC(3.3-5.5V), シグナル, 未使用, GNDとなっています。
    • I2CはNano, UnoではSDA->A4, SCL->A5です。
    • 2番ピン(モード切替スイッチ)は内部プルアップ(INPUT_PULLUP)を使用しています。

プロトタイプの問題点:チャタリングへの対策

実際に動かしてみると、温度は出るのですが、なんだかちょっと動きが変です。ボタンを押してみるとうまくモードが切り替えられる時もあれば、そうでもないこともあります。

原因はチャタリングです。ソフトウェアだけ考えていると気が回らないのがおもしろい点です。

ボタンを押したときのD2の部分の電圧を測るとこのようになっています。

ボタンを押す前は、内部プルアップ(INPUT_PULLUP)により5Vとなっていますが、ボタンを押すとGNDレベルになった…あとに、また5Vになって、再度GNDレベルになってます。
そのため、1度の押下で、2度の割り込みが発生してしまっています。

ソフトウェアで処理を行って回避することもできますが、今回はコンデンサを配置してハードウェア的に対処してみます。
実際に取り付けてみたところ:

急な電圧変化が抑制されており、チャタリングでの反応が抑制されていることが分かります。

余談ですが、Arduinoの割り込みルーチン内でのチャタリングへのソフトウェアでの対応は、delay関数が使えないこともありやや面倒です。

プロトタイプから完成品へ

いちおうこれで使用できるものができました。が、ブレッドボードのままでは少し使うのには不便です。
ケースに入れて使用できるようにしましょう。

手に入りやすく大きさの手頃なケースとして、FRISKのケースを使用することにします。ケースに入れるにはArduino Nanoだとやや難があります。理由は:

  • 価格的にややもったいない
  • ピンヘッダが邪魔をして、高さ的に収まらない
  • Mini USBであり、Micro USBとくらべるとややケーブルの汎用性が下がる

そのため、今回はATMEGA328Pをそのまま使用することにします。

生のATMEGA328PをArduinoとして使用できるようにしてプログラムを焼きこむのには、手元にあるArduinoをISPとして使用してもいいのですが、今回はUSBaspを使用しました。
5V, 8MHzの設定で書き込みを行なった後、水晶振動子を最終的に使用しなくて良いようfuseを変更します

USBaspの使用で困った点として、最初の書き込みはJP3をショートさせて低速モードを使用しないと書き込みができませんでした。なかなかうまくいかず調べたところ、ATMEGA328Pは内部クロック1MHz相当で出荷されるとのことです。

秋月電子通商で購入したフリスクケースサイズの基盤に半田付けを行い、USB-microでの給電でどこでも使用できるように致しました。

やってみて思ったこと

  • コンデンサと抵抗はあらかじめ何種類もを組み合わせている物を買っておくと便利です。電子部品取扱店であれば、言えば奥から出てくると思います。ほかにもスイッチやLEDなど一通りセットになったものもAmazonで購入できます。
  • 都内の方は秋月電子通商での買い物を行うのが良いと思いますが、私は神奈川なのでサトー電気 横浜店・町田店が便利でした。

ソースコード

「クリエイター独立マニュアル」の表紙

先日書店に行った時、グラフィック社編集部 (編集)の「クリエイター独立マニュアル」を見てびっくりしました。

表紙の一部を引用しますが、

cover_cross

このように、中央上部にでかでかと赤十字マークが入っています。

赤十字マークは、赤十字の標章及び名称等の使用の制限に関する法律でその使用に強い制限がかかっています。

第一条  白地に赤十字、赤新月若しくは赤のライオン及び太陽の標章若しくは赤十字、ジュネーブ十字、赤新月若しくは赤のライオン及び太陽の名称又はこれらに類似する記章若しくは名称は、みだりにこれを用いてはならない。
第四条  第一条の規定に違反した者は、六月以下の懲役又は三十万円以下の罰金に処する。

また、日本赤十字社のサイトにも、赤十字マークの意味と約束事としてこうあります。

また赤十字マークは、病院や医療を象徴するマークだと思っている方も少なくないようですが、このようにとても大切な意味をもつマークであり、その使用については赤十字社と法律等に基づいて認められている組織に限られています。もちろん、一般の病院や医薬品などに使用することは禁止されています。

今一度気をつけましょう。

Google Chrome Canary を デフォルトブラウザに変更する方法 (Mac Yosemite)

 

Google Chromeインストール後にChrome Canaryをインストールした場合、「この Google Chrome はセカンダリ インストールのため、既定のブラウザには設定できません。」と表示され、デフォルトブラウザにすることができません。

defaultbrowser↑こんな感じで表示されます。

この場合でも、システム環境設定から設定することでデフォルトブラウザにすることができます。

一般システム環境設定の「一般」から・・・

defbrowser

デフォルトWebブラウザを変更することができます。

 

後継首相が靖国自粛なら首脳会談 中国大使が示唆(07/28 21:13)

Sankei Web 政治 後継首相が靖国自粛なら首脳会談 中国大使が示唆(07/28 21:13)

 ここまでバカにされて中国の言いなりになるわけにもいけないでしょう。次期首相には何が何でも靖国に行って欲しいです。というわけで谷垣以外でお願いします。

 谷垣は公約として「靖国参拝自粛」を掲げちゃったから、中国のご機嫌取りな感じが否めない…。いや、もちろん、参拝・信仰は個人の自由だとは思いますけど。

 安部官房長官は北ミサイル発射で一気にテレビで見る回数も増えたし、森派もまとまったし、もう決まりでしょうかね。

 麻生外務大臣は……今回はちょっと難しいですかね。派閥的にも。対北東アジア外交も大事ですが、それ以外の政策があまり見えてこないのが残念です。いや、個人的にはイチオシなんですけどね。

 額賀防衛庁長官は、出るかどうかよく分からんから、いいや。出れば谷垣は終わりですね。

 中国の思惑とは裏腹に今回の発言は安部・麻生への追い風になるんじゃないかなぁ。

今日から

な つ や す み

わーい。医学部なんで授業開始が9月頭と早いけど、いまから一ヶ月近く授業がありません。やったね。

授業あっても学校サボってるじゃないか、というつっこみは今回はなしでお願いします。

岡山市内にシネコン&一風堂

岡山に映画館(シネコン)と一風堂が出来ますっ!やった!

映画館はTOHOシネマズ岡南(こうなん)で、場所は築地新町、岡南飛行場の近くです。自転車ではちょっときついかな。
シネマタウン岡南というシネコンの一部で、映画館以外にも買い物や食事が出来るそうです。これでコムサの為にわざわざ倉敷イオンまで行く必要が無くなるー。
7月15日オープン予定。

一風堂は福岡が本店のラーメン店です。岡山からだと一番近くて神戸だったので、うれしいです。場所は柳川交差点の近くです。
おすすめのメニューは赤丸新味。絶対おいしいんで行くのが吉です。
7月13日オープン予定。

特に一風堂は楽しみー。絶対行くぞー。

今日テストだけど現実逃避中。

asahi.com:「タミフル」を国内生産へ 中外製薬

asahi.com:「タミフル」を国内生産へ 中外製薬

世界的に需要が急増している抗インフルエンザ薬「タミフル」が日本でも生産される見通しとなった。現在は、独占製造するスイスの製薬大手ロシュから子会社の中外製薬が輸入して国内で販売しているが、中外が国内生産する方針を固めた。生産開始は早ければ2年後になる。将来にインフルエンザが大流行する事態に備え、タミフルを国内で安定的に供給する体制をつくるのが狙いだ。

現在、タミフルの生産は特許を持っているロシュ社のみがしていますが、中外製薬が生産に乗り出すようです。
数年以内に予測されているパンデミック(世界的大流行)を懸念しての事なのでしょう。
ただ、タミフルが予想されるパンデミック時に本当に“使える”状態で残っているかどうかが疑問です。というのも、ウイルスが耐性を持つ可能性があるからです。

例えば、インフルエンザに有効であったアマンタジンには耐性株が増えてきています。特に、中国ではアマンタジンを飼料に混入して使うといったむちゃくちゃな使い方をしてしまい、耐性ウイルスが拡大を進めてしまいました。

また、中国の大手製薬会社である広州白雲山製薬総廠(広州製薬)が、インフルエンザ治療薬「タミフル」の製造元であるスイス・ロシュ社からライセンス供与を受けずに、「タミフル」の類似薬を独自生産する方針を立てています。このような違法すれすれの方法で(違法?)、大量にタミフルを生産して乱用するような事があれば、パンデミックウイルスがタミフルに耐性を持ってしまい、絶望的な状況になる可能性も否定できません。

asahi.com:驚異の「鉄人」幼虫、雑誌付録に 学研が採用検討 – 暮らし

asahi.com:驚異の「鉄人」幼虫、雑誌付録に 学研が採用検討 – 暮らし

面白いけど……。処分はどうするんだろ?

韓国政府、新潟中越地震に10万ドルの義援金

[URL]

政府直々やね。すごいね。