HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2022/01/12

Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用 Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用

(ラズパイで手軽に震度を計測できる きじのしっぽさん製作の PiDASを Raspberry Piに移植してみた)

Tags: [Raspberry Pi], [電子工作]




● Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用

 ラズパイで手軽に震度を計測できる きじのしっぽさん製作の PiDASを Raspberry Piに移植してみた。

Raspberry Piで手軽に震度を計測しよう! - きじのしっぽ - BOOTH

 オリジナルソース一式(Raspberry Pi Pico、MicroPython言語)
PiDAS (Pinpoint Detection and Alarm System) のソースコード

 面白そうなので動かしてみようと思いましたが、私は Raspberry Pi Picoを持っていません。
 ならばソースコードが公開されているので移植だ!と言う事で通常の Raspberry Piの Python言語で動く様に「なんちゃって」移植を行ないました。

 ちなみに先日 ESP8266/ ESP32で MicroPythonを動かしてみたのはこれの伏線でもあったりします。

2021/12/05
ESP8266で Python言語 MicroPythonを動かす方法
ESP8266で Python言語 MicroPythonを動かす方法

  Windows 10の WSL環境で ESP8266で Python言語 MicroPythonを動かします

2021/12/05
ESP32で Python言語 MicroPythonを動かす方法
ESP32で Python言語 MicroPythonを動かす方法

  Windows 10の WSL環境で ESP32で Python言語 MicroPythonを動かします

●オリジナルの PiDASの構成

 Raspberry Pi Pico
 MicroPython言語

3軸加速度センサモジュール KXR94-2050
 [AE-KXR94-2050]
 KXR94-2050

 5.00V: 2.500V = 0G
 +-1.000V = 1G
 測定レンジ: +-2G

12bit 4ch ADコンバータ MCP3204-BI/P
 [MCP3204-BI/P]
 MCP3204

 Digital Output Code = VIN × 4096 / VREF
 ex.
 VREF = 5.0V VIN = 2.5V = 2.54096/5.0 = 2048
 VIN = 3.5V(+1G) = 3.54096/5.0 = 2867(+819)
 VIN = 4.5V(+1G) = 4.5*4096/5.0 = 3686(+1638)

 震度表示として LED 10個(緑 4個、黄色 2個、赤色 4個)

 ゼロ補正用スイッチ 1個(タクトスイッチ)

 元プログラムでは n * 1024 / 980で Galに変換しているが、1Gは上記の通り 819なので n * 819 / 980の間違いじゃないかな~と思う今日この頃
 (3.3V駆動の時も相対値なので同じ値)

 重力加速度 1G = 9.8m/sec^2
 1G = 980 Gal


● Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用

 オリジナルの PiDASは加速度にアナログ出力の物を使用して、更に別途 A/Dコンバータを用いて Raspberry Pi Picoに取り込んでいますが、効率が悪いと思ったので直接加速度の値を取り込める I2C接続の MPU-6050 6軸 加速度センサーを使用する様にしました。

 また、今回の改造では重力加速度の 1Gを 9.8m/sec^2ではなく
 1G = 980.665 Gal
 としました。

 なお、GPIO関係(ゼロ補正用スイッチ入力、LED出力)はダミーとなっています。必要に応じて修正してください。

FREE WING なんちゃって改造版 PiDAS (Pinpoint Detection and Alarm System)
 ラズパイで動く様にしました。
 使用センサ:I2C MPU-6050

 MPU-6050の Pythonモジュールは
https://github.com/m-rtijn/mpu6050
 を使用しました。(MIT License)

 Raspberry Piと MPU-6050の接続方法は下記の記事を参照してくだしあ。

2016/04/30
Raspberry Pi 3の GPIOに I2C通信方式のジャイロ+加速度の6軸センサー MPU-6050を接続する方法
Raspberry Pi 3の GPIOに I2C通信方式のジャイロ+加速度の6軸センサー MPU-6050を接続する方法

  ラズパイ3で I2Cの GY-521 MPU-6050 6軸センサーモジュール基板を使用する方法

