//ADDXL345_HMC5883 27章WiFi無線でprocessingの3Dサンプルを動かす #include #include #include #include //WiFiClient 非同期 #include const char* ssid = "SSID";//無線LANのSSIDを設定します。 const char* password = "password";//無線LANのpasswordを設定します。 const char* host = "192.168.11.2";//パソコンのIPアドレスを設定します。 const int httpPort = 13000;//TCPサーバのポート static String gSendText=""; /* Assign a unique ID to this sensor at the same time */ Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345); #include Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345); void displaySensorDetails(void) { sensor_t sensor; accel.getSensor(&sensor); Serial.println("------------------------------------"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Driver Ver: "); Serial.println(sensor.version); Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" m/s^2"); Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" m/s^2"); Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" m/s^2"); Serial.println("------------------------------------"); Serial.println(""); delay(500); } void displayDataRate(void) { Serial.print ("Data Rate: "); switch(accel.getDataRate()) { case ADXL345_DATARATE_3200_HZ: Serial.print ("3200 "); break; case ADXL345_DATARATE_1600_HZ: Serial.print ("1600 "); break; case ADXL345_DATARATE_800_HZ: Serial.print ("800 "); break; case ADXL345_DATARATE_400_HZ: Serial.print ("400 "); break; case ADXL345_DATARATE_200_HZ: Serial.print ("200 "); break; case ADXL345_DATARATE_100_HZ: Serial.print ("100 "); break; case ADXL345_DATARATE_50_HZ: Serial.print ("50 "); break; case ADXL345_DATARATE_25_HZ: Serial.print ("25 "); break; case ADXL345_DATARATE_12_5_HZ: Serial.print ("12.5 "); break; case ADXL345_DATARATE_6_25HZ: Serial.print ("6.25 "); break; case ADXL345_DATARATE_3_13_HZ: Serial.print ("3.13 "); break; case ADXL345_DATARATE_1_56_HZ: Serial.print ("1.56 "); break; case ADXL345_DATARATE_0_78_HZ: Serial.print ("0.78 "); break; case ADXL345_DATARATE_0_39_HZ: Serial.print ("0.39 "); break; case ADXL345_DATARATE_0_20_HZ: Serial.print ("0.20 "); break; case ADXL345_DATARATE_0_10_HZ: Serial.print ("0.10 "); break; default: Serial.print ("???? "); break; } Serial.println(" Hz"); } void displayRange(void) { Serial.print ("Range: +/- "); switch(accel.getRange()) { case ADXL345_RANGE_16_G: Serial.print ("16 "); break; case ADXL345_RANGE_8_G: Serial.print ("8 "); break; case ADXL345_RANGE_4_G: Serial.print ("4 "); break; case ADXL345_RANGE_2_G: Serial.print ("2 "); break; default: Serial.print ("?? "); break; } Serial.println(" g"); } void setup(void) { Serial.begin(115200); Serial.println("Accelerometer Test"); Serial.println(""); /* Initialise the sensor */ if(!accel.begin()) { /* There was a problem detecting the ADXL345 ... check your connections */ Serial.println("Ooops, no ADXL345 detected ... Check your wiring!"); while(1); } /* Set the range to whatever is appropriate for your project */ accel.setRange(ADXL345_RANGE_16_G); //displaySetRange(ADXL345_RANGE_8_G); //displaySetRange(ADXL345_RANGE_4_G); //displaySetRange(ADXL345_RANGE_2_G); /* Display some basic information on this sensor */ displaySensorDetails(); /* Display additional settings (outside the scope of sensor_t) */ displayDataRate(); displayRange(); Serial.println(""); if(!mag.begin()) { //Serial.println("Ooops, no HMC5883 detected ... Check your wiring!"); while(1); } WiFi.begin(ssid, password);//無線LANに接続要求 while (WiFi.status() != WL_CONNECTED) {//接続完了まで待ちます。 delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); } void loop(void) { /* Get a new sensor event */ sensors_event_t event; accel.getEvent(&event); sensors_event_t event2; mag.getEvent(&event2); int Xd=(int)(1000*event.acceleration.x); int Yd=(int)(1000*event.acceleration.y); int Zd=(int)(1000*event.acceleration.z); int Mx=(int)(100*event2.magnetic.x); int My=(int)(100*event2.magnetic.y); int Mz=(int)(100*event2.magnetic.z); char str[256]; sprintf(str,"%d,%d,%d,%d,%d,%d\r\n",Xd,Yd,Zd,Mx,My,Mz); //Serial.print(str); /* Display the results (acceleration is measured in m/s^2) */ //Serial.print("X: "); Serial.print(Xd); Serial.print(","); //Serial.print("Y: "); Serial.print(Yd); Serial.print(","); //Serial.print("Z: "); Serial.print(Zd); Serial.print(","); //Serial.print("Mx: "); Serial.print(Mx); Serial.print(","); //Serial.print("My: "); Serial.print(My); Serial.print(","); //Serial.print("Mz: "); Serial.print(Mz); Serial.print(","); delay(200); // Use WiFiClient class to create TCP connections WiFiClient client; if (client.connect(host, httpPort)) { client.print(str); } }