int row_excel = 0; // количество строк
int test = 123; // тестовая переменная, которая будет передана excel
int test_2 = 456; // вторая тестовая переменная, которая будет передана excel
void setup(){
Serial.begin(9600); // скорость передачи данных
Serial.println("CLEARDATA"); // очистка листа excel
Serial.println("LABEL,Time,Test 1, Test 2, Num Rows"); // заголовки столбцов
}
void loop(){
row_excel++; // номер строки + 1
Serial.print("DATA,TIME,"); // запись в excel текущей даты и времени
Serial.print(test);
Serial.print(",");
Serial.print(test_2);
Serial.print(",");
Serial.println(row_excel);
// если строк больше 50, то начинаем заполнять строки по новой
if (row_excel > 50){
row_excel = 0;
Serial.println("ROW,SET,2");
}
delay(1000); // задержка
}
/*int i = 0;
void setup() {
// последовательный порт на скорости 9600
Serial.begin(9600);
//Serial.println("CLEARDATA"); // очистка листа со строки 2
Serial.println("CLEARSHEET"); // очистка листа со строки 1
// определяем пять столбцов с именами "Date", "Time", "Timer", "Counter" и "millis"
Serial.println("LABEL,Date,Time,Timer,Counter,millis");
// задаем подписи к трем флажкам (только латинские символы)
Serial.println("CUSTOMBOX1,LABEL,Stop logging at 250?");
Serial.println("CUSTOMBOX2,LABEL,Resume log at 350?");
Serial.println("CUSTOMBOX3,LABEL,Quit at 450?");
// ставим флажки в первое и второе поля
Serial.println("CUSTOMBOX1,SET,1");
Serial.println("CUSTOMBOX2,SET,1");
Serial.println("CUSTOMBOX3,SET,0");
}
void loop() {
// выводим в таблицу данные и команду прокрутки
Serial.println( (String) "DATA,DATE,TIME,TIMER," + i++ + "," + millis() + ",AUTOSCROLL_20" );
// альтернативный способ вывода строки по частям
/* Serial.print("DATA,DATE,TIME,TIMER,");
Serial.print(i++);
Serial.print(",");
Serial.println(millis());
Serial.print(",");
Serial.println("SCROLLDATA_20"); */
// стираем некоторые ячейки (прямоугольник от B10 до D20)
/*if (i == 100)
Serial.println("ClearRange,B,10,D,20");
// звуковой сигнал, если i==150
if (i == 150)
Serial.println("BEEP");
// читаем целое число из ячейки E4
// в листе с заданным именем если i==200
if (i == 200)
{
// запрашиваем данные из листа
Serial.println("CELL,GET,FROMSHEET,Further sheet,E,4");
// короткий вариант для чтения из текущего листа
// Serial.println("CELL,GET,E4");
// получаем ответ Excel
int readvalue = Serial.readStringUntil(10).toInt();
// Выводим значение в окно отладки
Serial.println( (String) "Value of cell E4 is: " + readvalue);
}
// проверяем значение CUSTOMBOX1
// если флажок установлен, приостанавливаем запись
if (i == 250)
{
Serial.println("CUSTOMBOX1,GET");
int stoplogging = Serial.readStringUntil(10).toInt();
// выводим сообщение в окно отладки
Serial.println( (String) "Value of stoplogging/checkbox is: " + stoplogging);
if (stoplogging)
Serial.println("PAUSELOGGING");
}
// запрашиваем случайное число из компьютера если i==300
if (i == 300)
{
Serial.println("GETRANDOM,-4321,12345");
// случайное число от -4321 до 12345
int rndseed = Serial.readStringUntil(10).toInt();
// выводим сообщение в окно отладки
Serial.println( (String) "Got random value '" + rndseed + "' from Excel" );
}
// теперь возвобновляем запись если i==350 и стоит флажок CUSTOMBOX2
if (i == 350)
{
Serial.println("CUSTOMBOX2,GET");
int resumelogging = Serial.readStringUntil(10).toInt();
if (resumelogging)
Serial.println("RESUMELOGGING");
}
// запись в заданную ячейку G10 текущего листа
// и ячейку G11 произвольного листа
if (i == 400)
{
// активный лист по умолчанию
Serial.println("CELL,SET,G10,400 test 1 string");
// лист с именем "Further sheet"
Serial.println("CELL,SET,ONSHEET,Further sheet,G,11,400 test 2");
}
// если i>=450 и установлен флажок CUSTOMBOX3
// сохраняем файл под другим именем и закрываем Excel
if (i >= 450)
{
Serial.println("CUSTOMBOX3,GET");
if (Serial.readStringUntil(10).toInt()) {
Serial.println("SAVEWORKBOOKAS,450-Lines-File");
Serial.println("FORCEEXCELQUIT");
}
else
Serial.println("No forced Excel quit requested!");
}
}*/
/*int row_excel = 0; // number of lines
int test = 123; //test variable to be passed to Excel
int test_2 = 456; // the second test variable that will be passed to excel
void setup(){
Serial.begin(9600); //transfer speed
Serial.println("CLEARDATA"); // clear excel sheet
Serial.println("LABEL,Time,Test 1, Test 2, Num Rows"); // column headers
}
void loop(){
row_excel++; // row number + 1
Serial.print("DATA,TIME,"); // excel record current date and time
Serial.print(test);
Serial.print(",");
Serial.print(test_2);
Serial.print(",");
Serial.println(row_excel);
// if rows are more than 50, then start filling the rows again
if (row_excel > 50){
row_excel = 0;
Serial.println("ROW,SET,2");
}
delay(1000); //delay
}*/
/*#include <DHT.h>
#define DHTPIN 2 // Пин для датчика температуры
#define DHTTYPE DHT22 // Модель датчика температуры
DHT dht(DHTPIN, DHTTYPE);
int row_excel = 0; // количество строк
void setup() {
dht.begin();
Serial.begin(9600);
Initialize_PlxDaq();
}
void Write_PlxDaq()
{
Serial.print("DATA"); //always write "DATA" to Indicate the following as Data
Serial.print(","); //Move to next column using a ","
Serial.print("DATE"); //Store date on Excel
Serial.print(","); //Move to next column using a ","
Serial.print("TIME"); //Store date on Excel
Serial.print(","); //Move to next column using a ","
Serial.print(dht.readTemperature()); //Store date on Excel
Serial.print(","); //Move to next column using a ","
Serial.print(dht.readHumidity()); //Store date on Excel
Serial.print(","); //Move to next column using a ","
Serial.println(); //End of Row move to next row
row_excel++;
delay(2000);
}
void Initialize_PlxDaq()
{
Serial.println("CLEARDATA"); //clears up any data left from previous projects
Serial.println("LABEL,Date,Time,Temperature,Humidity"); //always write LABEL, to indicate it as first line
}
void loop() {
row_excel++;
Write_PlxDaq();
}*/
/*Arduino
void Initialize_PlxDaq()
{
Serial.println("CLEARDATA"); //очищаем все данные оставшиеся от предыдущих проектов
Serial.println("LABEL,Date,Time,Temperature,Humidity"); //всегда записывайте LABEL, чтобы индицировать что это первая строка
}
void Write_PlxDaq()
{
Serial.print("DATA"); //всегда записывайте "DATA" чтобы индицировать что будете записывать данные
Serial.print(","); //переход к следующей ячейке (столбцу) с использованием ","
Serial.print("DATE"); //сохраняем данные в Excel
Serial.print(","); // переход к следующей ячейке (столбцу) с использованием ","
Serial.print("TIME"); // сохраняем данные в Excel
Serial.print(","); // переход к следующей ячейке (столбцу) с использованием ","
Serial.print(DHT.temperature); // сохраняем данные в Excel
Serial.print(","); // переход к следующей ячейке (столбцу) с использованием ","
Serial.print(DHT.humidity); // сохраняем данные в Excel
Serial.print(","); // переход к следующей ячейке (столбцу) с использованием ","
Serial.println(); //конец строки, переходим к следующей строке
}*/