ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

プログラミング

【ESP32】ESP32のサンプルSimpleBleDeviceについて

ESP32でBluetoothが使えることは知っていたのですが、なぜかESP32のサンプルソースであるSimpleBleDevice.inoが動かなかったので色々諦めていました。ですが、ようやくSimpleBleDeviceのソースを動かすことに成功したので記録しておきます。 ・SimpleBleDevi…

【ESP32】analogReadする方法

ESP32でanalogReadをしたことがないことに気づいたので、調べてやってみました。ついでに照度センサーの値の読み取りも行いました。 1:ESP32でanalogReadする方法 結論から言うと、以下のようにArduinoUnoなどの時と同じような記述でできます。 int PIN_NU…

【ESP32】NEC方式で赤外線通信できるプログラムを作ってみた

rikoubou.hatenablog.com ↑前にESP32で赤外線通信を行う記事を書きましたが、実用性がありませんでした。 今回かなり苦しみましたが、ESP32同士でNEC方式での赤外線通信に成功したので備忘録もかねて記事にしておきます。 まだESP32で赤外線のライブラリがな…

【ESP32】自作ゼルダエフェクトーンを改良してみた

前にゼルダエフェクトーンを自作してみましたが、電池の持ちが悪すぎたので今回スリープモードを導入した改良版を作りました。 具体的には「ドアを開けた時だけ起動して、ドアが閉まっている時にはスリープモードになる」ようにしています。 回路も一部変更…

【ESP32】マルチタスク中におけるdelayについて

rikoubou.hatenablog.com 前回取り上げたマルチタスクの続きです。ESP32のタスクの中でミリ秒単位やマイクロ秒単位でのdelayを行う方法について色々わかったので記録しておきます。 結論から言うと、実機で検証した結果「マルチタスク中ではdelay、delayMicr…

【ESP32】マルチタスクについて

ESP32でマルチタスクをする方法を探していたら見つけたので記録しておきます。■ESP32でマルチタスクを行うプログラム 基本的には参考記事のところにあるソースで良いのですが、なぜか自分のに書き込むと動かなかったので少し修正しました。 int maincount = …

【ESP32】赤外線通信について

ESP32で赤外線を使って色々やってみようと思ったですが、ArduinoUnoで使えていたライブラリ等がESP32ではまだないようです。 色々調べて行くとライブラリを使わずに赤外線通信を行なっている記事を見つけたので、それを元にESP32で動かした時のことを備忘録…

【ESP32】スリープモードについて

前に作成した自作ゼルダエフェクトーンが電池の持ちがなさすぎたので、ESP32でのスリープモードについて調べました。 ■スリープモードについて 結論からとしては以下のプログラムで実装できます。 #include "esp_deep_sleep.h" void setup() { Serial.begin(…

【ESP32】5Vピンについて

akizukidenshi.com秋月で売られているこのESP32-DevKitC、回路図の例などを調べると3V3が電源というのは様々なサイトで書かれていますが、5Vと書かれたピンが何を意味しているのかを今まで知らなかったので今回メモしておきます。 ■5Vピンの謎 結論から言う…

【ESP32】PWMでモーターを制御する方法

ESP32でPWM制御をやってみました。ESP32ではPWM用のピンがあるわけではなく、ソフト側でPWMの設定を行います。 1:ESP32でのPWMの使い方 ledcSetup、ledcAttachPin、ledcWriteの関数を使用します。 ledcSetupでPWMの設定、ledcAttachPinでチャンネルとピン…

【ESP32】data.sparkfun.comにESP32から値を送る方法

data.sparkfun.com公式「data.sparkfun.com」というIoT用の無料で使えるサイトを知ったのでESP32から値を送ってみました。今回はその方法をまとめていきます。1:data.sparkfun.comでストリームを作成する data.sparkfun.comにアクセスし、createボタンを押…

【ESP32】ESP32とスマホを接続してWiFiUDP通信する方法

rikoubou.hatenablog.com↑の前回の記事でESP32を使って以降、ESP32をいじっています。今回はタイトル通り「ESP32とスマホを繋いでUDP通信する方法」をやってみたので記録しておきます。1:ESP32とUDP通信できるようにする 基本的にはWiFiをアクセスポイント…

