t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

Python

PCケースの3.5インチベイに液晶ディスプレイを組込んでみた

サーバー機の3.5インチフロントベイが余っているので液晶ディスプレイを組み込んでみた。 横長のディスプレイを探したのだがちょうど良いサイズのものは製造されてなさそうなので以下を3つ並べている。waves 0.96インチ IPS 液晶ディスプレイ SPI 80x160ピク…

Python・数学・Bing AIでそれぞれSatisfactoryの代替レシピガチャの確率を求めてみた。

今回は私が遊んでいるゲーム Satisfactoryのなかのガチャ要素で狙ったものを引きあてる確率を求めてみた。Satisfactoryは異星に工場を発展させていく生産シミュレーション系のゲームである。 詳しくは以下の記事で紹介しているので気になる方はチェックして…

GUI開発が面倒ならCUIで作れば良いという気付き~Pythonリマインダー管理用コマンドツールを作成

今回は、以前作成したリマインダーシステムの管理ツールを作成した話。 thom.hateblo.jpあれからリマインダーシステムはますます重要度を増し、周期的な作業も含めると既に40近くのTo Doが登録されている。 最初のうちは手修正で良かったが、これだけ数が増…

Pythonリマインダーに「今やる」通知と「そろそろやる」通知をアイコンで区別する仕組みを導入

今回はこちらの2記事の続き。 thom.hateblo.jp thom.hateblo.jpPythonリマインダーを実際に運用し始めてからすこぶる便利に使っているんだけど、そのうちやる案件だけじゃなくて、単純に時間になったら取り組まないといけない案件もコレで管理を始めた。どん…

pythonリマインダーにエラーハンドリングを追加

昨日紹介したpythonリマインダーについて、エラ―処理を追加したのでご紹介。 thom.hateblo.jp元のコードがファイル名の日付書式に頼ってリマインドを実行する都合上、ファイル名の入力ミスで正しく日付を読み取れないとpythonエラーにより処理を停止してしま…

pythonでWindows通知を使ったリマインダーの仕組みを作る

いつかやりたいことをまとめたリストをWishリストと呼ぶらしい。 作っただけでは忘れ去ってしまうので今回はWishリストのリマインダーシステムを作りたい。いつこれをするという確定したスケジュールであればカレンダーに入れてしまえば良いんだけど、いつか…

オシロスコープの仕組みをProcessingのアニメーションで説明してみる

最近KENWOOD社製のアナログオシロスコープ CS-4135を手に入れた。 実はRIGOLの4ch デジタルオシロも持っているのだがイマイチ使いこなせずに埃をかぶっていた。 ちゃんと勉強しようと思ってなるべくわかりやすい入門書を探していたのだが、どうもデジタルオ…

Python Processingで写真を六角形に切り取って並べる

今回は写真を6角形に切り取って並べるPython Processingコードのメモ。出来上がりのイメージはこんな感じ。 上記はSatisfactoryというゲームで撮りためた風景スクリーンショットである。 このゲームは最近Update 6という大型パッチがリリースされたところで…

SymPyで三角関数のテイラー展開 ~ sin()の中身はどうなってるのか

前回desmosという数学ソフトのサンプルとしてテイラー展開を示したが、私にはよく分からないと書いた。 ただこれ、よく思い出してみると三角関数のsin()の実装がどうなっているのか気になって最近調べたサイトで見かけたことがある。 hackemdown.blogspot.co…

LEGO Mindstorm EV3 ライントレースボット P制御(比例制御)をやってみた

今回はライントレースボットのP制御をやってみた。 最終的にやりたいPID制御のうち、Pの部分である。このPはPropotional(比例しているという意味)の略である。ライントレースボットの場合はカラーセンサーで反射値を読み取るので、その値が目標値から遠いほ…

数学やるならPython。なぜならSympyというチート級のツールがあるから。

今回はPythonのSympyについてご紹介。今日は有給休暇を取得して朝から微積の学習を始めた。ニュートン式 超図解 最強に面白い!! 微分積分ニュートンプレスAmazon別に高尚な趣味として数学をやってるわけではなく、電子工作やプログラミングなど趣味のモノづ…

Python Processing ベクトルの回転を使ったアニメーション(LEGO ライントレースボット研究の副産物)

今回は偶然の産物としてバネ状の軌跡を描くようなアニメーションが出来たのでご紹介。 もともとはLEGO Mindstorm EV3のライントレースボットで左右タイヤの回転比率によってカーブの軌跡がどう変わるかをProcessingでシミュレーションしたかったのだが、そち…

ProcessingのPythonモードで色相環を書き直してみた

Processingについて調べていると、こんな書籍を見つけた。Python版 つくって学ぶProcessingプログラミング入門作者:長名 優子,石畑 宏明,菊池 眞之コロナ社Amazonなんと、Pythonの文法でProcessingが使えるのか!?行きつけの書店の在庫をチェックすると「△…

M5Stackに登録するWifiの接続情報をコンパイル後にソースコードから削除するPythonツールを作成

