概要
serialplotter作ってみた。
c#で作ってみた。
Arduino-Schedulerに、書き換えてみた。
115200ボーで送る。
時間軸は、2ms
写真
サンプルコード
#include "Scheduler.h"
volatile bool bState = false;
volatile bool sState = false;
volatile bool flg = false;
volatile int count = 0;
volatile byte b0[20];
volatile byte b1[20];
void setup1()
{
}
void loop1()
{
int i;
int j;
count++;
if (count > 159)
{
count = 0;
sState = !sState;
flg = true;
}
i = count / 8;
j = count % 8;
if (digitalRead(2) == LOW)
{
if (sState)
{
b0[i] |= _BV(j);
}
else
{
b1[i] |= _BV(j);
}
}
else
{
if (sState)
{
b0[i] &= ~_BV(j);
}
else
{
b1[i] &= ~_BV(j);
}
}
bState = !bState;
digitalWrite(13, bState);
delay(1);
}
void setup()
{
Serial.begin(115200);
pinMode(13, OUTPUT);
pinMode(2, INPUT);
digitalWrite(13, LOW);
while (!Serial);
Scheduler.start(setup1, loop1);
Serial.println("start");
}
void loop()
{
if (flg)
{
if (sState)
{
Serial.write(b1[0]);
Serial.write(b1[1]);
Serial.write(b1[2]);
Serial.write(b1[3]);
Serial.write(b1[4]);
Serial.write(b1[5]);
Serial.write(b1[6]);
Serial.write(b1[7]);
Serial.write(b1[8]);
Serial.write(b1[9]);
Serial.write(b1[10]);
Serial.write(b1[11]);
Serial.write(b1[12]);
Serial.write(b1[13]);
Serial.write(b1[14]);
Serial.write(b1[15]);
Serial.write(b1[16]);
Serial.write(b1[17]);
Serial.write(b1[18]);
Serial.write(b1[19]);
}
else
{
Serial.write(b0[0]);
Serial.write(b0[1]);
Serial.write(b0[2]);
Serial.write(b0[3]);
Serial.write(b0[4]);
Serial.write(b0[5]);
Serial.write(b0[6]);
Serial.write(b0[7]);
Serial.write(b0[8]);
Serial.write(b0[9]);
Serial.write(b0[10]);
Serial.write(b0[11]);
Serial.write(b0[12]);
Serial.write(b0[13]);
Serial.write(b0[14]);
Serial.write(b0[15]);
Serial.write(b0[16]);
Serial.write(b0[17]);
Serial.write(b0[18]);
Serial.write(b0[19]);
}
flg = false;
}
delay(10);
}
以上。