HOME >> 鉄道模型実験室 > スケッチとExcelファイルの設定 > 測定系のスケッチ
■ 測定系のスケッチ
//****************************
// Sokuteidai202-Measure-2
// 2020/10/3
//****************************
#define SLIT1_PIN 13
#define SLIT2_PIN 12
#define SLIT3_PIN 11
#define SLIT4_PIN 10
void setup()
{
pinMode(SLIT1_PIN,INPUT);
pinMode(SLIT2_PIN,INPUT);
pinMode(SLIT3_PIN,INPUT);
pinMode(SLIT4_PIN,INPUT);
Serial.begin(9600);
}
void loop()
{
int voltage;
int current;
int angle;
unsigned long vol;
unsigned long cur;
int angle_pin = 0;
int vol_pin = 1;
int cur_pin = 2;
int n;
unsigned long t1;
unsigned long t2;
unsigned long tt;
int slit1;
int slit2;
int slit3;
int slit4;
//ユニット1
slit1 = digitalRead(SLIT1_PIN) ;
slit2 = digitalRead(SLIT2_PIN) ;
if (slit1 == HIGH & slit2 == HIGH){
//準備OK
vol = 0;
cur = 0;
n = 0;
//入口スリット
while (slit1 == HIGH) {
slit1 = digitalRead(SLIT1_PIN) ;
}
t1 = millis();
//出口スリット
while (slit2 == HIGH) {
voltage = analogRead(vol_pin);
delay(1);
current = analogRead(cur_pin);
delay(1);
vol = vol + voltage;
cur = cur + current;
n = n + 1;
slit2 = digitalRead(SLIT2_PIN);
}
t2 = millis();
angle = analogRead(angle_pin);
//出力処理
tt = t2 - t1;
String buf = String(vol) + "," + String(cur) + "," + String(n) + "," + String(tt)+ "," + String(angle) + ",U" + ",E";
Serial.println(buf);
delay(500);
}
//ユニット2
slit3 = digitalRead(SLIT3_PIN) ;
slit4 = digitalRead(SLIT4_PIN) ;
if (slit3 == HIGH & slit4 == HIGH){
//準備OK
vol = 0;
cur = 0;
n = 0;
//入口スリット
while (slit3 == HIGH) {
slit3 = digitalRead(SLIT3_PIN) ;
}
t1 = millis();
//出口スリット
while (slit4 == HIGH) {
voltage = analogRead(vol_pin);
delay(1);
current = analogRead(cur_pin);
delay(1);
vol = vol + voltage;
cur = cur + current;
n = n + 1;
slit4 = digitalRead(SLIT4_PIN) ;
}
t2 = millis();
angle = analogRead(angle_pin);
//出力処理
tt = t2 - t1;
String buf = String(vol) + "," + String(cur) + ","+ String(n) + "," + String(tt)+ "," + String(angle) + ",D" + ",E";
Serial.println(buf);
delay(500);
}
}
2020/10/4 作成