今回はWifiの接続情報流出リスクを低減させるためにM5 Stackに書き込んだ後にファイルから削除する為のツールを作成した。最近我が家にCisco製品を導入したので、この機会に形だけじゃなくてちゃんとセキュリティを見直そうというのが発端である。さて、以前…

Python GUI: TkinterのPackレイアウトの仕組みを解説

前回はtkinterのpackレイアウトシミュレーターを作成した。 thom.hateblo.jp今回は折角なのでこのシミュレーターを使ってPackレイアウトの仕組みについて説明しようと思う。目次 まずはtkのコードから説明 コード 実行結果 ラベルを増やしてみる packのレイ…

Python GUI: tkinterのpackレイアウトシミュレーターを作成

Pythonの標準GUIツールとして有名なtkinterには、UIパーツをレイアウトするのに3種類の方法が用意されている。それぞれ使ったことがあるが、個人的には次のような評価である。 レイアウト名 方式 柔軟性 分かりやすさ Pack 詰め込み方式 〇 × Grid 碁盤目方…

Python tkinterで ゆっくり霊夢 を瞬きアニメーション

今回は、YouTubeの解説系動画でおなじみの ゆっくり霊夢 をPythonのtkinterを使って瞬きさせてみた。 作成の動機と経緯 元々は、ラズパイとかArduinoを駆使してデジタル秘書を作りたいというのが発端。 と言ってもそんなに技術はないので、出来上がったのは…

ラズパイ本番機でカロリー記録&運動時間記録システムの運用開始

しばらくRaspberry Piの開発機側で運用していたカロリー記録システムと合わせて、最近完成した運動時間記録システムをラズパイの本番機にデプロイした。 動作イメージ 以下の5つのプログラムが動作中。 体重記録だけはデーモン化してあるので表には出てない…

Python Pandasで週ごとの集計~週間運動時間グラフ表示

前回は摂取カロリー記録に使用しているM5 Stackに運動時間を入力する仕組みを追加した。 thom.hateblo.jp入力されたデータをWifiでラズパイに飛ばして記録するところまでは完成している。今回は記録した運動時間をmatplotlibでグラフ化して表示させる部分を…

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

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

Python: CSVデータをpandasで加工してmatplotlibでグラフ化する

今回もカロリー記録システムの開発記録である。 実は本日2本目の記事となる。なんとなく筆が乗ったというか、vimが乗ったというか、一気に開発を進めてしまった。前回はカロリーをグラフ表示させるためのmatplotlib出力部分を作った。 thom.hateblo.jp今回は…

Python matplotlib で朝昼晩の食事カロリーをグラフ表示

今回も摂取カロリー記録システム開発の続き。 表示部分をmatplotlibというPythonのグラフライブラリを使って作っていく。 動作イメージ 実際の動作イメージはこんな感じ。 積み上げ棒グラフで、下段から朝食、昼食、夕食の順にカロリーを表示させる。 斜線が…

ラズパイでソケット通信で受信したデータをCSVに書き込むPythonプログラム

今回も最近作り始めたカロリー記録システムの進捗紹介。前回はM5 Stack Basicからラズパイにデータを送って画面表示するところまで作成した。 thom.hateblo.jp今回はCSVにデータをOutputするところまで作成。地味ぃ。。本当にやりたいのはMatplotlibでグラフ…

PythonでGUI版 筋トレメトロノームを作成 その2

前回は筋トレ用メトロノームをGUI化した。 thom.hateblo.jpなるべく紹介済の機能に絞って書いたのでコードがとても冗長だ。 前回GUIパーツをそれぞれ変数に入れて扱っていたため、今回はPythonのデータ型(リスト、タプル、ディクショナリ)を使ってもう少しス…

Pythonで筋トレ用メトロノームを作成

前回の記事ではPythonでGUIを体験するプログラムを紹介した。今回はPythonで筋トレ用メトロノームを作成。 音がメインなので、GUIは作らないが、CUIでも十分実用的なプログラムが作れるということで紹介。 学習モチベーションUpに繋がると嬉しい。 実行イメ…

VBA経験者向け、Python入門用 GUIサンプル

今回は、ちょっとPythonを触ってみたいVBA経験者に向けて、簡単なGUIサンプルを紹介する。 Excel VBAではマクロの実行結果がシートに反映されるので、ある意味それ自体がGUIプログラミングと言えるが、殆どの言語では黒い画面に"Hello, World!"から入門する…

Python Tkinterで画面遷移

前回作成したPythonのルーチン読み上げツールだが、GUIメニューを作ってそこから起動するような形にしてみた。 thom.hateblo.jp動機は、将来的にツールを増やしていく場合、Bashスクリプトのダブルクリックで起動するのが面倒だから。机に立てかけたタッチス…

Pythonでルーチン読み上げツールを作ってみた

最近Pythonをかじりだした理由として、Rapsberry Piで使う目的で日常ルーチンを読み上げてくれるツールを作ったことがきっかけ。※読み上げといってもテキスト合成ではなくて、単にwavファイルに入れておいた音声を再生するだけです。 タイトルでがっかりさせ…

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