プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

2021-01-01から1年間の記事一覧

Arduinoでロータリーエンコーダを使ってみた

ロータリーエンコーダなるものを試してみた Arduinoでロータリーエンコーダを使ってみた。 pic.twitter.com/j7kxPiki4U— とりてん (@s51517765) 2021年12月25日 ロータリーエンコーダとは回転数や角度、回転速度等を電気信号を用いて測定できるものです。 オ…

2021年 買ってよかったもの、そうでもなかったもの

買ってよかったもの ・Anker Soundcore Life A2 NC(ワイヤレス イヤホン Bluetooth 対応) Anker Soundcore Life A2 NC(ワイヤレス イヤホン Bluetooth 対応)【完全ワイヤレスイヤホン / Bluetooth5.0対応 / ウルトラノイズキャンセリング / 外音取り込み…

既存のローカルリポジトリをリモートにバックアップする

Git

既存のローカルリポジトリにリモートリポジトリを追加しようとするとコンフリクトする リモートリポジトリが最初にあって、空の状態のリモートリポジトリをローカルにクローンしてくると間違いにくいのですが、逆にしたいこともよくあります。 もともと想定…

ラズパイのネットワーク瞬断を防止する

なぜかラズパイへのSSH接続が不定期に切断する 通常、ラズパイを用いた開発ではSSHでWindows PCからアクセスしてるのですが、ルーターを変えてからSSHが不定期に強制切断されてTeraTermが落ちる、ということが続いています。 ネットワークが切れているだけで…

ビュートローバーARMを組込み視点で考える

もっと組込みプログラミング的なことをやりたい 前回はビュートローバーARMに対してサンプルコードの修正で簡単な改造をしました。 s51517765.hatenadiary.jp実はサンプルコードはある程度 分かりやすい 関数で組まれていて、その本質のところに触れていませ…

ビュートローバーARMでモーター制御

ARMでモーター制御 以前ARMに入門しましたがもう少し進めてみました。 s51517765.hatenadiary.jpビュートローバーにはモータが2つついていて、前進後進のほかに転回もできるようになっています。 また、ライントレーサーとしてのプログラミングもできるよう…

快適な入力インターフェース機器を求めてHyperXのキーボードとLogicoolのマウスを買いました

ゲーミングキーボードを使い始めたら思っていた以上に快適でした いままで、PCに付属のキーボードやマウスしか使ったことなかったのですが最近家で仕事をすることも増えているので文字を打つことに漠然とした不満がありました。 世の中的にもゲーミングキー…

ラズパイでアナログ入力を使う

ラズパイはアナログ入力がない アナログ入力とはGPIOで電圧値を0~1023(10bit)や0~4096(12bit)といった値で受け取る機能です。 これに対してHigh or Lowまたは1 or 0という2値をとるのをデジタル入力といいます。 ArduinoやESP32ではこのどちらも使うことが出…

ビュートローバーでARM CortexM3入門

ビュートローバーで組込みプログラミング入門 www.vstone.co.jp プログラミング教育用ロボット ビュートローバー ARM [学習教材] [vstone] (キット本体)ヴイストンAmazonビュートローバーというキットがメルカリで安く出ていたので入手してARMに入門しました…

ラズパイにホスト名でアクセスする

ラズパイ4にアクセスしているつもりがラズパイ3にアクセスしていた 我が家では主にTwitter Botを動かすラズパイ3B、室温環境測定をするラズパイ3B+、新規技術を試すラズパイ4B、ゼロで試したいとき用のラズパイゼロがあります。 手元で、センサーを接続して…

秋月電子の006P安定化電源モジュールキットを組み立てた

電池から5Vや3.3Vが取れたら便利だと思った ラズパイやArduinoのデバッグをするときに、5Vや3.3Vの電源があると便利です。 外部電源としてトランジスタのコレクタに入れたり、degitalRead()に5Vや3.3Vを入れることで動作確認をしたりするのに使います。 USB…

XY座標上で四角形を構成する頂点が右回りか左回りか?

4頂点を左回りに並べ替える C#で台形補正を以前作ったのですが、このアルゴリズムでは頂点を左上から左回りに並べる必要があります。 s51517765.hatenadiary.jpつまり、XY座標上で4つの頂点により形成される交差しない4つの線分による四角形があるとして、こ…

Vectorでアプリを公開する

Vectorはアマチュアがアプリを公開するのに最も重要なプラットフォーム(個人の感想です) Vectorはアマチュアのアプリ(ソフトウェア)開発者が最も広くユーザーにリーチできるプラットフォームではないでしょうか。 ソフトウェア開発者にとってはオープン…

PythonでGoogleスプレッドシートに書き込む

スプレッドシートにLogを書き込むと便利 スプレッドシートとはGoogleアカウントで無料で使える表計算シートですが、これをPythonなどでデータの収集に使えます。 以前、お薬記録にも使っています。 s51517765.hatenadiary.jpM5StackではCでhttp requestでし…

秋葉原に行ってきた

多分初めて日比谷線で秋葉原来た。 pic.twitter.com/laGFGGvvBu— とりてん (@s51517765) 2021年9月8日 有給をとって秋葉原に行ってきました。 秋葉原は多分一年以上ぶりです。 また、これまでは定期が京浜東北線経由だったのでそちらを使うことが普通でした…

