とある科学の備忘録

とある科学の備忘録

CやPythonのプログラミング、Arduino等を使った電子工作をメインに書いています。また、木製CNCやドローンの自作製作記も更新中です。たまに機械学習とかもやってます。

【Raspberry Pi】MPU-6050を使って姿勢角算出(C言語編)

この記事の内容 ハードウェア プログラム 実行方法 実行結果 姿勢角の算出方法 この記事の内容 前回、MPU-6050を使って加速度とジャイロの計測データを取得して、それをディスプレイに表示しました。 shizenkarasuzon.hatenablog.com今回は、そうして得られ…

【Raspberry Pi】MPU-6050から加速度とジャイロと気温データを取得(C言語編)

shizenkarasuzon.hatenablog.com↑の記事のRaspberry Piバージョンです。 ハードウェア 下準備(raspy-config) I2Cデバイスの設定 I2Cの動作確認 WiringPiのインストール プログラム 実行方法 実行結果 解説 MPU-6050について I2Cデバイスの使い方 下準備 接…

【Raspberry Pi】MPU-6050を使って姿勢角算出(Python編)

この記事の内容 ハードウェア プログラム 実行結果 姿勢角の算出方法 この記事の内容 前回、MPU-6050を使って加速度とジャイロの計測データを取得して、それをディスプレイに表示しました。 shizenkarasuzon.hatenablog.com今回は、そうして得られた値から姿…

【Raspberry pi】WiringPiを使ってC言語でGPIO操作

少し前に、Python言語でRaspberry piのGPIO操作をする方法を紹介しました。 shizenkarasuzon.hatenablog.comしかし今回はC言語を使ってLチカを行います!! GPIO用ライブラリ RPi.GPIO WiringPi pigpio WiringPiのインストール A.pipを使う B. apt-getを使う…

【Raspberry Pi】MPU-6050から加速度とジャイロと気温データを取得(Python編)

shizenkarasuzon.hatenablog.com↑の記事のRaspberry Piバージョンです。 ハードウェア 下準備(raspy-config) I2Cの動作確認 プログラム 実行結果 解説 MPU-6050について I2Cデバイスの使い方 下準備 接続 データの受信 データを送信 この記事では、MPU6050…

Raspberry Pi と Arduino をUSBシリアル通信(第一弾)

今回は、Raspberry PiとArduinoのコンビです。 シリアル通信を使って、相互にデータのやり取りをしてみます。 ハードウェア Raspberry Pi→Arduino プログラム 動作結果 Arduino→Raspberry Pi プログラム 動作結果 解説 ポートを開く データを受け取る データ…

【Raspberry pi】ブラシレスモーターが回ってモーター(第二段)

...タイトルからふざけてますな。はい。 ということで、Raspberry Piを使ってブラシレスモーター「BR1806(↓写真)」を制御してみました。 下準備 pigpioのデーモン起動 プログラム 配線 補足:ESCについて 半田付け 実行結果 解説 pigpioを使ったPWMパルス…

【Raspberry pi】サーボモータをPWM制御する

Raspberry pi 3 model Bを使って、マイクロサーボモータ「SG90」を制御します。 配線 上のように配線してください。 サーボモータからは3本線が出ていますが、各線の役割は以下の通りです。 コード色 役割 黒線 GND(0V) 赤線 電源+(5V) オレンジ(黄色)…

【Raspberry pi】PWM出力でLEDの明るさを制御する

前回の記事はLEDの点滅課題(通称「Lチカ」)を行ったので、今回は少しレベルを上げてアナログ制御に挑戦してみます。尚、ラズベリーパイのセットアップが終わっていなかったり、Pythonファイルの実行方法が分からない、という人はこちらの記事から読まれる…

【Raspberry pi】ラズパイでLED点滅

前回、ラズベリーパイの起動試験を行いました。shizenkarasuzon.hatenablog.com今回は、Raspberry pi 3 Model Bを使って、LEDの点滅(通称、Lチカ)を行ってみたいと思います。 ライブラリをインストール 配線 環境作成 プログラム 実行 解説 GPIOピンの使い…

【Python】PygameでBGMの再生

Pygameを使うと、簡単に音楽ファイルを再生することができます。 プログラム1 実行結果 解説1 再生: 一時停止→再開 再生終了 フェードアウト 音量設定 プログラム2 実行結果 参考文献 プログラム1 音声を再生するだけのプログラムです。 import pygame def …

【現代制御】状態方程式と立式の仕方

現代制御と古典制御 A. 古典制御 B. 現代制御 まとめ 現代制御の例1 現代制御の例2 参考文献 この記事では基本的に、小文字はベクトル、大文字は行列です。ボールド体は用いていません。 現代制御と古典制御 まず、古典制御と現代制御の違いについて考えてみ…

【Python】Pygameでボタン作成

Pygameには、ボタンオブジェクトがありません。 なので、長方形を描画するときに使うRectオブジェクトを利用して、ボタンもどきを作成してみました。 サンプルプログラム from pygame.locals import * import pygame import sys def main(): pygame.init() #…

【Python】Pygameで画像を描画

今回は、Pygameを使って画像を描画するプログラムを書いてみました。 サンプルプログラム 実行結果 解説 対応フォーマット(拡張子) 概要 特定の色を透明化する 画像を拡大・縮小する サンプルプログラム from pygame.locals import * import pygame import…

【Python】STLファイルを作成・保存する(numpy-stl)

stlファイルとは、3Dオブジェクトを保存ファイルで、メッシュ形式で保存できます。 Pythonで3Dモデルを作成し、STLファイルに変換して保存する方法です。 STLファイルとは ライブラリのインストール プログラム 実行結果: 解説 物体を回転 STLファイルと…

