hogehoge, world.

米国カリフォルニアのソフトウェアエンジニアがIT・自転車・音楽・天体写真・語学などについて書く予定。

Arduino

AS7341による光のスペクトル(波長分布)測定と光害分析

AS7341という光のスペクトル(波長分布)を計測できるお安いセンサーがあることに最近気が付いた。 ams.com これは光の強さを波長の範囲(バンド)ごとに分けて測定できるセンサーである。データシートの下記の図がわかりやすく、可視光域をカバーする8チャネル(…

M5Atom Matrixでボールころころ

M5Atom Matrixを買ってすぐの習作として作った「ボールころころするやつ」の解説をしてみる。加速度センサーの値を使って物体の加減速や跳ね返りのシミュレーションを行なう簡単なコードなので、プログラミング学び始めの人の資料にでもなればと思う。初期化…

HM3301で山火事ベイエリアのPM2.5濃度を測る

現在カリフォルニアは史上最大規模と言われる山火事の最中である。うちの近所はこんな様子↓で、二週間程燃え続けてやっと70%鎮火と、だいぶ収まってきた感じではある。 https://www.fire.ca.gov/ ところがその結果大気汚染がひどいこと↓になっている。これで…

SGP30/SCD30によるCO2濃度測定

閉じた空間のCO2濃度というのは結構簡単に上がるものらしい。現在在宅勤務100%となり、狭い部屋で仕事や電話会議をすることも増え、知らない間にCO2濃度が上がり頭の働きが悪くなるなんてこともあるかもしれない。となれば当然測ってみたくなる。 CO2濃度が…

温度センサー6種を測ってみる

昨今のIoT・データ分析ブーム()を受けて、継続的に室内環境のモニタリングをしている。BME280で温度/湿度/気圧を取るところから始め、最近は在宅勤務で知らぬ間に部屋の空気が悪化しがちなこともあり、CO2濃度や暑さ指数(WBGT)も測って見えるようにしている…

M5AtomライブラリのLED機能は使うべからず

前回のM5Stack Atomに関する記事で、LEDマトリクスにフリッカーやジッターが出る、deep sleepするとランダムに光りっぱなしになる、という問題について書いた。何のことはない、M5Atomライブラリが不必要な非同期処理をやっているせいであり、ライブラリを使…

M5Stack Atom Matrix

私の周囲で最近話題になっていた M5Stack Atom Matrix をポチっとしたのが到着。24mm四方の小さな筐体にESP32(WiFi, Bluetooth込み), MPU6886(加速度/ジャイロ/温度センサー), 5x5 LEDマトリクス, 前面ボタン等が詰め込まれたデバイスである。背面のラベルに…

Particle Mesh: Early Adopterはつらいよ (5) ~ 外部アンテナを付けてみる

前回まで、いかにXenon~クラウド間通信が通らないか、OTAが通らないか、という話をしてきた。もしかしたら改善するかも、とMesh用の外部アンテナを付けてみることにした。

Particle Mesh: Early Adopterはつらいよ (4) ~ ちゃんと動くMeshアプリの作り方

前回の体験レポでは「一度上がったテンションだだ下がり」という感想を書いたが、いろいろ試行錯誤して、ちゃんと動くMeshアプリケーションを書くためのポイントを幾つか見出すことができた。今回はそのあたりを説明したいと思う。まぁ本来はこのようなトリ…

Particle Mesh: Early Adopterはつらいよ (3) ~ 体験レポート

前回消費電流の話を先にしてしまったので、今回こそは体験レポを書いて「Early Adopterはつらいよ」にオチを付けることにする。

Particle Mesh: Early Adopterはつらいよ (2) ~ Xenon/Argonの消費電流

前回に続いては実際にParticle Meshを触ってみた体験レポを書こうと思っていたのだが、そんなものよりも需要あるかな?と思い、Particle Meshの消費電流を測ってみたのでそっちを先に書いてみる。ちなみにParticle本家のコミュニティにもポストしてみたとこ…

Particle Mesh: Early Adopterはつらいよ (1) ~ イントロ

Particle Meshが先月到着し一ヶ月ほど触ってみたのでレポしてみる。Mesh+WiFiを備えたArgonを3台と、Meshのみ対応のXenonを2台、数ヶ月前にプレオーダーしていたものである。 こいつが何者かはHirotakaster先輩の記事に詳しいのでそちらを参照してもらうとし…

省電力Amedesの電池が切れた

下記の記事に書いたように、6月中旬に降水確率予報システム "Amedes" の省電力化を行なって電池のもちを観察していたのだが、ついに電池が切れた。85.8日と見積もったところ、4ヶ月少々もったことになる。まあこんなものだろう。電池を一本減らして3本にして…

LED積層信号灯のアプリケーション

今回は前回紹介したパトライト社のLED積層信号灯(12V改造済み)のアプリケーションを説明しよう。 WiFi経由HTTPでON/OFFを制御するESP8266版と、PCとUSBで接続しシリアル通信を使うArduino Nano版とを作ってみた。下記はESP8266版の方の実物写真である。 さら…

パトライト社LED積層信号灯(LES-x02A)の24V→12V改造

パトライト社のLED積層信号灯を買った。QBハウスで待ち時間を表示してるアレの小型版である。 パトライト LED薄型小型積層信号灯シグナル・タワー(ポール取付け)赤黄緑青 LES-402A-RYGB 出版社/メーカー: パトライト メディア: Tools & Hardware この商品を…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (14) ~ Fritzing用パーツ公開

ご要望を戴いたので、ESP-WROOM-02 秋月電子DIP化キットのFritzingパーツを公開しました。ここからfzpzをダウンロードしてFritzingで開くなりドラッグ&ドロップするなりすれば使えるはずです。Enjoy! forum.fritzing.org こんなんです。

Raspberry Pi 3でArduino開発

最近Arduino & ESP8266開発について外で説明する機会がしばしばあって、開発環境のデモ用に自分の古いノートPCを持ち歩いていたのだが、これがどうも遅くて調子がよろしくない。一方で、買ってはみたものの、どう活用しようか考えあぐねているRaspberry Pi 3…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (13) ~ ESP8266用Board Managerのアップデート

ArduinoのESP8266用Board Manager*1が2.3.0に更新されていることに気が付きました。 APIが若干変わっていたのでGitHub上のアプリケーションも書き換えました。これらのアプリケーションをコンパイルしてエラーが起こったら、アプリケーションもBoard Manager…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (12) ~ Amedesの省電力化

前回説明した降水確率予報システム "Amedes" は、一日数回しか稼働しないにも関わらず、スマフォ用バッテリーが5日程度で空になってしまうものであった。これはちょっともったいない。ESP8266と8連LEDが常時30mA近い電流を消費しながら、やっていることは人…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (11) ~ 降水確率予報 "Amedes"

前回まで紹介してきたクマーシステムと回転灯システムは、共にHTTPサーバとして動作するアプリケーションであった。今回はちょっと路線を変えて、公開のWebサービスを叩いて動作するHTTPクライアントの話をしよう。 …というわけで最新作、降水確率予報システ…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (10) ~ 回転灯システム

次は回転灯システムの話である。ハードウェア的にはこれまた変哲なく、ESP8266のGPIO出力でパワーMOS-FETのスイッチをON/OFFするだけである。

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (9) ~ クマーシステム

前回までにESP8266アプリケーションの共通の骨格について、ハード・ソフト両面から説明してきたが、ここまで来れば各アプリケーションの説明は非常に楽である。 下記はクマーシステムのブレッドボードの見た目(第七回のものを再掲)と回路図である。既に説明…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (8) ~ HTTPサーバベースのアプリケーション

第一回で示したクマーシステムも回転灯システムも、共にESP-WROOM-02をHTTPサーバとして動かすアプリケーションである。今回はこれらのソフトウェアの骨格部分を説明しよう。ソースコードは下記のGitHubリポジトリに公開しており、FlagBearとBuildCopがそれ…

電子コンパスHMC5883Lのキャリブレーションに挑戦

HMC5883L(GY-271)という電子コンパスを借りた。これをArduino Nanoにつないで使ってみる。 Kinectやってたときも思ったが、センシングにおけるチャレンジは、ひたすらキャリブレーションとノイズ除去なんだなぁと思う。つまり、センサーから生の値を拾うのは…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (7) ~ 自作アプリケーションのための基本回路

前々回はESP-WROOM-02を初期状態のまま動作させるためだけの最低限の回路を説明したが、今回はさらに自作アプリケーションを動かすための基本回路を紹介する。ただし、これはあくまで私が私のアプリケーションで使い回すための「ぼくのかんがえた最強の基本…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (6) ~ 続・電源の話

前回「USB給電でESP-WROOM-02は動かない」と書いたが、改めて確認してみたらちゃんと動いた。最初試したときは回路が何か間違っていて余計な電流が流れていたのかもしれない。 USB変換モジュールに出てる+5Vのピンを、スイッチングレギュレーターまたは三端…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (5) ~ 電源とUSBシリアル変換モジュール

さてそろそろESP-WROOM-02の話に入ろう。まずはこれがなくては始まらない、電源とUSBシリアル変換モジュールについて。 買いたてほやほやの状態のESP-WROOM-02には、シリアル通信で対話的にコマンドを送ってWiFI機能を動かすことができるプログラムがあらか…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (4) ~ OSなしのプログラミング

前回「Arduinoのソフトウェア開発はOSなしで実行されるC++プログラムを書くこと」と述べた。この「OSなし」が何を意味するのか、やったことのない人にはピンと来ないかもしれないので、簡単に説明してみたいと思う。 OSのある世界では、PCが起動するとブート…

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (3) ~ Raspberry Piとの違い

もうしばらくArduino一般の話を続けよう。よくArduinoとRaspberry Piはどう違うのか?という質問をされるので、その観点でArduinoの特徴を説明してみたいと思う。

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (2) ~ まずは普通のArduinoから

マイコンやArduinoの世界に初めて触れる人は、ESP-WROOM-02の前にやはり普通の(authenticな)Arduinoを少し触っておいた方がいいと思う。詳細は後述するが、ESP-WROOM-02は使う前に次のようなお膳立てが必要であり、いきなりだとトラブったときに問題の切り分…