・2022/01/12
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を動かす方法
Windows 10の WSL環境で ESP8266で Python言語 MicroPythonを動かします
・2021/12/05
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を接続する方法
ラズパイ3で I2Cの GY-521 MPU-6050 6軸センサーモジュール基板を使用する方法
下記のコマンドを実行すれば 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使用




● 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 | 0.5未満 |
1 | 0.5以上1.5未満 |
2 | 1.5以上2.5未満 |
3 | 2.5以上3.5未満 |
4 | 3.5以上4.5未満 |
5弱 | 4.5以上5.0未満 |
5強 | 5.0以上5.5未満 |
6弱 | 5.5以上6.0未満 |
6強 | 6.0以上6.5未満 |
7 | 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の書き込みに便利
ラズパイや Jetson Nano等のワンボードマイコン等への OSイメージの書き込みが簡単にできる
FWinPiFinder ラズベリーパイ IPアドレス発見アプリ。ARPコマンドでラズパイの IPアドレスを探索発見する
Raspberry Piや NVIDIA Jetson Nano等の IPアドレスを MACアドレスの OUI部分を使用して発見する
Raspberry Pi 3系のトラブルであるある第一位の電源トラブル、低電圧警報に関する情報のまとめ
ラズパイ3B系での低電圧警報に関する情報まとめ、コマンドラインやログファイルから低電圧を検知する方法
Raspberry Piで CPUの脆弱性 Spectreと Meltdownの脆弱性をチェックする方法
ラズパイで 2018年初頭に大騒ぎになったスペクターとメルトダウンの CPUの脆弱性をチェックする方法
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ
Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ
ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない
Raspberry Pi 3 Model Bに専用カメラモジュール RaspiCamを接続する方法
ラズパイに専用カメラモジュールを接続して Raspbianで写真の静止画撮影や動画を録画する方法
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も
Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳
ラズパイ公式フォーラムの「The Raspberry Pi 3 Model B Q&A thread」の日本語訳
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
ラズパイ3の GPIO端子の I2C機能を有効にして各種センサーを繋げる方法まとめ
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ
Raspberry Pi関連はこちらへまとめました
下記以外にも多数のラズパイ関係の記事が有ります。
(I2C制御、GPIO制御、1-Wire制御、シリアル通信、日本語音声合成、日本語音声認識、中国語音声合成、MeCab 形態素解析エンジン、赤外線リモコン制御、秋月 I2C液晶モジュール、KeDei 3.5インチ液晶、HDMI 5インチ液晶、NFCカードリーダ、コマンドライン操作方法等)
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102
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/