【Python】Pygameの使い方(記事一覧 まとめ編)

このブログにアップしているPygameに関する記事の一覧です。【Python】Pygameでゲーム制作NO.1 ウィンドウ作成まで - とある科学の備忘録【Pygame】Pygameでテキストを描画する - とある科学の備忘録【Python】Pygameで図形を描画する - とある科学の備忘録…

【Arduino 】MPU-6050を使って姿勢角を算出 (MadgwickFilterを使用)

この記事の内容 ライブラリのインストール Madgwickフィルターの実装 (1)ライブラリを読み込む (2)計算処理を実行 (3)姿勢角の値を取得 プログラム全文 回路図 結果: 参考文献 この記事の内容 前回、MPU-6050を使ってピッチ角とロール角の値を求めま…

【Arduino】MPU-6050を使って姿勢角を算出 (フィルターなし)

前回、MPU-6050を使って角速度と加速度のデータを取得するプログラムを書きました。 shizenkarasuzon.hatenablog.com今回は、それを使って姿勢角を求めたいと思います。 1.方法 実行環境 実行結果 プログラム(全文) 1.方法 姿勢角には、Pitch(ピッチ)、R…

【Processing】Arduinoで受信したMPU-6050の測定値の可視化

この記事の内容 プログラム 実行結果 この記事の内容 前回、MPU-6050を使って加速度と角速度のデータを取得する方法を紹介しました。shizenkarasuzon.hatenablog.com今回は、このようにして取得したデータをProcessingを使ってグラフ化してみます。 プログラ…

【Arduino】MPU6050とI2C通信して、加速度とジャイロのデータを取得

題名の通り、今回から6軸センサーの「MPU-6050」を使用していきます。この記事では、MPU6050から加速度とジャイロの計測データを取得して、それをシリアルモニターに表示するところまでを行います。 それ以降の内容(角度算出etc.)は、別の記事に書いていく…

FFmpegのダウンロード・インストール方法

1.FFmpegとは 2.ダウンロード 3.インストール 使い方 1.FFmpegとは FFmpegとは、動画と音声を記録・変換・再生するためのフリーソフトウェアで、様々なフォーマットに対応しています。FFmpeg 2.ダウンロード Builds - Zeranoe FFmpeg 下記リンクに飛んで、…

【Python】Pygame キーボード入力のイベント操作

前回は、マウスイベントについて説明したので、今回はキーボードについてみていきます。 shizenkarasuzon.hatenablog.com サンプルプログラム 実行結果 解説 サンプルプログラム from pygame.locals import * import pygame import sys pygame.init() # Pyga…

【Python】Pygame イベントハンドラを使ってマウスイベントを作成

Pygameで作ったアプリケーションに、マウス入力を加えてみます。マウスでクリックした場所を取得し、それをprintするプログラムです。 1.サンプルプログラム 2.実行結果 解説 マウスイベントの種類 マウスのボタン番号 参考文献: 1.サンプルプログラム # -*…

【Python】自己組織化マップ(SOM)の説明とPythonコード

SOMとは この記事で紹介するサンプル アルゴリズム サンプルプログラム 実行結果 参考文献 SOMとは 自己組織化マップ(SOP、Self-organizing maps) はフィンランドの研究者,T. Kohonenが発明したニューラルネットの一種です。SOMは教師なし学習を行い、高…

【Python】youtube-dlを使ってYoutubeの動画をダウンロード(mp4, mp3)(Pytube不使用)

前書き この記事の内容 1.インストール 2.cmdからダウンロード(mp4の動画) 3.cmdからダウンロード(mp3の音声) 4.Pythonスクリプトでダウンロード(動画) 4.Pythonスクリプトでダウンロード(音声) 追記(問題と解決策) 参考文献 前書き 前回、PyTubeを…

【Python】PyTubeでYouTubeから動画を無料ダウンロード

さすがPythonです。YouTube動画をPythonを使ってダウンロードする方法です。 インストール サンプルプログラム 実行結果 エラーについて インストール PyTubeをダウンロードします。 以下の一行をコマンドプロンプトでダウンロードしてください。 pip instal…

【Python】Tkinker第5回 ウィジェットを使用してマウスイベントを作成

Tkinkerは、Pythonでインターフェースを作成するツールキットの1つです。今回は、Tkinkerで作ったアプリケーションに、マウス入力を加えてみます。マウスでクリックした場所を取得し、それをprintするプログラムです。 1.サンプルプログラム 2.実行結果 3.解…

【Python】MatplotlibだけでグラフをGIFアニメーションにして保存

内容 プログラム プログラムの中身 imagemagickのエラーについて 内容 今回は、PILとMatplotlibを用いて、次のようなGIFアニメーションを作ってみます。 matplotlibのArtistAnimationを使う方法 それぞれ紹介していきます。 プログラム まず、matplotlibのAr…

【Python】グラフをGIFアニメで保存(PIL&Matplotlib)(imagemagick未使用!)

内容 PILのインストール プログラム 実行結果: 内容 前回、imagemagickというwriterを使って、GIFアニメーションを作成する方法を紹介しました。 shizenkarasuzon.hatenablog.com ですが、通常のPCにはimagemagickは入っていないため、わざわざインストール…

【Arduino】Arduinoでサーボモーターを制御する

Arduinoを使ってDCサーボモータを動かしてみます。 1.サーボモーターとは 2.回路図 3.サンプルプログラム 4.実行結果 5.解説 STEP1.初期設定 STEP2.回転 1.サーボモーターとは ※「サーボモータ」には「ACサーボモータ」と「DCサーボモータ」がありますが、 …