Получить несколько данных от arduino с помощью построителя строк

Я работаю над небольшим проектом, в котором мне нужно считывать данные с другого оборудования и отображать их в приложении для Android. Я использую Arduino Uno для получения значений от датчика и двигателя, и я использую модуль Bluetooth для отправки данных на устройство Android. Я знаю, как читать данные только с двигателя, но не с двигателя и датчика. Данные, отображаемые на Arduino, можно принять следующим образом:

Мотор: 132

Датчик: 258

Мотор: 259

Датчик: 992

Итак, сначала мы считываем значение двигателя, затем датчика, затем двигателя и так далее. Вот часть кода, где я использовал обработчик и построитель строк для чтения данных из двигателя. Как изменить код, чтобы считывать ОБОИ двигатель и датчик и постоянно обновлять значения?

Код:

Handler mHandler = new Handler()
    {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
                case 1:                                                 
                    byte[] readBuf = (byte[]) msg.obj;
                    String strIncom = new String(readBuf, 0, msg.arg1);                 
                    sb.append(strIncom);                                                
                    int endOfLineIndex = sb.indexOf("\r\n");                            
                    if (endOfLineIndex > 0) {                                           
                        String sbprint = sb.substring(0, endOfLineIndex);               
                        sb.delete(0, sb.length());                                      
                        motor.setText(sbprint);             // обновить TextView
                    }

                    break;
            }
        };
    };

, 👍0


1 ответ


1

Вы можете преобразовать каждое значение в строку перед отправкой в Bluetooth, используя string.contain("string"), например:

if (sbprint.contains("C"){
    temptv.setText(sbprint);}
if (sbprint.contains("H")){
    humidtytv.setText(sbprint);} 
,