ArduinoでSDカードリーダー?と加速度センサー、ジャイロセンサーを使った工作をしています。
サンプルプログラムでWriteRegというものがあって、これが本にもWebにもなかったので使い方を教えて頂けないでしょうか。このサンプルプログラム中では引数3個に対し、他の方のプログラムでは引数は2つでした。
また、'writeReg' was not declared in this scope
というエラーが出ました。よろしくおねがい致します。
arudino
1#include <SD.h> 2#include <Wire.h> 3#include <SPI.h> 4 5/* 6 connecting 7 8 MM-TXS04(LSM330DLC) Arduino(Duemilanove/UNO) 9 1:VDD---------------5V 10 2:GND---------------GND 11 3:SDA---------------D11(MOSI) 12 4:CLK---------------D13(SCK) 13 5:SDO(SA0)----------D12(MISO) 14 6:INT1_A 15 7:INT2_A 16 8:INT1_G 17 9:INT2_G 18 10:DEN_G------------5V 19 11:CS_A-------------D4 20 12:CS_G-------------D5 21*/ 22 23const int chipSelect = 4; 24 25int cs_Accel = 2; 26int cs_Gyro = 3; 27 28// LSM330D Register Map 29// Acceleromete 30#define LSM330D_CTRL_REG1_A 0x20 31#define LSM330D_CTRL_REG2_A 0x21 32#define LSM330D_CTRL_REG3_A 0x22 33#define LSM330D_CTRL_REG4_A 0x23 34#define LSM330D_CTRL_REG5_A 0x24 35 36#define LSM330D_OUT_X_L_A 0x28 37#define LSM330D_OUT_X_H_A 0x29 38#define LSM330D_OUT_Y_L_A 0x2A 39#define LSM330D_OUT_Y_H_A 0x2B 40#define LSM330D_OUT_Z_L_A 0x2C 41#define LSM330D_OUT_Z_H_A 0x2D 42 43// gyro 44#define LSM330D_WHO_AM_I_G 0x0F 45#define LSM330D_WHOAMI_G_VAL 0xD4 46 47#define LSM330D_CTRL_REG1_G 0x20 48#define LSM330D_CTRL_REG2_G 0x21 49#define LSM330D_CTRL_REG3_G 0x22 50#define LSM330D_CTRL_REG4_G 0x23 51#define LSM330D_CTRL_REG5_G 0x24 52 53#define LSM330D_OUT_X_L_G 0x28 54#define LSM330D_OUT_X_H_G 0x29 55#define LSM330D_OUT_Y_L_G 0x2A 56#define LSM330D_OUT_Y_H_G 0x2B 57#define LSM330D_OUT_Z_L_G 0x2C 58#define LSM330D_OUT_Z_H_G 0x2D 59 60int a; 61 62unsigned long time; 63 64 65void setup() { 66 // put your setup code here, to run once: Serial.begin(9600); 67 digitalWrite(cs_Accel, HIGH); 68 digitalWrite(cs_Gyro, HIGH); 69 pinMode(cs_Accel, OUTPUT); 70 pinMode(cs_Gyro, OUTPUT); 71 delay(100); 72 SPI.begin(); 73 a = 0; 74 75 // Accelerometer 76 //writeRegだけだと宣言されてないとか出た 77 writeReg(cs_Accel, LSM330D_CTRL_REG1_A, 0b10010111); 78 writeReg(cs_Accel, LSM330D_CTRL_REG2_A, 0b00000000); 79 writeReg(cs_Accel, LSM330D_CTRL_REG3_A, 0b00001000); 80 writeReg(cs_Accel, LSM330D_CTRL_REG4_A, 0b00001000); // +/-2G (1mg/digt) 81 writeReg(cs_Accel, LSM330D_CTRL_REG5_A, 0b01000000); 82 83 // Gyro 84 writeReg(cs_Gyro, LSM330D_CTRL_REG1_G, 0b00001111); 85 writeReg(cs_Gyro, LSM330D_CTRL_REG2_G, 0b00000000); 86 writeReg(cs_Gyro, LSM330D_CTRL_REG3_G, 0b00000000); 87 writeReg(cs_Gyro, LSM330D_CTRL_REG4_G, 0b00000000); // 250dps (8.75mdps/digit) 88 writeReg(cs_Gyro, LSM330D_CTRL_REG5_G, 0b00000000); 89 90 91//以下のプログラムは省略いたします 92 93} 94 95void loop() { 96 // put your main code here, to run repeatedly: 97 98}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/18 13:18