Мой последовательный плоттер не работает (arduino)
Я пытаюсь загрузить этот код, и он работает правильно, но я ничего не вижу на своем последовательном плоттере
const int AnalogIn_Pin0= A0;
const int AnalogIn_Pin1=A1;
const int Pwmout_PIN=11;
float AnalogIn_Val0=0;
float AnalogIn_Val1=0;
int Pwmout_Val=0;
float Error=0;
float ErrorInteg=0;
float Control=0;
float ControlFilt=0;
float kp=0.2;
float Pole =-10;
float Ki =0.01;
int deltaT=0.01;
int deltaT_ms=(int)deltaT*1000;
void setup() {
pinMode (Pwmout_PIN,OUTPUT);
Serial.begin (9600);
}
void loop() {
AnalogIn_Val0=(float)constrain (analogRead(AnalogIn_Pin0),0,600);
AnalogIn_Val1=0.97*AnalogIn_Val1+0.03*(float)analogRead(AnalogIn_Pin1);
Error= (AnalogIn_Val0-AnalogIn_Val1);
ErrorInteg=ErrorInteg+Error*deltaT;
ControlFilt=kp*Error+Ki *ErrorInteg;
Pwmout_Val= constrain (map ((int)ControlFilt,0,1023,0,255),0,220);
analogWrite (Pwmout_PIN,Pwmout_Val);
Serial.print(AnalogIn_Val0);
Serial.print("");
Serial.print(AnalogIn_Val1);
Serial.print("");
Serial.print( Pwmout_Val);
delay (deltaT_ms);
}
@AMR, 👍0
Обсуждение1 ответ
▲ 1
Каждый набор точек данных (или точек) должен располагаться на отдельной строке, а если вы рисуете более одного значения, вам понадобится пробел или табуляция между каждым значением.
Итак, чтобы на вашем графике было 3 линии, я думаю, вам нужно следующее:
Serial.print(AnalogIn_Val0);
Serial.print(' ');
Serial.print(AnalogIn_Val1);
Serial.print(' ');
Serial.println(Pwmout_Val);
Вывод на последовательном мониторе должен быть примерно таким:
123 456 789
234 567 901
...
,
@Craig
Смотрите также:
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Arduino IDE Отказано В Разрешении На Загрузку, Ubuntu
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Связь Arduino master/slave с использованием RS485
работает правильно
... тогда почему вы разместили свой вопрос?, @jsotolaвы не говорите то, что видите на самом деле.....возможно у вас плоттер неисправен, @jsotola
это не график, оборудование работает правильно, @AMR
Похоже, что это просто выведет длинную строку чисел. Никаких разделителей между полями, никаких разделителей между записями (например:
56782985493287562387465249837598234629387462389746923874632985743695872346587234687346293756052376437241 23046503453948765...
. Как можно понимать данные?, @Majenko