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

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

プログラミング

【python/OpenCV】カメラ映像をキャプチャするプログラム

pythonとOpenCVを使って色々やってきた中で今更な感じですが、今回はカメラ画像を任意のタイミングで気軽に画像として保存できるようにするプログラムです。 画像認識などを行う場合にはサンプルとして様々な画像を取得する必要があったりします。「楽してカ…

【python/OpenCV】画像の特定の色を抽出する方法

今回はpythonとOpenCVを使って画像の特定の色を抽出する方法の備忘録です。 OpenCVでは2つの方法で特定の色を抽出できるので、その2つの方法を説明していきます。 では始めます。 1:RGBでの色抽出方法 まず一つ目の方法としてRGBでの色の抽出方法がありま…

【python】クラスの継承

rikoubou.hatenablog.com 一つ前の記事では単体テストをやりました。今回はタイトルにある通りpythonでのクラスの継承です。 正直参考資料のページを参照した方がわかりやすいかと思いますが、自分のための備忘録として記事に残しておきます。 では始めます…

【python】単体テストの記述方法

rikoubou.hatenablog.com 以前書いた記事でpythonのクラスとファイル分けをしました。 今回はこの時作成したsumClass.pyを例として単体試験の書き方の備忘録という内容です。 では始めます。 1:単体テスト用の書き方 pythonにはデフォルトで単体試験用のク…

【python】クラスとファイル分け

今まで色々とpythonを使ってソースコードを書いてきましたが、処理を別ファイルに分けたりクラスに分けたりということを特に意識していませんでした。 なので今回はpythonでの「クラスとファイル分け」についての備忘録です。 では始めます。 0:テスト用コ…

【python/OpenCV】OpenCVで動画ファイルの読み込みと保存の方法

今までpythonとOpenCVを使ってWebカメラや静止画の加工などはやっていましたが、動画ファイルを扱ったことがなかったのでその備忘録です。(※ちなみにOpenCVでは音声は扱えません) OpenCVとpythonの他にどうやらopencv_ffmpegを入れてないと使えないような…

【Blender/python】Blender2.8でちょっとした自作アドオンを作ってみた

まだまだリリースは先なBlender2.8ですが、ベータ版が公開されてからはだいぶ安定して使えるようになってきている感じがあります。 そんな中、ちょっとBlender2.8でアドオンを作ってみるか、と思い立って作ってみたのでその備忘録です。 基本的にはBlender2.…

【Blender/python】OpenCVの瞳認識の値を使ってBlenderのオブジェクトの座標を変更する

rikoubou.hatenablog.com 以前の記事でBlenderでOpenCVを使えるようにする方法を書きました。 今回はOpenCVで瞳の認識をして、その値を使ってBlenderのオブジェクトを動かすというのをやっていきます。また今回のプログラムを実行するにはWebカメラが必要に…

【Blender/python】pythonからBlenderの画面を更新する方法

以前Blenderでアドオンを自作とかしていたのですが、その時に「アドオンを実行したあとBlenderの画面で何かアクションをしないと反映されない」という現象がありました。 今回調べていたらBlenderの画面を更新する書き方がわかったので、その備忘録です。 ・…

【Blender/python】Blenderの自作アドオンの作り方(その3)

rikoubou.hatenablog.com 前回はアドオンの保存場所と2通りのデバッグ方法を確認しました。 今回はいよいよアドオンの中身について触れていきます。また自分が作成したアドオンのソースコードについても紹介しつつ説明していきたいと思います。 1:アドオン…

【Blender/python】Blenderの自作アドオンの作り方(その2)

rikoubou.hatenablog.com 前回の続きです。前回は大まかな自作アドオン作成の流れを説明しました。 今回はアドオンの保存先やデバッグ方法についてです。 1:読み込んだ自作アドオンの保存先 自作アドオンを「Install Add-on from File」でBlenderに読み込…

【Blender/python】Blenderの自作アドオンの作り方(その1)

今回はBlenderで使う自作アドオンの作り方です。 とある単純な処理の繰り返しをするのが非常に面倒だったので「アドオンである程度自動化できないかな」と思い、色々調べてとりあえずは作ることができたのでその備忘録です。少しはプログラムを書いたことの…

【Unity/Arduino】UnityとArduinoの加速度センサを連携してみた