今回購入


KKHMF GY-521 MPU-6050 三軸加速度計 ジャイロスコープ 6DOF モジュール
ASIN: B019664RAM

KKHMF 2個 MPU-6050 6DOF GY-521 MPU6050 3軸ジャイロスコープ + 加速度センサーモジュール Arduino用
ASIN: B081RHK82T

2個

Rasbee MPU6050 GY-521 3軸加速度センサージャイロスコープモジュール 6DOF 加速度センサージャイロセンサーモジュール MPU-6050
ASIN: B08R93XQG8

3個?

Ren He 5個セット MPU-6050 6DOF GY-521 3軸ジャイロスコープ 3軸加速度センサー モジュール 16bit ADコンバーター内蔵 IIC I2C Arduinoに対応
ASIN: B08Z3YPFH6

5個

 下記のコマンドを実行すれば PiDASが動きます。
# Enable I2C
sudo raspi-config nonint do_i2c 0

# Update
sudo apt-get update

# Install i2c-tools
sudo apt-get install -y i2c-tools

sudo apt-get install -y git

cd
git clone https://github.com/FREEWING-JP/PiDAS
cd PiDAS

# ModuleNotFoundError: No module named 'smbus'
sudo apt-get install python3-smbus

python3 main.py
pi@raspberrypi:~ $ cd PiDAS/
pi@raspberrypi:~/PiDAS $ python3 main.py
START
Gal: 0.0
Gal: 117.67322626350727
SIC: 5.08 ( 6 )
Gal: 0.0
Gal: 0.0
Gal: 0.0
Gal: 0.0
offset complete!!
Gal: 0.0
Gal: 0.0
Gal: 0.0
Gal: 0.0
Gal: 2.2084558413024364
SIC: 1.63 ( 2 )
Gal: 8.17165624281887
SIC: 2.76 ( 3 )
Gal: 37.252011153579
SIC: 4.08 ( 4 )
Gal: 159.87605720011197
SIC: 5.35 ( 6 )
Gal: 177.7918478913437
SIC: 5.44 ( 6 )
Gal: 128.48526056987734
SIC: 5.16 ( 6 )
Gal: 90.78479066655287
SIC: 4.86 ( 5 )

・Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用
Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用


Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用


Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用


Raspberry Piと加速度センサーを使って地震計を作る、PiDAS for Raspberry Pi、I2Cの MPU-6050使用




● MicroPythonから Pythonへの移植

ModuleNotFoundError: No module named 'machine'
from machine import Pin
↓
import RPi.GPIO as Pin
ModuleNotFoundError: No module named 'utime'
from utime import sleep, time
↓
import time


●加速度から震度の計算方法等の資料

震度のリアルタイム演算に用いられる近似フィルタの改良

計測震度の算出方法

