{"id":3159,"date":"2024-11-08T11:09:24","date_gmt":"2024-11-08T02:09:24","guid":{"rendered":"https:\/\/www.dogrow.net\/elecronics\/?p=3159"},"modified":"2024-11-19T02:32:23","modified_gmt":"2024-11-18T17:32:23","slug":"blog52","status":"publish","type":"post","link":"https:\/\/www.dogrow.net\/elecronics\/blog52\/","title":{"rendered":"(52) \u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3067\u300c\u5730\u9762\u306b\u5782\u76f4\u300d\u3092\u5224\u5b9a\u3057\u305f\u3044\u3002"},"content":{"rendered":"<h1 class=\"my_h\">\u30101\u3011\u3084\u308a\u305f\u3044\u3053\u3068<\/h1>\n<p>\u81ea\u4f5c\u3057\u305f\u30e9\u30ba\u30d1\u30a4\u4f5c\u54c1\u304c <span class=\"my_fc_blueBBig\">\u5730\u9762\u306b\u5782\u76f4\uff1f<\/span> \u3092\u5224\u5b9a\u3057\u305f\u3044\u3002<\/p>\n<p>\u3053\u308c\u306b\u306f\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u3002<br \/>\n\u4eca\u56de\u306f <a href=\"https:\/\/product.tdk.com\/ja\/search\/sensor\/mortion-inertial\/imu\/info?part_no=MPU-6050\" target=\"_blank\" class=\"my_fs_big2\" rel=\"noopener\">MPU-6050<\/a> \u306a\u308b I2C\u63a5\u7d9a\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u305f\u3002<\/p>\n<p>\u5b9f\u969b\u306b\u306f\u3001\u3053\u306e\u30c7\u30d0\u30a4\u30b9 MPU-6050 \u3092\u8f09\u305b\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8cfc\u5165\u3057\u305f\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/elecronics\/wp-content\/uploads\/2024\/11\/Image6-1.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<p>Amazon\u3067 <span class=\"my_fc_blueBBig\">3\u500b 990\u5186<\/span> \u306e\u7269\u3092\u8cfc\u5165\u3057\u305f\u3002<br \/>\n<a href=\"https:\/\/amzn.to\/3O0o9ou\" target=\"_blank\" rel=\"noopener\">https:\/\/amzn.to\/3O0o9ou<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/elecronics\/wp-content\/uploads\/2024\/11\/amz135486.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/a><\/p>\n<h1 class=\"my_h\">\u30102\u3011\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3067\u50be\u304d\u304c\u308f\u304b\u308b\u306e\uff1f<\/h1>\n<p>\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3068\u306f\u3001<br \/>\nX\u8ef8\u3001Y\u8ef8\u3001Z\u8ef8\u306e 3\u8ef8\u305d\u308c\u305e\u308c\u306e\u8ef8\u3068\u4e26\u884c\u65b9\u5411\u306b\u3069\u308c\u3060\u3051\u306e\u52a0\u901f\u5ea6\u3067\u79fb\u52d5\u3057\u305f\u304b\uff1f<br \/>\n\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306e\u30bb\u30f3\u30b5\u30fc\u3060\u3002<\/p>\n<p>\u3053\u3053\u3067\u7591\u554f\u304c\u6e67\u304f\u304b\u3082&#8230;<br \/>\n<span class=\"my_fc_crimsonBBig\">3\u8ef8\u4e0a\u306e\u52a0\u901f\u5ea6\u3092\u6e2c\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u306a\u305c\u50be\u304d\u3092\u691c\u51fa\u3067\u304d\u308b\u306e\u304b\uff1f<\/span><\/p>\n<p>\u305d\u306e\u7406\u7531\u306f&#8230;<br \/>\n<span class=\"my_fc_deeppinkBBig\">\u7269\u4f53\u3092\u79fb\u52d5\u3057\u306a\u304f\u3066\u3082\u3001\u5e38\u306b Z\u8ef8\u65b9\u5411\u306b\u91cd\u529b\u52a0\u901f\u5ea6 9.8[m\/s<sup>2<\/sup>] \u304c\u304b\u304b\u3063\u3066\u3044\u308b\u304b\u3089\u3002<\/span><\/p>\n<h3 class=\"my_h\">Case 1 : \u7269\u4f53\u304c\u5730\u9762\u306b\u5bfe\u3057\u3066\u5782\u76f4\u306e\u5834\u5408\uff08\u50be\u304d\u89d2\uff1d0\u00b0\uff09<\/h3>\n<p><span class=\"my_fc_crimsonBBig\">\u5f8c\u65e5\u8ffd\u8a18<\/span><\/p>\n<h3 class=\"my_h\">Case 2 : \u7269\u4f53\u304c\u5730\u9762\u306b\u5bfe\u3057\u3066\u5782\u76f4\u3067\u306f\u306a\u3044\u5834\u5408\uff08\u50be\u304d\u89d2\u22600\u00b0\uff09<\/h3>\n<p><span class=\"my_fc_crimsonBBig\">\u5f8c\u65e5\u8ffd\u8a18<\/span><\/p>\n<h1 class=\"my_h\">\u30102\u3011MPU-6050\u306e\u60c5\u5831\u53ce\u96c6<\/h1>\n<table class=\"my_bd_0\">\n<tr>\n<td class=\"my_bd_0\"><a href=\"https:\/\/product.tdk.com\/system\/files\/dam\/doc\/product\/sensor\/mortion-inertial\/imu\/data_sheet\/mpu-6000-datasheet1.pdf\" target=\"_blank\" rel=\"noopener\" class=\"my_fs_big2\">\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8 (tdk.com)<br \/><img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/elecronics\/wp-content\/uploads\/2024\/11\/Image5-1.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/a><\/td>\n<td class=\"my_bd_0\"><a href=\"https:\/\/invensense.tdk.com\/wp-content\/uploads\/2015\/02\/MPU-6000-Register-Map1.pdf\" target=\"_blank\" rel=\"noopener\" class=\"my_fs_big2\">\u30ec\u30b8\u30b9\u30bf\u30de\u30c3\u30d7 (tdk.com)<br \/><img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/elecronics\/wp-content\/uploads\/2024\/11\/Image3.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/a><\/td>\n<\/tr>\n<\/table>\n<h1 class=\"my_h\">\u30103\u3011\u521d\u671f\u5316<\/h1>\n<p>\u30e9\u30ba\u30d9\u30ea\u30fc\u30d1\u30a4\u306b\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc MPU-6050 \u3092\u63a5\u7d9a\u3057\u3066\u4f7f\u3046\u3002<\/p>\n<p>\u96fb\u6e90\u6295\u5165\u5f8c\u3001\u307e\u305a\u306f\u3001\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306e\u8a18\u8ff0\u306b\u5f93\u3063\u3066\u3001\u30c7\u30d0\u30a4\u30b9\u3092\u521d\u671f\u5316\u3059\u308b\u3002<br \/>\n\u5236\u5fa1\u5bfe\u8c61\u306f\u4ee5\u4e0b\u306e5\u3064\u306e\u30ec\u30b8\u30b9\u30bf\u3002<\/p>\n<table class=\"my_tbl_simple\">\n<tr><td>0x6B<\/td><td>\u96fb\u6e90\u7ba1\u7406\u30ec\u30b8\u30b9\u30bf<\/td><\/tr><tr><td>0x1C<\/td><td>\u52a0\u901f\u5ea6\u8a2d\u5b9a\u30ec\u30b8\u30b9\u30bf<\/td><\/tr>\n<\/table>\n<h3 class=\"my_h\">\u521d\u671f\u8a2d\u5b9a(1) \u96fb\u6e90\u7ba1\u7406\u30ec\u30b8\u30b9\u30bf<\/h3>\n<p><span class=\"my_fc_crimsonBBig\">\u5f8c\u65e5\u8ffd\u8a18<\/span><\/p>\n<h3 class=\"my_h\">\u521d\u671f\u8a2d\u5b9a(2) \u52a0\u901f\u5ea6\u8a2d\u5b9a\u30ec\u30b8\u30b9\u30bf<\/h3>\n<p><span class=\"my_fc_crimsonBBig\">\u5f8c\u65e5\u8ffd\u8a18<\/span><\/p>\n<h1 class=\"my_h\">\u30104\u3011\u50be\u304d\u89d2\u5ea6\u306e\u6e2c\u5b9a<\/h1>\n<p><span class=\"my_fc_crimsonBBig\">\u5f8c\u65e5\u8ffd\u8a18<\/span><\/p>\n<h1 class=\"my_h\">\u30105\u3011\u30d7\u30ed\u30b0\u30e9\u30e0\u4f5c\u6210\uff06\u5b9f\u884c<\/h1>\n<h3 class=\"my_h\">(1) \u30bb\u30f3\u30b5\u30fc\u306e\u5b9f\u88c5\u9762\u3092\u4e0a\u5411\u304d\u306b\u914d\u7f6e\u3057\u305f\u5834\u5408<\/h3>\n<p>\u30bb\u30f3\u30b5\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u57fa\u677f\u3092\u3053\u306e\u5411\u304d\uff08\u2193\uff09\u306b\u914d\u7f6e\u3057\u305f\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u5782\u76f4\u65b9\u5411\u306e\u691c\u77e5\u304c\u53ef\u80fd\u3067\u3042\u308b\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/elecronics\/wp-content\/uploads\/2024\/11\/Image9.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<p>ChatGPT\u5927\u5148\u751f\u306b\u3054\u52a9\u529b\u3092\u3044\u305f\u3060\u304d\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5404\u884c\u306b\u9069\u5207\u306a\u30b3\u30e1\u30f3\u30c8\u3092\u4ed8\u3051\u3066\u3044\u305f\u3060\u3044\u305f\u3002\u672c\u5f53\u306b\u7d20\u6674\u3089\u3057\u3044\uff01<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport smbus  # I2C\u901a\u4fe1\u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\r\nimport time   # \u9045\u5ef6\u51e6\u7406\u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\r\nimport math   # \u6570\u5b66\u95a2\u6570\uff08\u89d2\u5ea6\u8a08\u7b97\u7528\uff09\u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\r\n\r\n# MPU-6050\u306eI2C\u30a2\u30c9\u30ec\u30b9\u3068\u30ec\u30b8\u30b9\u30bf\u306e\u5b9a\u7fa9\r\nMPU6050_ADDR = 0x68      # MPU-6050\u306eI2C\u30a2\u30c9\u30ec\u30b9\r\nPWR_MGMT_1   = 0x6B      # \u96fb\u6e90\u7ba1\u7406\u30ec\u30b8\u30b9\u30bf\r\nGYRO_CONFIG  = 0x1B      # \u30b8\u30e3\u30a4\u30ed\u8a2d\u5b9a\u30ec\u30b8\u30b9\u30bf\r\nACCEL_CONFIG = 0x1C      # \u52a0\u901f\u5ea6\u8a2d\u5b9a\u30ec\u30b8\u30b9\u30bf\r\nACCEL_XOUT_H = 0x3B      # \u52a0\u901f\u5ea6X\u8ef8\u30c7\u30fc\u30bf\uff08\u9ad8\u4f4d\uff09\u30ec\u30b8\u30b9\u30bf\r\n\r\n# I2C\u30d0\u30b91\u3092\u4f7f\u7528\u3057\u3066MPU-6050\u306b\u63a5\u7d9a\r\nbus = smbus.SMBus(1)\r\n\r\n# \u96fb\u6e90\u7ba1\u7406\u30ec\u30b8\u30b9\u30bf\u306b0\u3092\u66f8\u304d\u8fbc\u307f\u3001\u30b9\u30ea\u30fc\u30d7\u30e2\u30fc\u30c9\u3092\u89e3\u9664\r\nbus.write_byte_data(MPU6050_ADDR, PWR_MGMT_1, 0)\r\n#-------------------------------------------------------------------------------\r\n# MPU-6050\u306f\u8d77\u52d5\u6642\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u30b9\u30ea\u30fc\u30d7\u30e2\u30fc\u30c9\u306b\u5165\u308a\u307e\u3059\u3002\r\n# \u3053\u306e\u30e2\u30fc\u30c9\u3067\u306f\u30bb\u30f3\u30b5\u30fc\u304c\u4f4e\u6d88\u8cbb\u96fb\u529b\u3067\u5f85\u6a5f\u3057\u3066\u304a\u308a\u3001\u30c7\u30fc\u30bf\u53d6\u5f97\u306f\u3067\u304d\u307e\u305b\u3093\u3002\r\n# \u305d\u306e\u305f\u3081\u3001\u30bb\u30f3\u30b5\u30fc\u304b\u3089\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u53d6\u308b\u524d\u306b\u3001\u30b9\u30ea\u30fc\u30d7\u30e2\u30fc\u30c9\u3092\u89e3\u9664\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\r\n#-------------------------------------------------------------------------------\r\n\r\n# \u52a0\u901f\u5ea6\u30ec\u30f3\u30b8\u3092\u6700\u72ed(=\u6700\u9ad8\u7cbe\u5ea6)\u306e\u00b12&#x5B;g]\u306b\u8a2d\u5b9a\uff08ACCEL_CONFIG\u30ec\u30b8\u30b9\u30bf\u306b0x00\u3092\u66f8\u304d\u8fbc\u307f\uff09\r\n# 1g = 9.8 m\/s\u00b2 : \u91cd\u529b\u52a0\u901f\u5ea6(gravity acceleration \u306e g)\r\nbus.write_byte_data(MPU6050_ADDR, ACCEL_CONFIG, 0x00)\r\n#-------------------------------------------------------------------------------\r\n# ACCEL_CONFIG\u30ec\u30b8\u30b9\u30bf\u306b\u8a2d\u5b9a\u3059\u308b\u5024\u306b\u3088\u3063\u3066\u3001\u4ee5\u4e0b\u306e4\u3064\u306e\u52a0\u901f\u5ea6\u7bc4\u56f2\u304c\u9078\u629e\u3067\u304d\u307e\u3059\uff1a\r\n#  +--------+----------+---------------+\r\n#  | \u8a2d\u5b9a\u5024 | \u6e2c\u5b9a\u7bc4\u56f2 | \u5206\u89e3\u80fd\uff08\u611f\u5ea6\uff09|\r\n#  +--------+----------+---------------+\r\n#  | 0x00   |  \u00b12g    | 16384 LSB\/g   | \u91cf\u5b50\u5316\u8aa4\u5dee\u5c0f\r\n#  | 0x08   |  \u00b14g    |  8192 LSB\/g   |\r\n#  | 0x10   |  \u00b18g    |  4096 LSB\/g   |\r\n#  | 0x18   | \u00b116g    |  2048 LSB\/g   | \u91cf\u5b50\u5316\u8aa4\u5dee\u5927\r\n#  +--------+----------+---------------+\r\n# \u3053\u3053\u30670x00\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306f\u00b12g\u306e\u7bc4\u56f2\u3092\u6e2c\u5b9a\u7bc4\u56f2\u3068\u3057\u307e\u3059\u3002\r\n# \u00b12g\u306e\u7bc4\u56f2\u306f\u3001MPU-6050\u304c\u6700\u3082\u9ad8\u611f\u5ea6\u3067\u52d5\u4f5c\u3059\u308b\u8a2d\u5b9a\u3067\u3001\u5730\u7403\u306e\u91cd\u529b\u52a0\u901f\u5ea6\uff081g \u2248 9.8 m\/s\u00b2\uff09\r\n# \u3092\u5b89\u5b9a\u3057\u3066\u8a08\u6e2c\u3059\u308b\u306e\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002\r\n#\r\n# \u25a0\u5206\u89e3\u80fd\uff08\u611f\u5ea6\uff09\r\n# \u00b12g\u8a2d\u5b9a\u3067\u306f\u30011g\u306b\u76f8\u5f53\u3059\u308b\u30c7\u30b8\u30bf\u30eb\u51fa\u529b\u306f16384 LSB\u3067\u3059\u3002\u3053\u306e\u5206\u89e3\u80fd\u306b\u3088\u308a\u3001\r\n# \u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u306f\u975e\u5e38\u306b\u5c0f\u3055\u306a\u5909\u5316\u3082\u6349\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u00b12g\u306e\u8a2d\u5b9a\u3060\u3068\u3001\r\n# 1 LSB\uff08\u6700\u5c0f\u5358\u4f4d\uff09\u306f\u7d040.00006g\uff089.8 m\/s\u00b2\u309216384\u3067\u5272\u3063\u305f\u5024\uff09\u3068\u306a\u308a\u307e\u3059\u3002\r\n#\r\n# MPU-6050\u306e\u30bb\u30f3\u30b5\u30fc\u3067\u4f7f\u308f\u308c\u308b\u300cg\u300d\u306f\u3001\u91cd\u529b\u52a0\u901f\u5ea6\u3092\u8868\u3057\u3066\u304a\u308a\u3001\u300c\u91cd\u3055\u300d\u3067\u306f\u306a\u304f\u3001\r\n# \u52a0\u901f\u5ea6\u306e\u5358\u4f4d\u3068\u3057\u3066\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002\r\n# \u3053\u3053\u3067\u306e\u300cg\u300d\u306f\u3001\u5730\u7403\u306e\u91cd\u529b\u52a0\u901f\u5ea6\uff081g \u2248 9.8 m\/s\u00b2\uff09\u3092\u57fa\u6e96\u306b\u3057\u3066\u3044\u307e\u3059\u3002\r\n#\r\n# \u25a0\u30bb\u30f3\u30b5\u30fc\u304c\u6e2c\u5b9a\u3057\u3066\u3044\u308b\u306e\u306f\u4f55\u304b\uff1f\r\n# MPU-6050\u306e\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306f\u3001\u7269\u4f53\u304c\u3069\u306e\u65b9\u5411\u306b\u3069\u308c\u304f\u3089\u3044\u306e\u52a0\u901f\u5ea6\u3092\u53d7\u3051\u3066\u3044\u308b\u304b\u3092\u8a08\u6e2c\u3057\u3066\u3044\u307e\u3059\u3002\r\n# \u3053\u3053\u3067\u300c\u52a0\u901f\u5ea6\u300d\u3068\u306f\u3001\u7269\u4f53\u306e\u901f\u5ea6\u304c\u3069\u308c\u3060\u3051\u901f\u304f\u5909\u308f\u3063\u3066\u3044\u308b\u304b\uff08\u52a0\u901f\u3084\u6e1b\u901f\u306e\u5ea6\u5408\u3044\uff09\u3092\u8868\u3057\u3066\u3044\u307e\u3059\u3002\r\n#\r\n# \u25a0\u30bb\u30f3\u30b5\u30fc\u306e\u30e1\u30ab\u30cb\u30ba\u30e0\r\n# MPU-6050\u306e\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306f\u3001**MEMS\uff08Micro-Electro-Mechanical Systems\uff09**\u6280\u8853\u3092\u4f7f\u3063\u3066\u52a0\u901f\u5ea6\u3092\u6e2c\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\r\n# \u5177\u4f53\u7684\u306b\u306f\u3001\u30bb\u30f3\u30b5\u30fc\u5185\u90e8\u306e\u5c0f\u3055\u306a\u69cb\u9020\u7269\u304c\u7269\u4f53\u306e\u52a0\u901f\u5ea6\u306b\u5fdc\u3058\u3066\u308f\u305a\u304b\u306b\u5909\u5f62\u3057\u3001\u305d\u306e\u5909\u4f4d\u3092\u96fb\u6c17\u4fe1\u53f7\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u3067\u52a0\u901f\u5ea6\u3092\u691c\u51fa\u3057\u3066\u3044\u307e\u3059\u3002\r\n# \u3007\u5185\u90e8\u69cb\u9020\r\n# \u30bb\u30f3\u30b5\u30fc\u306e\u5185\u90e8\u306b\u306f\u3001\u975e\u5e38\u306b\u5c0f\u3055\u306a\u300c\u8cea\u91cf\u300d\uff08\u30de\u30a4\u30af\u30ed\u30b5\u30a4\u30ba\u306e\u91cd\u308a\u306e\u3088\u3046\u306a\u3082\u306e\uff09\u3068\u3001\u8cea\u91cf\u3092\u652f\u3048\u308b\u3070\u306d\u69cb\u9020\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\r\n# \u3053\u306e\u8cea\u91cf\u306f\u3001\u30bb\u30f3\u30b5\u30fc\u304c\u52d5\u304f\u3068\u4e00\u7dd2\u306b\u52d5\u304d\u307e\u3059\u304c\u3001\u6163\u6027\u306b\u3088\u3063\u3066\u308f\u305a\u304b\u306b\u305a\u308c\u308b\u6027\u8cea\u3092\u6301\u3061\u307e\u3059\u3002\r\n# \u3055\u3089\u306b\u3001\u8cea\u91cf\u306e\u5468\u56f2\u306b\u306f\u9759\u96fb\u5bb9\u91cf\u30bb\u30f3\u30b5\u30fc\u304c\u914d\u7f6e\u3055\u308c\u3066\u304a\u308a\u3001\u8cea\u91cf\u306e\u4f4d\u7f6e\u306e\u5909\u5316\u3092\u691c\u51fa\u3057\u307e\u3059\u3002\r\n# \u3007\u52a0\u901f\u5ea6\u306b\u3088\u308b\u8cea\u91cf\u306e\u5909\u4f4d\uff1a\r\n# \u30bb\u30f3\u30b5\u30fc\u304c\u52d5\u3044\u305f\u308a\u3001\u52a0\u901f\u5ea6\u3092\u53d7\u3051\u305f\u308a\u3059\u308b\u3068\u3001\u6163\u6027\u306e\u50cd\u304d\u3067\u5185\u90e8\u306e\u8cea\u91cf\u304c\u308f\u305a\u304b\u306b\u5909\u4f4d\u3057\u307e\u3059\u3002\r\n# \u305f\u3068\u3048\u3070\u3001\u30bb\u30f3\u30b5\u30fc\u3092\u4e0a\u5411\u304d\u306b\u9759\u6b62\u3055\u305b\u308b\u3068\u3001\u5730\u7403\u306e\u91cd\u529b\u306b\u3088\u308a\u8cea\u91cf\u304cZ\u8ef8\u65b9\u5411\u306b\u62bc\u3055\u308c\u3001\u305d\u306e\u5f71\u97ff\u3067\u5c11\u3057\u5909\u4f4d\u3057\u307e\u3059\u3002\r\n# \u3007\u9759\u96fb\u5bb9\u91cf\u306e\u5909\u5316\uff1a\r\n# \u8cea\u91cf\u304c\u52d5\u304f\u3068\u3001\u305d\u306e\u5468\u56f2\u306b\u3042\u308b\u9759\u96fb\u5bb9\u91cf\u30bb\u30f3\u30b5\u30fc\u306e\u9759\u96fb\u5bb9\u91cf\u304c\u5909\u5316\u3057\u307e\u3059\u3002\r\n# \u9759\u96fb\u5bb9\u91cf\u306f\u8cea\u91cf\u306e\u4f4d\u7f6e\uff08\u8ddd\u96e2\uff09\u306b\u4f9d\u5b58\u3059\u308b\u305f\u3081\u3001\u3053\u306e\u5909\u5316\u3092\u5229\u7528\u3057\u3066\u8cea\u91cf\u306e\u5909\u4f4d\u91cf\u3092\u6e2c\u5b9a\u3067\u304d\u307e\u3059\u3002\r\n# \u3007\u5909\u4f4d\u91cf\u304b\u3089\u52a0\u901f\u5ea6\u3092\u8a08\u7b97\uff1a\r\n# \u8cea\u91cf\u306e\u5909\u4f4d\u91cf\u306b\u57fa\u3065\u3044\u3066\u3001\u3069\u308c\u3060\u3051\u306e\u52a0\u901f\u5ea6\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u304b\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\r\n# \u8cea\u91cf\u304c\u53d7\u3051\u308b\u5909\u4f4d\u91cf\u306f\u52a0\u901f\u5ea6\u306e\u5927\u304d\u3055\u306b\u6bd4\u4f8b\u3059\u308b\u305f\u3081\u3001\u9069\u5207\u306a\u6821\u6b63\u3084\u63db\u7b97\u3092\u884c\u3046\u3053\u3068\u3067\u3001\u6b63\u78ba\u306a\u52a0\u901f\u5ea6\u5024\u304c\u5f97\u3089\u308c\u307e\u3059\u3002\r\n#-------------------------------------------------------------------------------\r\n\r\n# \u30ec\u30b8\u30b9\u30bf\u304b\u30892\u30d0\u30a4\u30c8\u306e\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u53d6\u308a\u3001\u300c\u7b26\u53f7\u4ed8\u304d16\u30d3\u30c3\u30c8\u6574\u6570\u5024\u300d\u3068\u3057\u3066\u8fd4\u3059\u95a2\u6570\r\ndef read_word(adr):\r\n    high = bus.read_byte_data(MPU6050_ADDR, adr)         # \u9ad8\u4f4d\u30d0\u30a4\u30c8\u3092\u8aad\u307f\u53d6\u308b\r\n    low  = bus.read_byte_data(MPU6050_ADDR, adr + 1)     # \u4f4e\u4f4d\u30d0\u30a4\u30c8\u3092\u8aad\u307f\u53d6\u308b\r\n    val = (high &lt;&lt; 8) + low                              # \u9ad8\u4f4d\u30d0\u30a4\u30c8\u3068\u4f4e\u4f4d\u30d0\u30a4\u30c8\u3092\u7d50\u5408\u3057\u306616\u30d3\u30c3\u30c8\u5024\u306b\u3059\u308b\r\n    if val &gt;= 0x8000:                                    # \u8ca0\u306e\u5024\u306e\u5834\u5408\u30012\u306e\u88dc\u6570\u3067\u5909\u63db\r\n        return -((65535 - val) + 1)\r\n    else:\r\n        return val\r\n\r\n# X, Y, Z\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066g\u5358\u4f4d\u306b\u5909\u63db\u3059\u308b\u95a2\u6570\r\ndef read_accel():\r\n    x = read_word(ACCEL_XOUT_H)     \/ 16384.0            # X\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u309216384\u3067\u5272\u3063\u3066g\u5358\u4f4d\u306b\u5909\u63db (1&#x5B;g]=16384&#x5B;LSB\/g])\r\n    y = read_word(ACCEL_XOUT_H + 2) \/ 16384.0            # Y\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u5909\u63db\r\n    z = read_word(ACCEL_XOUT_H + 4) \/ 16384.0            # Z\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u5909\u63db\r\n    return {'x': x, 'y': y, 'z': z}                      # X, Y, Z\u8ef8\u30c7\u30fc\u30bf\u3092\u8f9e\u66f8\u5f62\u5f0f\u3067\u8fd4\u3059\r\n\r\n# \u50be\u659c\u89d2\u5ea6\u3092\u8a08\u7b97\u3059\u308b\u95a2\u6570\r\n# MPU-6050\u306e\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u304b\u3089\u5f97\u3089\u308c\u305f\u5404\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u4f7f\u3063\u3066\u3001\r\n# \u30bb\u30f3\u30b5\u30fc\u304c\u5730\u9762\u306b\u5bfe\u3057\u3066\u3069\u306e\u7a0b\u5ea6\u50be\u3044\u3066\u3044\u308b\u304b\u3092\u89d2\u5ea6\uff08\u5ea6\u6570\uff09\u3067\u8a08\u7b97\r\ndef calculate_tilt_angle( accel_data ):\r\n    # X, Y, Z\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u5909\u6570\u306b\u4ee3\u5165\r\n    x, y, z = accel_data&#x5B;'x'], accel_data&#x5B;'y'], accel_data&#x5B;'z']\r\n    # \u30d9\u30af\u30c8\u30eb\u306e\u9577\u3055\u3092\u7b97\u51fa\r\n    norm_xyz = math.sqrt(x**2 + y**2 + z**2)\r\n    # Z\u8ef8\u65b9\u5411\u306e\u52a0\u901f\u5ea6\u304b\u3089\u306e\u89d2\u5ea6\u3092\u8a08\u7b97\r\n    angle_rad = math.acos(z \/ norm_xyz)\r\n    angle_deg = math.degrees(angle_rad)\r\n    return angle_deg                                       # \u8a08\u7b97\u3057\u305f\u89d2\u5ea6\u3092\u8fd4\u3059\r\n\r\n# \u30bb\u30f3\u30b5\u30fc\u304c\u5782\u76f4\u304b\u3069\u3046\u304b\u3092\u89d2\u5ea6\u306e\u95be\u5024(3\u5ea6)\u3067\u5224\u5b9a\u3059\u308b\u95a2\u6570\r\ndef is_vertical(angle, threshold=3):\r\n    return abs(angle) &lt; threshold                          # \u89d2\u5ea6\u304cthreshold\u672a\u6e80\u306a\u3089\u5782\u76f4\u3068\u307f\u306a\u3059\r\n\r\n# \u30e1\u30a4\u30f3\u30eb\u30fc\u30d7\uff1a\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3001\u50be\u659c\u89d2\u3092\u8a08\u7b97\u3057\u3066\u5782\u76f4\u5224\u5b9a\u3092\u884c\u3046\r\nwhile True:\r\n    accel_data = read_accel()                              # \u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\r\n    tilt_angle = calculate_tilt_angle(accel_data)          # \u50be\u659c\u89d2\u5ea6\u3092\u8a08\u7b97\r\n    \r\n    print(&quot;Tilt Angle:&quot;, tilt_angle, &quot;degrees&quot;)            # \u50be\u659c\u89d2\u5ea6\u3092\u51fa\u529b\r\n    if is_vertical(tilt_angle):                            # \u5782\u76f4\u5224\u5b9a\r\n        print(&quot;\u30bb\u30f3\u30b5\u30fc\u306f\u5730\u9762\u306b\u5bfe\u3057\u3066\u5782\u76f4\u3067\u3059&quot;)            # \u5782\u76f4\u3068\u5224\u5b9a\u3055\u308c\u305f\u5834\u5408\u306e\u51fa\u529b\r\n    else:\r\n        print(&quot;\u30bb\u30f3\u30b5\u30fc\u306f\u5782\u76f4\u3067\u306f\u3042\u308a\u307e\u305b\u3093&quot;)              # \u5782\u76f4\u3067\u306a\u3044\u5834\u5408\u306e\u51fa\u529b\r\n    \r\n    time.sleep(1)                                          # 1\u79d2\u9593\u306e\u9045\u5ef6\r\n\r\n<\/pre>\n<h3 class=\"my_h\">(2) \u30bb\u30f3\u30b5\u30fc\u306e\u5b9f\u88c5\u9762\u3092\u4e0b\u5411\u304d\u306b\u914d\u7f6e\u3057\u305f\u5834\u5408<\/h3>\n<p>\u30bb\u30f3\u30b5\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u57fa\u677f\u3092\u4e0a\u8a18(1)\u3068\u53cd\u5bfe\u5411\u304d\u306b\u914d\u7f6e\u3057\u305f\u5834\u5408\u3001\u4e0b\u8a18\u306e 1\u884c\u3092\u633f\u5165\u3057\u3066 Z\u8ef8\u306e\u52a0\u901f\u5ea6\u3092\u53cd\u8ee2\u3055\u305b\u308c\u3070\u3088\u3044\u3002<\/p>\n<pre class=\"brush: python; first-line: 81; highlight: [86]; title: ; notranslate\" title=\"\">\r\n# X, Y, Z\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066g\u5358\u4f4d\u306b\u5909\u63db\u3059\u308b\u95a2\u6570\r\ndef read_accel():\r\n    x = read_word(ACCEL_XOUT_H)     \/ 16384.0            # X\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u309216384\u3067\u5272\u3063\u3066g\u5358\u4f4d\u306b\u5909\u63db (1&#x5B;g]=16384&#x5B;LSB\/g])\r\n    y = read_word(ACCEL_XOUT_H + 2) \/ 16384.0            # Y\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u5909\u63db\r\n    z = read_word(ACCEL_XOUT_H + 4) \/ 16384.0            # Z\u8ef8\u306e\u52a0\u901f\u5ea6\u30c7\u30fc\u30bf\u3092\u5909\u63db\r\n    z = -z\r\n    return {'x': x, 'y': y, 'z': z}                      # X, Y, Z\u8ef8\u30c7\u30fc\u30bf\u3092\u8f9e\u66f8\u5f62\u5f0f\u3067\u8fd4\u3059\r\n<\/pre>\n<h1 class=\"my_h\">\u30106\u3011\u6240\u611f<\/h1>\n<p><span class=\"my_fc_crimsonBBig\">\u5f8c\u65e5\u8ffd\u8a18<\/span><\/p>\n<hr class=\"my_hr_bottom\">\n","protected":false},"excerpt":{"rendered":"<p>\u30101\u3011\u3084\u308a\u305f\u3044\u3053\u3068 \u81ea\u4f5c\u3057\u305f\u30e9\u30ba\u30d1\u30a4\u4f5c\u54c1\u304c \u5730\u9762\u306b\u5782\u76f4\uff1f \u3092\u5224\u5b9a\u3057\u305f\u3044\u3002 \u3053\u308c\u306b\u306f\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u3002 \u4eca\u56de\u306f MPU-6050 \u306a\u308b I2C\u63a5\u7d9a\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u305f\u3002 \u5b9f\u969b\u306b\u306f\u3001\u3053\u306e\u30c7\u30d0\u30a4\u30b9 MPU-605\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.dogrow.net\/elecronics\/blog52\/\">\u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,38],"tags":[],"class_list":["post-3159","post","type-post","status-publish","format-standard","hentry","category-raspberry-pi","category-38"],"views":695,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/posts\/3159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/comments?post=3159"}],"version-history":[{"count":34,"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/posts\/3159\/revisions"}],"predecessor-version":[{"id":3280,"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/posts\/3159\/revisions\/3280"}],"wp:attachment":[{"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/media?parent=3159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/categories?post=3159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dogrow.net\/elecronics\/wp-json\/wp\/v2\/tags?post=3159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}