rikoubou.hatenablog.com 前にUnityとArduinoをSerialで連携させるのをやってみました。 今度は照度センサではなく、加速度センサを連携させてUnity上の立方体をぐりぐり動かすというのをやっていこうと思います。 1:材料/開発環境 ■開発環境 MacOS Sierr…

【Unity/Arduino】UnityとArduinoを連携してみた

明けましておめでとうござます。ブログのネタがないまま放置していたら気づいたら年が明けていました。 久々の記事ですがタイトルにある通りUnityとArduinoを連携させてみました。 具体的にはArduinoで取得した照度センサーの値をシリアルでUSBから送り、Uni…

【mbed】mbedでLチカをやってみた

www.switch-science.com スイッチサイエンスなどで売られているmbedを手に入れたので、とりあえずボードに載っているLEDをLチカさせてみました。その時の備忘録です。mbedを始めましょう!("Let's get started!" in Japanese) 基本的には上記ページにある通…

【python】UDP通信の方法【ESP32】

最近ネタがなかったのでサボっていましたが、今回pythonを使ってUDP通信ができるということを知ったのでその備忘録です。また、以下の記事の応用で、スマホではなくpythonからUDPで値を送ってみました。rikoubou.hatenablog.com 1:pythonでUDP通信を行う方…

【ESP32】SSID、パスワードをSDカードに入れたファイルから読み込んでWiFi接続を行う

今までスケッチにWiFiのSSIDやパスワードをベタ書きしていましたが、スケッチを書き換えなくてもWiFiの接続先を変えたい場合があるかもしれません。そこで、SDカードにあるファイルを読み込んでWiFiに接続するスケッチを書いてみました。 1:材料 ・ESP32 D…

【ESP32】ST7735RのTFT液晶にbitmap画像を表示させる

amazonでESP32で使えそうな液晶を探していたら、このような商品を見つけました。HiLetgo 1.8インチ ドライバ IC ST7735R SPIインタフェース 解像度128*160 TFT液晶ディスプレイモジュール PCBが付け for Arduino 51 この液晶にESP32を使ってbitmap画像を表示…

【python】MacOSでdocomo音声認識APIを使ってみる

音声認識をやってみたいなーと思って色々調べたところ、簡単に登録できてかつ無料なAPIであるdocomoの音声認識APIというものを見つけました。dev.smt.docomo.ne.jp 今回はこのdocomo音声認識APIの登録からMacOSでのpythonを使った簡単なサンプルまでを紹介し…

【ESP32】OLEDモジュール(M096P4BL)を使ってみる

ご無沙汰しております。最近ネタがなくてブログの更新をサボっていました。が、ESP32でOLEDモジュールを使うというネタができたので残しておきます。 1:材料 今回使ったOLEDは以下のものです。多色表示できるものもあるみたいですが、自分は青色単色のもの…

【ESP32】設定管理ライブラリ(不揮発性領域の書き込みと読み込み)について

今回はタイトルにある通り「ESP32での不揮発性領域」についてです。ESP32で電源を切っても保存される領域の利用方法について調べてみると、jsonファイルだったりをアップロードして云々とある方法が多かったのですが、簡単にできる方法を紹介している記事を…

【ESP32】analogReadにおいての注意点2

前回の記事に続いてのanalogReadについての注意点です。 analogReadをしていて色々と問題が発生したので記録しておきます。 ・analogReadをする近くのピンで細かな信号を読み取らない analogReadを行う際に、チップでの処理の影響なのかすぐ横のピンで細かな…

【ESP32】マルチタスク中でμs単位でdelayをかける

rikoubou.hatenablog.com ↑以前ESP32で赤外線の送受信を行うプログラムを紹介しました。 このプログラムの中で「ESP32にdelayMicrosecondsがない」としてシステム時間の計算をして擬似的にμsのdelayを行なっていました。しかし最近色々調べてみると、実はESP…

【ESP32】Wifi接続時のanalogReadについて

最近特にネタがなかったのでブログを更新していませんでしたが、タイトルにあるような状況で色々と問題に出くわしたので残しておきます。 1:Wifi接続時にanalogReadをできないピンが存在する 今回出くわした問題は「Wifi接続時にanalogReadできないピンが…

【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 = …