|
|
|
|
Debian | コードネーム | 年月 | 備考 | (参考)Ubuntuでの該当名称 |
Debian 11 | Bullseye | 2021/08/14~ | 2021/11からラズパイにリリース | Focal Fossa 20.04 LTS ? |
Debian 10 | Buster | 2019/06/20~ | 2019/06からラズパイ4対応 | Bionic 18.04 LTS |
Debian 9 | Stretch | 2017/08/16~ | 2018/03からラズパイ3B+対応 | Xenial 16.04 LTS |
Debian 8 | Jessie | 2015~ | 2016/02からラズパイ3対応 | Trusty 14.04 LTS |
Debian 7 | Wheezy | 2013~2016 | ||
Debian 6.0 | Squeeze | 2011~2014 | ||
Debian GNU/Linux 5.0 | Lenny | 2009~2012 |
uxcell デジタル加速度傾斜角センサモジュール MMA7455 5V/3.3V I2C/ SPI ASIN: B00H554CP2 |
サインスマート(SainSmart)MMA7455使用 I2C/SPI 三軸デジタル加速度センサ モジュール ASIN: B0057OC62E |
MPU-6050 使用 3軸ジャイロスコープ・3軸加速度センサー モジュール ASIN: B008BOPN40 加速度とジャイロの6軸センサー |
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- 3b 3c 3d -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --intermittent i2c device connection MMA7455 I2C detect strange behavior
$ sudo i2cdetect -y 1 0x1dに存在するのを確認する
初期化する $ i2cset -y 1 0x1d 0x16 0x45 $ i2cset -y 1 0x1d 0x10 0x00 $ i2cset -y 1 0x1d 0x11 0x00 $ i2cset -y 1 0x1d 0x12 0x00 $ i2cset -y 1 0x1d 0x13 0x00 $ i2cset -y 1 0x1d 0x14 0x00 $ i2cset -y 1 0x1d 0x15 0x00
値を読み込む $ i2cget -y 1 0x1d 0x06 0x18 $ i2cget -y 1 0x1d 0x07 0xf8 $ i2cget -y 1 0x1d 0x08 0x5b
値を読み込む $ i2cget -y 1 0x1d 0x06 0xd2 $ i2cget -y 1 0x1d 0x07 0xef $ i2cget -y 1 0x1d 0x08 0x23
値を読み込む $ i2cget -y 1 0x1d 0x06 0x0e $ i2cget -y 1 0x1d 0x07 0xfa $ i2cget -y 1 0x1d 0x08 0xe2
$ sudo apt-get -y install python-smbus i2c-tools $ sudo adduser pi i2c The user `pi' is already a member of `i2c'. これは不要
# -*- coding: utf-8 -*- #!/usr/bin/python import RPi.GPIO as GPIO import os import smbus import time # MMA7455L Class class MMA7455L(): DevAdr = 0x1D myBus = "" if GPIO.RPI_INFO['P1_REVISION'] == 1: myBus = 0 else: myBus = 1 b = smbus.SMBus(myBus) def setUp(self): self.b.write_byte_data(self.DevAdr, 0x16, 0x45) self.b.write_byte_data(self.DevAdr, 0x10, 0x00) self.b.write_byte_data(self.DevAdr, 0x11, 0x00) self.b.write_byte_data(self.DevAdr, 0x12, 0x00) self.b.write_byte_data(self.DevAdr, 0x13, 0x00) self.b.write_byte_data(self.DevAdr, 0x14, 0x00) self.b.write_byte_data(self.DevAdr, 0x15, 0x00) def getValueX(self): return self.getValue(0x00) def getValueY(self): return self.getValue(0x02) def getValueZ(self): return self.getValue(0x04) def getValue(self, adr): tmp = self.b.read_byte_data(self.DevAdr, adr+1) sign = tmp & 0x02 tmp = tmp & 0x01 tmp = tmp<<8 tmp = tmp | self.b.read_byte_data(self.DevAdr, adr) if sign > 0: tmp = tmp - 512 return tmp # MAIN myMMA7455L = MMA7455L() myMMA7455L.setUp() # LOOP for a in range(1000): x = myMMA7455L.getValueX() y = myMMA7455L.getValueY() z = myMMA7455L.getValueZ() os.system("clear") print("X=", x) print("Y=", y) print("Z=", z) time.sleep(0.5)
$ sudo apt-get -y install python-smbus i2c-tools $ nano MMA7455L.py $ python MMA7455L.py
加速度センサ | MMA7455L NXP | 使い方の説明 | 0x1D | (W:0x32 R:0x33) | MMA7455 三軸加速度センサモジュール AQM0802Aと一緒に使えない相性? |
地磁気センサ | HMC5883L Honeywell | 使い方の説明 | 0x1E | (W:0x3C R:0x3D) | CJ-M49 デジタルコンパスモジュール 3軸地磁気センサ |
RFID NFCリーダライタ | NXP PN532 | 使い方の説明 | 0x24 | (W:0x48 R:0x49) | ELECHOUSE NFC MODULE V3 |
8ビット I/Oエクスパンダ | PCF8574 Texas Instruments | 使い方の説明 | 0x2F | (W:0x5E R:0x5F) | FC-113 PCF8574 キャラクタ液晶モジュール接続用 |
キャラクタ液晶 8文字x2行 | 秋月 AQM0802A ST7032 Sitronix | 使い方の説明 | 0x3E | (W:0x7E R:0x7F) | 秋月の AQM0802液晶はラズパイ側の回路が原因の癖が有ります。 MMA7455と一緒に使えない相性? PCA9515AD I2Cバスリピーターとの併用を推奨 |
キャラクタ液晶モジュール 16文字×2行 | 秋月 AQM1602A ST7032 Sitronix | 使い方の説明 | 0x3E | (W:0x7E R:0x7F) | 秋月の AQM1602A液晶モジュール |
湿度センサ | HTU21D TE Connectivity | 使い方の説明 | 0x40 | (W:0x80 R:0x81) | GY-21 温度、湿度センサーモジュール |
AD/DA変換 | PCF8591 NXP | 使い方の説明 | 0x48 | (W:0x90 R:0x91) | YL-40 8ビットA/D & D/Aコンバータ |
温度センサ | LM75A Texas Instruments | 使い方の説明 | 0x4F A0-A2=H | (W:0x9E R:0x9F) | A0~A2を "H"に設定で 0x4F デフォルト 0x48 |
3軸加速度センサ | ADXL345 Analog Devices | 使い方の説明 | 0x53 | (W:0xA6 R:0xA7) | GY-291 3軸加速度センサモジュール |
I2Cメモリ | AT24C32 (4KBメモリ) | 0x57 | (W:0xAE R:0xAF) | ZS-042 下記の RTCモジュールに搭載 | |
RTC リアルタイムクロック | DS3231 現 Maxim 旧 Dallas Semiconductor | 使い方の説明 | 0x68 | (W:0xD0 R:0xD1) | ZS-042 温度補償水晶発振器(TCXO)および水晶を内蔵する低コスト、 超高精度 I2Cリアルタイムクロック(RTC) |
赤外線アレイセンサ | AMG8833 Panasonic | 使い方の説明 | 0x68 | (W:0xD0 R:0xD1) | AMG8833 赤外線アレイセンサ Grid-EYEモジュール サーモグラフィーごっこが可能 |
6軸 ジャイロ+加速度センサ | MPU-6050 InvenSense | 使い方の説明 | 0x68 ADO=L | (W:0xD0 R:0xD1) | GY-521 三軸加速度センサ・三軸ジャイロセンサモジュール、 AD0端子 プルアップ時=0x69、 AD0端子 プルダウン時=0x68 |
9軸 ジャイロ+加速度+地磁気センサ | MPU-9150 InvenSense | 0x69 | (W:0xD0 R:0xD1) | MPU-6050に地磁気センサーを追加した最強センサー | |
9軸 ジャイロ+加速度+地磁気センサ | MPU-9250 InvenSense | 0x69 | (W:0xD0 R:0xD1) | MPU-9150の改良型、3軸加速度 + 3軸ジャイロ + 3軸コンパス | |
気圧/気温/高度センサ | BMP180 Bosch Sensortec | 0x77 | (W:0xEE R:0xEF) | BMP085の改良型 | |
気圧/温度/高度センサ | BMP280 Bosch Sensortec | 使い方の説明 | 0x76 SDO=L | (W:0xEC R:0xED) | BMP180の改良型、温度・気圧(高度)センサー SDO端子 プルアップ時=0x77、 SDO端子 プルダウン時=0x76 |
湿度/気圧/温度/高度センサ | BME280 Bosch Sensortec | 0x76 SDO=L | (W:0xEC R:0xED) | BMP280の進化型、湿度・温度・気圧(高度)の 4種類の環境情報を取得できる(湿度が追加になった) SDO端子 プルアップ時=0x77、 SDO端子 プルダウン時=0x76 | |
照度、近接センサ | APDS-9930 Broadcom | 使い方の説明 | 0x39 | (W:0x72 R:0x73) | |
RGB色センサ、ジェスチャー、照度、近接センサ | APDS-9960 Broadcom | 使い方の説明 | 0x39 | (W:0x72 R:0x73) | |
RGB色センサ | TCS34725 TAOS | 使い方の説明 | 0x29 | (W:0x52 R:0x53) | |
12点 静電タッチセンサ | MPR121 Freescale Semiconductor | 使い方の説明 | 0x5A | (W:0xB4 R:0xB5) | |
有機LEDモジュール 128x64 0.96インチ | SSD1306 SOLOMON SYSTECH | 使い方の説明 | 0x3C | (W:0x78 R:0x79) | DC='L'で 0x3C、DC='H'で 0x3D |