software_development」カテゴリーアーカイブ

タバコの受動喫煙対策で煙の検出用センサーをマイコン基板に繋ぐ電子工作をしてみた

タバコの受動喫煙対策で煙の検出用センサーをマイコン基板に繋ぐ電子工作をしてみた。

どういうセンサーを使えばよいのか、最初は分からなかったので漠然と空気の汚れを検出するセンサーのモジュール基板を探していくつか購入した。

まず購入したのが、「サインスマート TGS2600 ガスセンサー モジュール 空気の汚れ検知」というモジュールだ。

使われているセンサーはフィガロ技研というメーカーのTGS2600という型番のものだ。
TGS2600 【空気の汚れ検知用ガスセンサ】
続きを読む

PCからの音声でスマートスピーカーを動作させてみる

PCからの音声でスマートスピーカーを動作させてみる。

スマートスピーカーを使っていて、よく使うフレーズがなぜかちゃんと認識されず無視されてしまったり、誤爆してしまったりすることがある。
何度も言い直したり、誤爆したコマンドをキャンセルしたりちょっと面倒だ。

あらかじめよく使うフレーズを、ボタンなどを押したときにPCから再生させてスマートスピーカーを動作させるというのを思いついた。
本末転倒な感じがするが、気にしないことにする。
続きを読む

ArduinoをWindows PCに繋いだ場合のCOMポートの番号を調べるプログラムでちょっと失敗した

ArduinoをWindows PCに繋いだ場合のCOMポートの番号を調べるプログラムでちょっと失敗した。

Arduino Unoの中華互換機を使って試していて気が付いたのだが、シリアル通信のデバイスについてSetupAPIやレジストリの文字列をチェックするとArduinoという文字が出てくる場合と出てこない場合があるというのに気が付いた。

あるPCだとArduinoという文字がドライバ情報に入っているので、そのCOMポートの番号がArduinoだと特定することができた。
それで安心していたのだが、別のPCだとArduinoという文字が入っていなかったのでArduinoを見つけられなかった。
続きを読む

Windowsのsetupapi.hは、WinDDKでなく普通に入っているようになってたらしい

Windowsのsetupapi.hは、WinDDKでなく普通に入っているようになってたらしい。
(WinDDK = Windows Driver Development Kit)

昔、自分で作ったプログラムで、USB-UARTのポート情報を調べてCOM:のポート番号とそのポートのドライバがFTDIなのかSiLabなのかArduinoなのかを調べるというプログラムというのがあり、WinDDKのsetupapiを使っていた。
PCのCOMポート番号やポートの情報を調べるためのライブラリ
そのWinDDKのsetupapi.hというヘッダファイルをincludeしていたソースを最近コンパイルしなおすのにヘッダが見つからないということがあった。

そこでsetupapi.hって、WinDDKでないと入っていないのかとか調べていてWinDDKが不要というのに気がついた。
Win32 Setup APIでシステムに存在するデバイスのクラス・インターフェイスのクラスと説明を列挙する

Visual Studio 2019で、普通に

#include <setupapi.h>

として、
あとはリンクするときにsetupapi.libをリンクするようにすればよい。

Visual Studio 2019でDxLibを使って地図画像を回転表示させてみた

Visual Studio 2019でDxLibを使って地図画像を回転表示させてみた。

Visual Studio 2019でDxLibを使ってみた、という話の続き。

地図画像のデータは、Google Maps Static APIを使って取得する。
Google Maps Static API v2を使ってみた

そして、取得した画像をDxLibのDrawRotaGraph2という機能を使って、回転表示させてみた。

続きを読む

Visual Studio 2019でDxLibを使ってみた

Visual Studio 2019(Community版)でDxLibを使ってみた。

先日、Visual Studio 2019が出る前に、ちょっとDxLibを使ってみるためにVisual Studio 2017(Community版)でDxLib 3.0というバージョンを使ってみるというのを試していてうまく行かず悩んでいた。

DxLibのバージョン3.20cというバージョンが出ているのに最近気がついて、それに差し替えたら無事Visual Studio 2017で使うことができて、Visual Studio 2019でも同様に使うことができた。
続きを読む

平成のガジェット

PC-E500というポケコンを買って、ソフトを作るのにハマっていた。そんな平成の始まりだった。
ポケコンPC-E500のソフト開発

その後いろいろなガジェットを手にして、ソフトを作ったり作らなかったりした。HP95LXとかザウルスとかW-ZERO3とかiPhoneとかAndroidスマホとか。
しかし、PC-E500ほど時間と情熱を割いたガジェットはなかったと思う。

Google Maps Static API v2を使ってみた

Google Maps Static API v2を使ってみた。

Maps Static APIは、地図の画像を画像ファイルとして取得するためのAPIだ。

昔、古いAPIでStatic APIをちょっとだけ使っていた。API v1の時代だ。
しかし、2009年に終了してしまっていて、今では旧APIを叩いても地図の画像を得られない。

続きを読む

WiFi機器の電波の強度のRSSIの値が、対数(dBm)の場合と0~100%の場合があって紛らわしい (FlashAirでちょっと悩んだ)

WiFi機器の電波の強度のRSSIの値が、対数の場合と0~100%の場合があって紛らわしい。

Windows 10で、ノートPCなどのWiFi機能を内蔵している場合、コマンドラインから
netsh wlan show all
と入力することで、WiFiの状態を調べることができ、周囲にあるWiFiのアクセスポイントの情報も得ることができる。
この場合、それぞれのアクセスポイントの電波の強度がパーセント表示されている。

このように周囲のWiFiのアクセスポイントを情報を調べた場合、電波の強度はRSSIという値として得られる。

RSSIとして表示される値というのは実装によって異なるらしい。基本的には数字が大きい方が強い電波の受信強度を表すようになっているものらしい。
RSSIについて – IBS Japan
続きを読む