とある科学の備忘録

とある科学の備忘録

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

Arduino

【Arduino&Pmod NAV】地磁気センサからヨー軸算出

前書き 加速度センサとジャイロセンサを使って姿勢角を算出するのは、以前に複数個の記事で行っています。 shizenkarasuzon.hatenablog.com shizenkarasuzon.hatenablog.com ですが、今回は地磁気センサを使って姿勢角(ヨー角のみ)を算出してみようと思い…

【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.)は、別の記事に書いていく…

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

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

【Arduino】アナログ出力(PWM)とは?

アナログ出力でできること 前回、LEDを点滅させるプログラムを書きました。 shizenkarasuzon.hatenablog.com しかし、このプログラムは、明かりを点けるか消すかのどちらかしかできないという制約がありました。 明るさを調節する機能が欲しいところです。こ…

【Arduino】Arduinoとは?

1. Arduino ってなんぞや? Arduinoのピンについて 14 本のデジタル10 ピン( pin 0 ~ 13) 6 本のアナログIN ピン(pin 0 ~ 5) 6 本のアナログOUT ピン(pin 3. 5.6.9. 10. 11) その他:電源ピン Arduinoの電源について 1.USBを使う 2.ACアダプタを使う 3.Vin端…

【Arduino】 Arduino とラジコンのコントローラー(プロポ)を接続する

この記事では、Arduino とラジコンコントローラー(プロポともいう)を接続する方法を紹介します。 1.この記事の内容 2.配線 3.スケッチ 4.実行 STEP1. Arduinoを電源ON STEP2. プロポ(送信機)を電源ON STEP3. シリアルモニタで確認 5.参考文献 1.この記事…

【Arduino】Arduino と python でシリアル通信

Pythonには、pyserialというシリアル通信専用のライブラリがあります。 Welcome to pySerial’s documentation — pySerial 3.0 documentation この記事では、そのpyserialというライブラリを使って、Arduino UNO と PC(Pythonを使用)をシリアル通信してみた…

【Arduino】シリアル通信で複数のデータを送受信する 第2段!(精度向上!?)

前回の記事で、このような内容を書きました。shizenkarasuzon.hatenablog.comこの記事では、二台のArduino間で複数のデータをやり取りするプログラムをアップしましたが、こっちの方が精度が良さそうなので、再アップです。 1.プログラムの内容 2.実験してみ…

【Arduino】シリアル通信の方法

Arduino には、Serial というシリアル通信用のライブラリが入っています。そのライブラリを使ってPC - Arduino や、Arduino - Arduino 間でシリアル通信を使ってデータを送受信することができます。 1.それぞれの関数 begin() print() println() write() aba…

【Arduino】SoftwareSerial を使って、複数のデバイスとシリアル通信を行う

SoftwareSerial とは? プログラムの書き方 (1)ライブラリのインクルード (2)通信用ピンの設定 (3)シリアル通信のポートを切り替える 2.サンプルプログラム 配線 プログラム 送信機 実行結果 SoftwareSerial とは? 通常、シリアル通信に使われるピン…

【Brushless motor】DX2205 プロペラを付けて揚力テスト

前回の記事で、ブラシレスモーターDX2205をArduinoを使って制御する方法を紹介しました。前回の記事: shizenkarasuzon.hatenablog.com 今回は、その記事の続きで、ブラシレスモーターにプロペラを付けて推力を図ってみたいと思います。 0.実験環境 (1)ブ…

【Arduino】ブラシレスモーターが回ってモーター...

タイトルからふざけてますね。はい。 とりあえず、ブラシレスモーター「DX2205」をArduinoを使って制御することに成功したので、その方法を書いていきます。 1.目標 2.部品説明 (1)ブラシレスモーター「DX2205」 (2)ESC 3.ハードウェア (1)半田付け (…

【Arduino & PmodNAV】加速度とジャイロから、角度を算出するプログラム

前回の記事で、PmodNAVというセンサーを使用して、加速度やジャイロを測定するプログラムを公開しました。 shizenkarasuzon.hatenablog.com そこで、今回はそれらの加速度やジャイロのデータをもとにして、角度(センサーの傾き)を算出するプログラムを書き…

【Arduino】シリアル通信で複数のデータをやり取りする

Arduino同士、もしくはArduinoとPCの間で、複数のデータを送受信する方法(自己流)を紹介します。参考にしていただければ幸いです。 1.方法 2.サンプルプログラム シリアル通信で複数のデータを送受信する第二段 1.方法 データの種類が一つの場合 Serial.wr…

【近藤科学】近藤科学のサーボモータを Arduino でPWM制御する

訳あって、近藤科学のサーボモータ「KRS-2552RHV ICS」を Arduino からPWM制御をしてみたくなりました。 近藤科学のサーボモータは、初期設定では、ICSという近藤科学独自の通信方法を使って制御されているので、それをPWM制御に変える必要がありました。 1.…

【Arduino & Processing】PmodNAVのセンサーのデータを表示する。

前回は、PmodNAVとArduinoを接続して、センサーからもらった加速度などのデータをArduino IDEに付属の「シリアルモニタ」に表示するというところまで行いました。前回の記事は、こちらです。 shizenkarasuzon.hatenablog.comちなみに、PmodNAVとは、 加速度…

【Arduino】Arduino Due を使ってみた。

Arduinoには多くの種類がありますが、その中でも最も使用されているのは、「Arduino UNO」だと思います。 ですが、この記事では少しマイナーな Arduino Due の使用までの流れを書いてみました。 最後にはLED点滅までやってみます。Aarduino Due は、こんなボ…

【Arduino】PCA9685でサーボモーターを動かす

PCA9685を使うと、多くのサーボモーターを同時制御することができます。 これが、PCA9685です。 1.ハードウェア PCA9685と、ArduinoをI2Cという規格で通信して、サーボモータを動かしてみます。 実際に組み立てると、このようになります。 2.ソフトウェア #i…

【Arduino】PmodNAVをつかって加速度などを読み取る

この章では、PmodNAVというセンサーを使います。それがこちらです。このPmodNavは、加速度、ジャイロ、方向(magnetic field)、気圧センサーが一つになっているモジュールです。 ArduinoとはSPI通信を行い、それぞれのセンサーのデータを送ります。そして、…

【Arduino】2台のAruduinoをシリアル通信させる

タイトルの通りです。Arduino同士をシリアル通信します。 1. ハードウェア 2. ソフトウェア 送信側: 受信側: 3. 実行結果 4. 書き込みの時の注意 1. ハードウェア 次の図のような回路を組みます。下の図の2本の配線はシリアル通信用なので、Arduinoが電源…

【Arduino】ジョイスティックを使う

Arduinoで2軸ジョイスティックのバーの傾きを検出してみました。 1. ハードウェア 2. ソフトウェア 3. 実行結果: 1. ハードウェア ジョイスティックとは、こんな部品です。 ゲームのリモコンなどに使われているあれです。この章では、ジョイスティックをArd…

【Arduino】PC と Arduino でシリアル通信

パソコンとArduinoを通信させます。通信方法は「シリアル通信」といって、RXとTXの2ピンを使ってデータのやり取りを行います。仕組みはとても複雑なのですが、それを理解していなくても、専用の「Serial」ライブラリを使うと、簡単にシリアル通信ができます…

【Arduino】LED点滅(Lチカ)

まずは、Lチカですね。LEDは13ピンとGNDの間に入れました。 1. ハードウェア 2. プログラム ※解説 3. 実行結果 1. ハードウェア Arduinoには、ボード上に一つ、LEDが埋め込まれています。そして、そのLEDは13ピンとつながっているので、何も接続しなくても、…