●表1 気象庁震度階級表
震度階級計測震度
0.5未満
0.5以上1.5未満
1.5以上2.5未満
2.5以上3.5未満
3.5以上4.5未満
5弱4.5以上5.0未満
5強5.0以上5.5未満
6弱5.5以上6.0未満
6強6.0以上6.5未満
6.5以上
出典:気象庁ホームページ (https://www.data.jma.go.jp/svd/eqev/data/kyoshin/kaisetsu/calc_sindo.htm)
「表1 気象庁震度階級表」(気象庁ホームページより)



Tags: [Raspberry Pi], [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

FWinSdCardImager SDカード イメージ書き込みアプリ、ラズパイの Raspbian OS、Jetson Nanoの Ubuntuの書き込みに便利
FWinSdCardImager SDカード イメージ書き込みアプリ、ラズパイの Raspbian OS、Jetson Nanoの Ubuntuの書き込みに便利

  ラズパイや Jetson Nano等のワンボードマイコン等への OSイメージの書き込みが簡単にできる

FWinPiFinder ラズベリーパイ IPアドレス発見アプリ。ARPコマンドでラズパイの IPアドレスを探索発見する
FWinPiFinder ラズベリーパイ IPアドレス発見アプリ。ARPコマンドでラズパイの IPアドレスを探索発見する

  Raspberry Piや NVIDIA Jetson Nano等の IPアドレスを MACアドレスの OUI部分を使用して発見する

Raspberry Pi 3系のトラブルであるある第一位の電源トラブル、低電圧警報に関する情報のまとめ
Raspberry Pi 3系のトラブルであるある第一位の電源トラブル、低電圧警報に関する情報のまとめ

  ラズパイ3B系での低電圧警報に関する情報まとめ、コマンドラインやログファイルから低電圧を検知する方法

Raspberry Piで CPUの脆弱性 Spectreと Meltdownの脆弱性をチェックする方法
Raspberry Piで CPUの脆弱性 Spectreと Meltdownの脆弱性をチェックする方法

  ラズパイで 2018年初頭に大騒ぎになったスペクターとメルトダウンの CPUの脆弱性をチェックする方法

Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ

  ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ

Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ
Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ

  ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない

Raspberry Pi 3 Model Bに専用カメラモジュール RaspiCamを接続する方法
Raspberry Pi 3 Model Bに専用カメラモジュール RaspiCamを接続する方法

  ラズパイに専用カメラモジュールを接続して Raspbianで写真の静止画撮影や動画を録画する方法

Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ

  ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も

Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳
Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳

  ラズパイ公式フォーラムの「The Raspberry Pi 3 Model B Q&A thread」の日本語訳

Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法

  ラズパイ3の GPIO端子の I2C機能を有効にして各種センサーを繋げる方法まとめ

大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう

  Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ


Raspberry Pi 3、シングルボードコンピュータ ラズパイ3 Raspberry Pi関連はこちらへまとめました
 下記以外にも多数のラズパイ関係の記事が有ります。
 (I2C制御、GPIO制御、1-Wire制御、シリアル通信、日本語音声合成、日本語音声認識、中国語音声合成、MeCab 形態素解析エンジン、赤外線リモコン制御、秋月 I2C液晶モジュール、KeDei 3.5インチ液晶、HDMI 5インチ液晶、NFCカードリーダ、コマンドライン操作方法等)
Raspberry Pi 3に HDMI接続の 800x480 5インチ TFT液晶を接続して使用する方法
Raspberry Pi Raspbian Jessie 2017-07最終版で LIRCを使って学習リモコン、赤外線リモコンを送受信する方法
Raspberry Pi 3の WiFiを広告ブロック機能付きの無線LANアクセスポイント化 hostapd + dnsmasq編
Raspberry Pi 3の Bluetoothで ブルテザで通信する方法(Bluetooth編)
Raspberry Pi 3で日本語音声を合成して喋らせる方法(OpenJTalk編)
Raspberry Pi 3に USB Micを接続して日本語の音声認識をする方法(Julius編)
Raspberry Pi 3の GPIOに LEDとスイッチを接続して Lチカする方法
Raspberry Pi 3の GPIOに LEDとスイッチを接続してシャットダウンボタンを実装する方法
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
Raspberry Pi 3の GPIOに I2C通信方式の気圧計 BMP280を接続する方法
Raspberry Pi 3に I2C通信方式の NFCリーダライタ PN532を接続して NFC FeliCaカードを読む方法
Raspberry Pi 3でネットワーク ライブカメラを構築する方法 Motion編
Raspberry Pi 3でネットワーク ライブカメラを構築する方法 MJPG-streamer編
Raspberry Pi 3 Model Bで動画処理アプリ FFmpegをコンパイルする方法
Raspberry Pi3の X-Window Systemに Windowsのリモートデスクトップから接続する方法
Raspberry Pi3に WebRTCの STUN/TRUNサーバと PeerJSサーバをインストールする方法
【成功版】Raspberry Piで NNPACK対応版の Darknet Neural Network Frameworkをビルドする方法


Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板

  Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102

BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)

  レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2022 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_i2c_mpu6050_pidas_seismic_meter/