/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
const int sensorPin = 2; //センサのピン番号
unsigned long previousMillis = 0;
int TRIG = 3;
int ECHO = 2;
double duration = 0;
double distance = 0;
double speed_of_sound = 331.5 + 0.6 * 25; // 25℃の気温の想定
const long interval = 10000; //データを送信する間隔(ミリ秒)
// the setup function runs once when you press reset or power the board
void setup() {
Serial.begin( 9600 );
pinMode(ECHO, INPUT );
pinMode(TRIG, OUTPUT );
// initialize digital pin LED_BUILTIN as an output.
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO, HIGH); // 往復にかかった時間が返却される[マイクロ秒]
if (duration > 0) {
duration = duration / 2; // 往路にかかった時間
distance = duration * speed_of_sound * 100 / 1000000;
//Serial.print("Distance:");
Serial.println(distance);
//Serial.println(" cm");
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
// センサからデータを読み取る
int sensorValue = analogRead(sensorPin);
// データをシリアルポート経由で送信
Serial.println(sensorValue);
}
}
delay(200);
}