Arduino
C#
serialplotter
Arduino-Scheduler

概要

serialplotter作ってみた。
c#で作ってみた。
Arduino-Schedulerに、書き換えてみた。
115200ボーで送る。
時間軸は、2ms

写真

ana.JPG

サンプルコード

#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);
}



以上。