t-hom’s diary

主にVBAネタを扱っているブログです。

Arduino

空気モニターのArduino Pro Microがバグるので電源まわりが強いUnoに変更した

以前Arduino Pro Microで空気モニターを作成する記事を書いた。 thom.hateblo.jp あれから1年以上運用が続いていて、もうこれが無いと落ち着かないというほど日常の一部になっているのだが、残念なことに最近バグの発生頻度が酷くなってきた。 具体的な症状 …

DualShock2KeyCommandのGitリポジトリPublic化と最近のリファクタリング

今日はPS4コントローラーをマクロキーボードとして使うプロジェクト「DualShock2KeyCommand」のリポジトリをPrivateからPublicに変更した。github.comこれまでPrivateにしていたのはゴリゴリに私用に特殊な設定をハードコードしてるのでPublicにしても別に誰…

Arduino LEONARDOでPS4コントローラーをマウスとして使う

今回はPS4コントローラーのジョイスティックでマウスカーソルを操作するArduinoコードのご紹介。もともとPS4コントローラーはマクロキーボードとして使っていたのだが、シューティングゲーム(東方シリーズ)でも使いたくなってモード切り替えできるようなコー…

Arduinoで圧電スピーカーを使って東方 神々が恋した幻想郷を演奏

前回はラーメンのチャルメラを流すコードだったけど、今回はもう少し長めのメロディーを作ってみた。 作ったもの 作ったメロディーはシューティングゲーム、東方風神録の3面テーマ「神々が恋した幻想郷」。折角なのでYouTubeにUploadした。(音が鳴るので注…

Arduinoのスイッチ割り込みでチャルメラ(ラーメンのあれ)のON/OFF ~トランジスタによるスイッチング~

前回は絶対に起きられるアラームの構想について書いたが、今回はその実装に向けた要素技術の実験。 thom.hateblo.jp要素技術ってなんか大層な響きだけど、そんなに大げさなものではなく、スイッチの割り込み処理である。 特に他に呼びようがないのでそう呼ん…

Arduinoを使った絶対起きられる目覚まし時計の構想

Arduinoを使って絶対に起きられる目覚まし時計を作ろうと思い、とりあえずアイデアだけ書きだしてみる。 こんな記事を書くとまるで私が寝坊の常習犯であるかのような印象を持たれるかもしれないが、ここ数年は1度も寝坊していないはず。とはいえ、絶対に起き…

トランジスタアレイ(TD62783APG)を使ってコンパクトな回路で8個のLEDをON・OFFする

前回の記事でベッドサイドランプをArduinoで制御する話を紹介したが、回路自体はシンプルなのに配線にかなり手間取った。もう少しコンパクトにならないものかと色々調べていたところ、トランジスタアレイを使うという結論に行きついた。 トランジスタアレイ…

ベッドサイドランプを改造してArduinoで制御~実装完了~

前回の続きで、Arduinoからの制御に成功したので記事にすることにした。 基板はこんなかんじ。 材料 ユニバーサル基盤 UB-THN03「薄型ユニバーサル基板」サンハヤト㈱サンハヤトAmazonこれはサンハヤト社から出ている、ハサミでカットできる薄型の基盤。 DC…

USBシリアル通信でArduinoから赤外線LEDを操作する ~ コーディングからケース作成まで

今回は以下の記事の続き。 thom.hateblo.jpArduino Unoから赤外線を操作するテストが完了したので、今回はこれをより小さなArduino Pro Microに移植し、ケースに収めて机の天板裏に固定する。 また、USBシリアル通信で送られたコマンドを元に赤外線信号を発…

PS4コントローラーをマクロキーボード化 / マクロ切替の別解

つい先日、DIPスイッチを使ってマクロキーボードのモード切替実装の記事を書いたのだが、結論から言ってこの方法は失敗だった。 thom.hateblo.jp計算外だったのはDIPスイッチの耐久性だ。 まだ多くても20回程度しか切り替えていないはずだけど、読み取り時に…

Arduinoから赤外線を発信して机裏のLEDテープの色を変更する。

今回はArduinoを赤外線リモコンとして使用することでリモコン式LEDテープの色を変更してみた。以下が作成した試作機。Arduino Uno入りのブレッドボードに赤外線送信モジュールと受信モジュールを指してジャンパーワイヤで繋いだだけの代物だ。 作成の動機 私…

PS4コントローラーをマクロキーボード化するArduinoにDIPスイッチでモード切り替え実装中

凄く長いタイトルになってしまったけど、ようするにコレの続き。 thom.hateblo.jpそして、こういうことである。 初見様用の説明 初見の方に説明すると、これはArduinoというマイコンを使ってプレステ4のDual Shockコントローラーをキーボード入力信号に変換…

M5 Stackのバッテリー容量と電源の切り方

M5 Stackに標準で付いてくるバッテリーは110mAhである。 これはつまり110ミリアンペアの電流を1時間流せるという意味だ。ちなみにスマホのバッテリーは2500mAh~3000mAhくらいあるので、110mAhというのがいかに少ないかが分かっていただけるかと思う。 もちろ…

M5 Stack Basic ボタン長押しで動作モード変更するプログラム

先日実装した摂取カロリー記録システムだが、既に紙での記録より便利なので2末を待たずに電子記録に完全移行した。 実はカロリー以外にも一週間の運動時間を紙に記録していたのだが、カロリー記録で味をしめたのでこちらも電子化したい。単純にもう一台M5 St…

M5 Stack Basicでラズパイにデータ送信

前回摂取カロリー記録のための3ボタンUIを作ったので、今回はここに通信の仕組みを乗せていく。 thom.hateblo.jp M5 Stackのコード ※ssidとパスワードは他人に見せられないので英字をすべてx、数字をすべて9に置き換えている。 #include <M5Stack.h> #include <WiFi.h> int p; i</wifi.h></m5stack.h>…

M5 Stack Basicで摂取カロリー記録用の3ボタンUI部分が完成

今回はM5 Stack Basicで摂取カロリー記録用の3ボタンUIが完成した。 動作画面はこんな感じ。 動作イメージは動画でUpしようかと思ったんだけどGIF化してサイズ小さくしても収まらなかったので諦めた。。 ま、そんな大層なプログラムじゃないしな。図示すると…

PS4コントローラーのアナログレバー(L2、R2)によるスクロールの改良案

今回は以前作成したPS4コントローラーをマクロキーボードとして使う件の改良案を紹介。 thom.hateblo.jp 従来のコードでスクロールを実現する仕組み ブラウザや電子メールの閲覧ウインドウをスクロールする際は通常マウスホイールを使うが、上記のマクロキー…

PS4のアナログスティックの押し込み角度を逆三角関数で求める。

以前、PS4コントローラーをマクロキーボードとして使うという記事を書いた。 thom.hateblo.jpその中で、アナログスティックをズームイン・ズームアウトに使うコードを書いたが、コントローラーから取得できるアナログスティックのX・Y座標をそのまま判定に使…

Arduino Pro MicroとラズパイとAmbientで空気モニター(温度、湿度、気圧、PM2.5、CO2)

今回は以前プロトタイプを作成した環境センサーを普段使いできる形に整えていく。以前の記事はこちら。 thom.hateblo.jp 作成するもの 前回のハード 前回はこんな感じでブレッドボードにセンサー類を挿していただけなのですべてむき出し。 普段使いするにも…

Arduino Pro MicroでPS4コントローラーをマクロキーボードとして使う(小型化)

今回は以前に紹介したPS4コントローラーをマクロキーボードとして使う件の小型化について紹介する。 thom.hateblo.jpわざわざ私が書かなくても、Arduino Pro MicroとミニUSB Host Sheildを組み合わせた事例はネットで検索できるが、ハマりどころが2か所ほど…

Arduino UNOで複数の環境センサー(温度、湿度、気圧、PM2.5、CO2)からデータ取得

今回はマイコンボードArduinoを使って複数の環境センサーからデータを取得するコードを紹介。この記事はシリアルモニター上で観測するところまでなので、これだけで普段使いのツールを作れるというものではないことはご承知いただきたい。 作成の動機 在宅勤…

Arduino LOENARDOでPS4コントローラをマクロキーボードとして使う

今回は、PS4のDualShockコントローラーをマクロキーボードとして使うことに成功したのでご紹介。 絵面はこんな感じ。 このコントローラーは本来Bluetoothに対応しているが、有線のほうがコードがシンプルになる気がしたのであえて有線で使っている。 マクロ…

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。