投稿

Arduinoで温度測定 (DS18B20センサー) 1-Wireでたくさん数珠繋ぎ可能な温度計

イメージ
突然ですが、Arduinoという マイクロコントローラーを使って温度測定 をしたいと思います。 家に昔ネット通販で買った Arduino Nano (ナノ) というボードと DS18B20 というデジタル温度計センサーがあったのでそれを使いました。 Arduino Nano Arduino Nano はAVR社のATmega328Pというマイクロコントローラーが付いているPCBボードです。 ボードの寸法は18mm×45mmのサイズと割と小さめで、mini-USBのケーブルでコンピュータにつなげてプログラミングが出来ます。 本家のArduino cc社製からこのボードを買うとU$22 (USドル) とかするのですが、オープンソースの商品なのでネットにはもっと安い値段の同等品が出回っています。 節約をしたかったので私はオリジナルではない安い同等品をネットで買いましたが、香港から送料込みで5個でU$15ほどでした。 ネット通販で買ったArduino Nanoの同等品 オリジナルとの違いは、安い同等品だと、時々『 Bootloader 』と呼ばれるマイクロコントローラーが起動時に必要なコードがボードに書き込まれていない場合のあったりするそうで、その様なボードだとArduino用の ISP (In-Circuit Serial Programmer)という物を使ってBootloaderを書き込まないと使えません。 Arduinoを使うのが初めてな人がそんな商品にあたったりするとハードルがグンと高くなると思います。 (ISRもネットで安く手に入るのと、手元に使えるArduinoが一つ予備であればそれをISPとして使う事も出来るので、慣れた人なら面倒くさいだけでそこまでハードルは高くないかと…) DS18B20 (温度計センサー) DS18B20 の温度計センサーは Maximのデータシート によると『 Programmable Resolution 1-wire Digital Thermometer 』という名前で、 Programmable Resolut...

QRコードでWiFi設定を簡単に。。(印刷しておけば設定共有の為にスマホを出さなくてもOK)

イメージ
家のWiFi設定 『 うぃふぃ 』とも呼んでいる知人もいますが、最近はほぼどこにでもある『 Wi-Fi 』の無線ネットワーク。 一般家庭のWiFiだとWPAとWEPとかの認証に対応したルーターが普通で、スマホやコンピューターを繋げるのにはWiFiの『 SSID (Service Set Identifier)』に対して正しい『 パスワード 』(正確には『 暗号キー 』) の入力が必要になります。 家に友達がやってきてWiFiを使いたい時とか、新しい同居人さんが引っ越して来た時に「スマホのWiFiの設定から「XXX....(SSID)」の名前を選んでパスワードを入力して。。」と説明しても人によっては何回トライしても繋げる事が出来ず、代わりに暗号キーを入力してあげたら繋がったという事も過去にあったので😅😅、機械が苦手な人にはちょっとハードルが高いのかもしれません。 WiFiルーターに付いているボタンを押した後にスマホやPCをルーターにWiFi経由で繋げれば自動にSSIDと暗号キーを設定してくれるという WPS (WiFi Protected Setup) などという機能が付いた商品もあったりしますが、 そこまで安全でないのと指摘 があるのと、対応している機種同士でないと使えなかったりするので、やっぱり、スマホやPCのWiFiの設定画面でリストから『SSID』を選んだ後に『暗号キー』を個人で入力してWiFiに繋げる方法という方法が一般的な方法かと思います。 QRコードでWiFi設定 スマホで読ん込めるQRコードでもWiFiの設定が出来る様でオープンソースのバーコードのライブラリを公開しているzxingの ページ の説明によると次の様な情報を組み込めばアンドロイドとiPhone (iOS11以降)ならば WIFI:S: <SSID> ;T:[WPA|WEP|nopass];P: <password> ;H:[TRUE|FALSE];; といった内容の文字列をQRコードで読み込ませればWiFiの設定が出来るようです。 文字列中の S: <SSID> ; ...