【ESP32】ゼルダエフェクトーンを自作してみた

www.bpnavi.jpツイッター上で話題になったゼルダエフェクトーン。 見た瞬間に「これ作れそう」と思って材料を購入し、勢いで自作しました。 使った材料や回路図を記録する意味でも記事にしておきます。※電子回路もプログラムも知識が浅いため、ツッコミどこ…

【備忘録】KKHMF LM393 IR赤外線障害物回避センサモジュール Arduino用について

amazonで見つけた怪しいぐらいに安い距離センサー(KKHMF LM393 IR赤外線障害物回避センサモジュール Arduino用)についての備忘録です。下記商品ページのレビューにある内容と実際のものがちょっと違っていたので記録しておきます。 Amazon CAPTCHA ■大体の…

【備忘録】ESP-32 DevKitCでのWiFi接続方法(APモード)

APモードのESP-32にWiFi接続する方法を残しておこうと思った次第です。というのも、 esp8266で使っていたソースが流用できない。 サンプルにAPモードでの接続のものが見当たらない。 という状況だったので、まとめようと決意しました。では以下に方法をまと…

【備忘録】ESP-32 DevKitCの環境構築方法

ESP32をのせた開発ボードESP-32 DevKitCが秋月で売られていることに気がついたので、秋葉原に行ったついでに購入してきました。 akizukidenshi.comということで、早速環境構築をやってみたのでまとめます。 ※MacOSでの環境構築になります。 1:Arduino IDE…

【備忘録】esp8266の扱い方について

毎回ググって調べるのがアホらしいので、備忘録として描いておこうと思った次第です。1:Arduino IDEでesp8266を使えるようにする Arduino IDEのメニューから環境設定を選択し、追加ボードマネージャのURLに以下を記述して、OKを押す。 http://arduino.esp8…

【つくってみた】おなかに◯◯がいますジェネレーター

お久しぶりです。 気がつけば二ヶ月以上も記事を書いてませんでしたね……(もうダメだ)。そんなダメダメな感じですがタイトルにある通りのものを作ってみました。 おなかに◯◯がいますジェネレーターどこかで見たことあるのに近い絵に、好きな文章(30文字ま…

【Unity】備忘録#9 リソースの解放について

ネタができたので久々にプログラムのお話です。UnityでResource.Loadを行うと、キャッシュとして保存されるそうです。 なのでResource.Loadを何度も行うと、メモリ不足となってフリーズする場合があります。その対応として以下の記述を用います。 Resources.…

【Unity】備忘録#6 オブジェクト親子関係について

オブジェクトの親子を設定する方法についての説明です。■親を設定する方法オブジェクトの親子関係を設定する際は以下の方法で設定します。 GameObject parentObj; // 親にするオブジェクト GameObject childObj; // 子にするオブジェクト // 通常のオブジェ…

【Unity】備忘録#5 Unityプロジェクト共有について

Unityプロジェクトを別のPCでも開発するという場面があると思います。 MacとWindowsの両方で開発する等の場合に、案外つまづくのがビルド時の設定引き継ぎになります。プロジェクト毎zipで固めて共有すればよくね? という考え方ももちろんありますが とりあ…

【Unity】備忘録#4 画像読み込みについて

前回でファイルアクセスが出来るようになったので、今回は画像読み込みについてになります。 rikoubou.hatenablog.com手順としては以下の通りになります。1:対象の画像ファイルをバイナリとして読み込む 2:読み込んだバイナリをTextureにする■1:対象の…

【Unity】備忘録#3 スクリプトからのファイルアクセスについて

スクリプトからのファイルアクセスについてです。■パスについてUnityでは一時ファイルやAssets内のファイルなど様々なパスを扱うことができます。 以下のブログ様に一覧としてまとめられています。unityでplatformによって取得できるパス - Qiita絶対パスで…

【Unity】備忘録#1 クリックしたオブジェクトの取得について(3Dと2D)

検索すればすぐ出て来ることですが、自分の中での整理+メモ目的で。まず前提として「3Dと2Dで記述方法が異なる」ので注意が必要です。 ■3Dの場合1:クリックしたいオブジェクトにBox Colliderコンポーネントを追加する2:以下のスクリプトの記述で取得可…