差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
arduino:grovebeginnerkit [2023/05/30 11:33] – [6. Light] baba | arduino:grovebeginnerkit [2023/05/30 11:50] (現在) – [10. 3-Axis Accelerator] baba | ||
---|---|---|---|
行 366: | 行 366: | ||
==== 8. Temperature & Humidity Sensor ==== | ==== 8. Temperature & Humidity Sensor ==== | ||
+ | Grove Temperature And Humidity Sensor | ||
+ | < | ||
+ | // | ||
+ | #include " | ||
+ | #include < | ||
+ | #include < | ||
+ | #define DHTPIN 3 // what pin we're connected to | ||
+ | #define DHTTYPE DHT11 // DHT 11 | ||
+ | DHT dht(DHTPIN, DHTTYPE); | ||
+ | |||
+ | U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE); | ||
+ | |||
+ | void setup(void) { | ||
+ | Serial.begin(9600); | ||
+ | Serial.println(" | ||
+ | dht.begin(); | ||
+ | u8x8.begin(); | ||
+ | u8x8.setPowerSave(0); | ||
+ | u8x8.setFlipMode(1); | ||
+ | } | ||
+ | |||
+ | void loop(void) { | ||
+ | |||
+ | float temp, humi; | ||
+ | temp = dht.readTemperature(); | ||
+ | humi = dht.readHumidity(); | ||
+ | | ||
+ | u8x8.setFont(u8x8_font_chroma48medium8_r); | ||
+ | u8x8.setCursor(0, | ||
+ | u8x8.print(" | ||
+ | u8x8.print(temp); | ||
+ | u8x8.print(" | ||
+ | u8x8.setCursor(0, | ||
+ | u8x8.print(" | ||
+ | u8x8.print(humi); | ||
+ | u8x8.print(" | ||
+ | u8x8.refreshDisplay(); | ||
+ | delay(200); | ||
+ | } | ||
+ | </ | ||
==== 9. Air Pressure Sensor ==== | ==== 9. Air Pressure Sensor ==== | ||
+ | Barometer Sensor BMP280 を追加する | ||
+ | < | ||
+ | //Air pressure detection | ||
+ | #include " | ||
+ | #include < | ||
+ | BMP280 bmp280; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | if (!bmp280.init()) { | ||
+ | Serial.println(" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | float pressure; | ||
+ | |||
+ | //get and print temperatures | ||
+ | Serial.print(" | ||
+ | Serial.print(bmp280.getTemperature()); | ||
+ | Serial.println(" | ||
+ | |||
+ | //get and print atmospheric pressure data | ||
+ | Serial.print(" | ||
+ | Serial.print(pressure = bmp280.getPressure()); | ||
+ | Serial.println(" | ||
+ | |||
+ | //get and print altitude data | ||
+ | Serial.print(" | ||
+ | Serial.print(bmp280.calcAltitude(pressure)); | ||
+ | Serial.println(" | ||
+ | |||
+ | Serial.println(" | ||
+ | |||
+ | delay(1000); | ||
+ | } | ||
+ | </ | ||
==== 10. 3-Axis Accelerator ==== | ==== 10. 3-Axis Accelerator ==== | ||
+ | grove-3-axis-digital-accelerometer-2g-to-16g を追加 | ||
+ | < | ||
+ | //Gravity Acceleration | ||
+ | #include " | ||
+ | #ifdef SOFTWAREWIRE | ||
+ | #include < | ||
+ | SoftwareWire myWire(3, 2); | ||
+ | LIS3DHTR< | ||
+ | #define WIRE myWire | ||
+ | #else | ||
+ | #include < | ||
+ | LIS3DHTR< | ||
+ | #define WIRE Wire | ||
+ | #endif | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | while (!Serial) {}; | ||
+ | LIS.begin(WIRE, | ||
+ | delay(100); | ||
+ | LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ); | ||
+ | } | ||
+ | void loop() { | ||
+ | if (!LIS) { | ||
+ | Serial.println(" | ||
+ | while (1); | ||
+ | return; | ||
+ | } | ||
+ | //3 axis | ||
+ | Serial.print(" | ||
+ | Serial.print(" | ||
+ | Serial.print(" | ||
+ | delay(500); | ||
+ | } | ||
+ | </ | ||