古いアンドロイド・スマホが蘇った?? (カスタムROMでOSをアプデ

イメージ
部屋の片隅に忘れ去られていた古いアンドロイドのスマホが最近蘇りました。 2011年 にリリースされたSamsung製のGoogle Nexus (GT-i9250)というスマホで、過去の遺物ですが、趣味のDIYという事で大目に見てくださいw Google Nexus (2011) Google Nexus (GT-i9250) 、コードネーム『マグロ』は、グーグルのネクサス・スマホだったので当時はメーカーのOSのアップデートを待たずにいち早く新しいバージョンのグーグルアンドロイドOSにアップデートされるはずだったのですが、公式のアップデートはアンドロイド4.3 (Jelly Bean)止まりで 2013年 リリースのアンドロイド4.4(KiKat)以降には対応しませんでした。。 古いバージョンのままでも使えなくはないのですが、使いたいアプリがOSのバージョンに対応していなかったり、古いバージョンには ASB (Android Security Bulletin) というセキュリティーパッチもリリースされなかったりするので安全性にも問題があります。 アンドロイドOS アンドロイドOSはアップルのiOSと違って、元になるソースコードを公開しているオープンソースのOSです。 なので、そのソースコードをコンパイルすればOS自体は手に入るのですが、そこにスマホ各機種特有の設計に合わせたカーネルとかドライバーと呼ばれる物も組み合わせないと実際には動かす事ができません。 新しいアンドロイドOSのソースコードがグーグルからリリースされた場合、スマホのサポート期間内でしかも運が良ければ、スマホを作った会社がOSのコードに各スマホに合わせた改良をしたり、各スマホ用のドライバを組み込んだりした後、公式アップデートとして配布されます。 でも、アップデート配布の準備には事前にテストなどを繰り返さないといけなかったりで手間と時間がかかるので、運が悪い場合というか普通は、現行のOSに特に問題が無ければアップデートは配布されない場合が多い様です。 カスタムROM しかし、一部のエンドユーザーが頑張ってソースコードを各スマホ用に...

【メモ】TGBの起動失敗時 (時間のかかるPCの再起動をせずに: エミュレータ)

イメージ
起動に失敗『Failed to start the emulator....』 テンセントのアンドロイド・エミュレーター『 Tencent Gaming Buddy (TGB) 』 (別名『ゲームループ (Gameloop)』)をPCで使っていると、下の様な「起動に失敗したのでエミュレーターを再起動してください。」とのダイアログが(英語で)出る場合が時々ありますが、起動に失敗したウインドウ(Turbo AOW Engine)を閉じてそのままTGBを開くだけではまた同じダイアログが出る確率が高いです。 この場合、ウインドウズOSのタスクトレイにあるTGBのアイコンも閉じて、タスクマネジャーで関連するタスクを強制終了してからならTGBが上手く起動する場合もありますが、それでも駄目な時もあります😥。。 PCを再起動すれば問題なく起動するの場合が多いのですが、再起動には少し時間がかかるのが難点です。 失敗時の回避方 ちょっと前にTGB EmulatorのアカウントがSNSで説明していたのですが、元の記事が見当たら無いので、ここに内容をメモしておきます。 エラーが出た場合、TGBのウインドウの右側にあるツールバーのなかの『Multi-Window』というアイコン (赤い矢印の右) を押すとTGBのウインドウがもう一つ開くのでそのウインドウ上にあるアプリのアイコンを開けば無事アプリを起動出来るそうです。 追記 ( 2019年11月 ): エミュレータのバージョンにもよると思うですが、最近( 2019年11月 現在)のバージョンのゲームループ(Gameloop)だとアプリを起動できても開いたウインドウのツールバー上にエミュレータのキーボード・マウス設定のボタンが表示されない場合があるみたいです。

Intel NUC7i5の内蔵USB2.0ポート (どうにかTypeA (メス)コネクターを外付けしてみた)

イメージ
手のひらサイズのPC Intel NUC7i5BNH 現在、作業用にインテル製の NUC7i5BNH という手のひらサイズのPCを使っていますが、外付けで画面とキーボード、マウスがあれが一人前のデスクトップPCとして使えるのと値段もそこそこだったので気に入っています。 因みに、NUC7i5BNHはNUC Kitという ベアボーンシステム で、内蔵のメモリとストーレッジドライブ、WindowsなどのOSは含まれないのでコンピュータとして使うのには別に入手してインストールする必要があります。 筐体のUSBポートは3.0 NUC7i5BNHには本体の前面と後面に全部で4つのUSBポートがありますが、全部USB3.0ポートです。 USB3.0だと転送速度も前のバージョンのUSB2.0よりも早かったりで良いのですが、一昔前に買った USB2.0のデバイスだとUSB3.0ポートでは使えない物があったりします 。 特にUSB経由で2.4GHzの電波を扱うワイヤレス接続のデバイス(ワイヤレスマウス、ワイヤレスキーボードなど)は他のUSB3.0デバイスとの相性が良くないみたいです (👉 インテルのレポート )。 実際に家にあったUSB2.0のデジタルテレビチューナーをNUC7i5BNHのUSB3.0ポートに繋いでみたらWindows10上で認識はされたのですが、チューナーを使おうとアプリからチューナーにアクセスするとWindowsが落ちて青い画面になって強制再起動という状態でした。 しかし、インテル社の ページ で公開されているNUC7i5BNHの製品仕様書によると本体の外側にUSB2.0のポートはないものの、 内蔵のUSB2.0 のヘッダーコネクターがメインボード上に二つあって、Molex社の PicoBlade という1.25mmピッチのプラグコネクターがはまると書いてありました。 本体内部にUSB2.0ポートが NUC7i5BNHのUSB2.0ヘッダー [拾い物を加工] 本体底蓋のスクリューを緩めて底蓋を外してそのUSB2.0のヘッダーコネクターがどこにあるか...

【メモ】LG Nexus5Xを蘇生させる方法 (熱で剥がれたチップをヒートガンで優しく・・)

イメージ
去年までLGのアンドロイドスマホ、Nexus5Xを使ってましたが、「荒野行動」とか「PUBG Mobile」などのゲームをすると半田が溶けてCPUだかメモリだかがはがれるのが理由とかで画面が真っ黒になった後、起動出来なくなってしまうのですが、このリンクの修理方法で何度か蘇生させた事があるので覚え書きとして貼っておきます。 ビデオ: 『Nexus 5X Back from the Dead!!』 [ https://youtu.be/Z7AmTsC4N2c ] 注意事項 Nexus5XのCPUはメインメモリが基板の上でなく、CPUのチップの上にそのまま乗っかっているという特殊な2階建て設計になっているそうで、CPUの負荷による発熱でメモリが浮き上がってしまうのが良くある故障原因みたいです。 上の動画は、携帯を分解してCPUの載った基板をヒートガンでゆっくりと温めてCPUとメモリの接続を戻すという内容になります。 電子系の工作に慣れた人にはそこまで難しくないとは思いますが、実際に実行する場合は、失敗しない様に動画で触れる注意点に気を付けて 自己責任 でどうぞ。 また、未成年の方は必ず保護者の許可を得てください。 リンクのビデオは字幕付きなのでビデオの右下に表示される CC のボタンから日本語への自動翻訳に設定にする事も可能です。 経験談 今まで3回ほど蘇生に成功しましたがNexus5Xで熱くなるアプリは使ってはダメみたいですねw Nexus5XはCPUのチップ上にメモリのチップを直接載せるという変わったデザインを採用しているみたいなのですが、そのデザインにあった熱対策がしっかり出来ていなかったのでしょうか。。。 去年、旅行先で潰れた時に新しい携帯に変えたので、それを機会に5XはWiFiでのインターネット閲覧にしか使ってません (というか、まだSIM無しで使ってますw)。