Hussein Awadh1 Ответов: 1

Извлечение информации из последовательного монитора arduino uno


Всем привет,
Я здесь новичок, а также столяр в программировании
я пытаюсь извлечь информацию из своего автомобиля с помощью кабельного адаптера OBD-II. Я пробую простой код для чтения оборотов в минуту и успешно получил его и напечатал на последовательном мониторе, но я сталкиваюсь с простой проблемой. Последовательный монитор отображает ПИД-код + текущее значение оборотов в минуту, как показано ниже:

010C849 010C: см об / мин-ПИД используется и 849: текущее значение об / мин

так Могу ли я вырезать шестнадцатеричное число из результата и просто отобразить значение оборотов в минуту, например (849)

я использовал следующий код:

#include <OBD2UART.h>
COBD obd;
void setup()
{
  pinMode(13, OUTPUT);
  obd.begin();
  while (!obd.init());
}
void loop()
{
  int value;
  if (obd.readPID(PID_RPM, value)) {
        Serial.println(value);
        delay(1000);
  }
}


Что я уже пробовал:

используя следующее
int x;
  int y="010C";
      x=value-y;
       Serial.println(x);

1 Ответов

Рейтинг:
2

Garth J Lancaster

Ну ... если вам нужно использовать obd.readPID... а не просто

obd.read(PID_RPM,value)
Я бы сделал что-то вроде
Serial.println((unsigned int)value % 10000)


Hussein Awadh1

спасибо за ваш ответ, я пытаюсь добавить строку, которую вы упомянули, но когда я иду к последовательному монитору, это все та же проблема 010C+Current RPM, как показано ниже:

010C680
010C685
010C685
010C710

Garth J Lancaster

какой точный код у вас сейчас есть ? (это не сработало)