C# dataGridViewとキャストと型変換のあれこれ

C#

いろいろはまった C#においてExcellのように扱えるオブジェクトdataGridViewですが、扱いにはクセがあります(仕様であり個人の感想でしかなく、仕様嫁)。 セルの値を数値解釈(変換)できるかどうか セルに値を入力したときは基本的に文字列として受け取り…

ハンドスピナーの回転数を測定する

ハンドスピナーの回転数をM5Stackで測ってみた ハンドスピナーとは、上図のように複数の羽をもったもので、回転させて楽しむおもちゃです。 手遊びするフィジェット(fidget)の一つですが、性能のいいものや上手い人ならより高速により長く回転させることが出…

動画の顔を置き換えるやつやってみた

Python & OpenCVでやってみました OpenCVでカメラ画像を取り込み、顔検出してその場所と大きさに調整して他の画像を載せた動画を作ります。 基本的なところは下の参考サイト組み合わせです。まず、動画画像から顔を抽出するには、OpenCVで行います。 GitHub…

テキストファイルの文字コードを判別する

文字コードを正しく判別しないと文字化けする C#でテキストファイル(.txt)からテキストを読み込むときに文字コードを正しく判別できないことによって文字化けすることがあります。 多くのテキストファイルはBOM(Byte Order Mark)という、先頭の数Byteに文…

C#で画像の台形補正をする

C#

射影変換と言うらしいです デジカメやスマホで、ブログ用の写真を撮っているときに、ライティングの映り込みなどを気にして斜めに写真をとると被写体が台形にひずみます。 これを補正するのを台形補正とか射影変換といいます。 C#でもOpenCVで実装されている…

C#で隠しコマンドを作る

C#

FormでKeybordからの入力を受け取りたい KeyDown(またはKeyUp、KeyPresでも可)イベントを使うと、例えば「Ctrl」+「s」のようなキー入力コマンドを受け取ることが出来ます。 これをうまく使うと隠しコマンドのようなものを作ることが出来ます。 これが何が…

Twitterのアクセストークンとは何なのか?

C#

Twitterクライアントアプリを作って公開したい C#のTwitterモジュールであるCoreTweetを例にサンプルコードを示します。以下がよくあるTokenを取得してTweetするまでのサンプルコードです。 API key、API secret、Access token、Access token secretをTwitte…

ラズパイで計測した環境値をWebで見られるようにする

ラズパイで温湿度・気圧を測定していました s51517765.hatenadiary.jp s51517765.hatenadiary.jp s51517765.hatenadiary.jp昨年、やりかけたのですが放置していたのでグラフ表示を完成させました。ちなみに、エアコン制御は妻がSwitchBotを導入したようで、…

Windows10でファイルの検索をする

Windows10のファイル(全文)検索は??? 絶対該当ファイルがあるはずなのに見つからない、ということが多くあります。 ファイル検索は、エクスプローラの右上の「ここ」からやりますよね。 あらかじめインデックスを作成しておけばできるらしいですが、インデ…

Pythonでファイル・フォルダ構造を出力する

Windowsの検索が使いにくい Windowsにはファイル検索Boxがありますが、挙動が期待と違うことが多くあります。 自動的に検索範囲が制限されているのが原因らしいです。 www.pasoble.jpそこでファイル・フォルダ構造をすべて出力するスクリプトを作ってみまし…

ラズパイとSambaでNASを構築する

ラズパイでNASを構築しました。 家で複数のPCを使っていると、あっちのPCのあのデータが…、ということがたまにあります。 ネットワーク対応のハードディスク(NAS)を買って、とかも少し考えましたがヘビーに使うわけではないので小さなNASをラズパイで構築…

VirtualBoxを修復した

何もしてないのに壊れたw VirtualBoxのUbuntuを使っていたのですが、突然Login出来なくなりました。 VirtualBoxとVagrantを再インストールしてみたのですがだめで、しかし、 Ubuntu自体は立ち上がっているので、Vagrantの設定が壊れたと解釈し、新しいBoxを…

HerokuにPythonでサーバーを構築する

Herokuでアプリを動かしてみたい PythonにはFlaskという使いやすいサーバーモジュールがあります。 これを用いてサーバーを構築してみたいと思いました。 ラズパイなどで構築する方法もありますが、(家の)外部からのアクセスを考えるとサーバーレスのほう…

Flaskで学ぶPythonのErrorの読みかた

Errorを読めない人は読んでないだけ Errorの内容って読めない人はいつまでも読めないんですよね。 togetter.com一方で、Errorの読み方というのを上手く説明しているWebも見つからなくて最初は私も苦労しました。 そこで、最近必要あってPythonのFlaskというW…

M5Stack Basicのバッテリーが壊れた

フリマアプリで買ったM5Stackのバッテリーが壊れました もとから興味はあったM5Stackですがelchikaのキャンペーンでもらって、その面白さにはまりボタンが3つあるBasicを追加購入しました。 某フリマアプリで3000円でBasic(ほぼ未使用)を購入したのですが …