Adafruit LIS3DH 3軸加速度センサーモジュールをアルディーノUNOに搭載し角度を検出したいです。
『I2CまたはSPIのどちらを利用するかによってピン名とコメントをするか』と記載がありました。
SPIを利用する場合どのようにピン名とコメントを変えればよいでしょうか?回答お願いします。
// Basic demo for accelerometer readings from Adafruit LIS3DH
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_LIS3DH.h>
#include <Adafruit_Sensor.h>
// Used for software SPI
#define LIS3DH_CLK 13
#define LIS3DH_MISO 12
#define LIS3DH_MOSI 11
// Used for hardware & software SPI
#define LIS3DH_CS 10
// software SPI
//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS, LIS3DH_MOSI, LIS3DH_MISO, LIS3DH_CLK);
// hardware SPI
//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS);
// I2C
Adafruit_LIS3DH lis = Adafruit_LIS3DH();
#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
#define Serial SerialUSB
#endif
void setup(void) {
#ifndef ESP8266
while (!Serial); // will pause Zero, Leonardo, etc until serial console opens
#endif
Serial.begin(9600);
Serial.println("LIS3DH test!");
if (! lis.begin(0x18)) { // change this to 0x19 for alternative i2c address
Serial.println("Couldnt start");
while (1);
}
Serial.println("LIS3DH found!");
lis.setRange(LIS3DH_RANGE_4_G); // 2, 4, 8 or 16 G!
Serial.print("Range = "); Serial.print(2 << lis.getRange());
Serial.println("G");
}
void loop() {
lis.read(); // get X Y and Z data at once
// Then print out the raw data
Serial.print("X: "); Serial.print(lis.x);
Serial.print(" \tY: "); Serial.print(lis.y);
Serial.print(" \tZ: "); Serial.print(lis.z);
/* Or....get a new sensor event, normalized */
sensors_event_t event;
lis.getEvent(&event);
/* Display the results (acceleration is measured in m/s^2) */
Serial.print("\t\tX: "); Serial.print(event.acceleration.x);
Serial.print(" \tY: "); Serial.print(event.acceleration.y);
Serial.print(" \tZ: "); Serial.print(event.acceleration.z);
Serial.println(" m/s^2 ");
Serial.println();
delay(200);
}
No.1ベストアンサー
- 回答日時:
現物持っていませんから確認はできませんが…。
掲示されているコードのコメントから推測できる範囲で。
// Used for software SPI
#define LIS3DH_CLK 13
#define LIS3DH_MISO 12
#define LIS3DH_MOSI 11
ソフトウェアSPI使うなら11番から13番にそれぞれの信号制御をする。
ということでしょう。
割り当てを変えたい場合はこちらを変更することになるかと。
// Used for hardware & software SPI
#define LIS3DH_CS 10
ハードウェアSPIなら10番にCS信号を。
# ソフトウェアSPIでも使うっぽいですが。
http://www.musashinodenpa.com/arduino/ref/index. …
http://garretlab.web.fc2.com/arduino_reference/l …
こちらのページだと…11から13は固定なんですかね。
SSの10番は他でもいい…と推測されます。
// software SPI
//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS, LIS3DH_MOSI, LIS3DH_MISO, LIS3DH_CLK);
// hardware SPI
//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS);
// I2C
Adafruit_LIS3DH lis = Adafruit_LIS3DH();
I2Cで使用するようになっているのでSPIにする場合は一番下のはコメントアウトに。
ソフトウェアSPIなら上のもののコメントアウトを解除、ハードウェアSPIなら真ん中のコメントアウトを解除…かと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby vscode 文字化け 1 2022/05/21 19:17
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- その他(プログラミング・Web制作) パイソンのプログラムで continue と passの違い 3 2022/03/25 07:38
- ドライブ・ストレージ パソコン SSDの換装を教えてください 5 2023/02/26 13:29
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- その他(ニュース・時事問題) なぜ平等にされなければならないのでしょうか? 2 2022/12/11 12:05
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字のカラーとフォントの指定...
-
パイソンのクラスについて
-
ASPでの印刷について
-
【至急!!!】python言語で本を見...
-
16進の10進変換について
-
awk の int()に関数について
-
m//gとm//gcの違い
-
pythonの*
-
I2C接続のLCDディスプレイを使う
-
数値かどうかの判定方法
-
Pythonでターミナルに文字を出...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
CLispのloop内の挙動について
-
メモリをアドレスを直接指定し...
-
実行時エラー 3020の対策
-
VBAでPDFのコピーとリネームを...
-
【メモリ不足で落ちる(python)】
-
FindFirst を複数条件で検索
-
どちのほうがすきですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
Pythonでターミナルに文字を出...
-
シェルスクリプトで、空白(ス...
-
【至急!!!】python言語で本を見...
-
pythonで演算子を変数に代入す...
-
c言語 16進数の2進数への変換
-
パイソンのクラスについて
-
I2C接続のLCDディスプレイを使う
-
関数「exists」と「defined」の...
-
pythonの*
-
変数の中は文字列か数値か調べ...
-
数値かどうかの判定方法
-
python print文のエラー
-
int(input("○○"))の使い方
-
Perlの例文でif($a==1&&$b==5&&...
-
Use of uninitialized value ---
-
awkの正規表現での最左最短マッ...
-
swift 文字コードから文字に変...
-
CGIでimgタグでalignを使うとエ...
-
javaのパッケージ構成で各パッ...
おすすめ情報