HC-05/Arduino получает спам-данные
Я все подключил правильно. С первой попытки я получил данные так, как должен был. Затем я написал какую-то логику, перезалил и начал получать сумасшедший спам.
Мой последовательный монитор получает спам:
- знаки вопроса, если переменная имеет вид
char
или; 25252525252
, если переменная имеет видint
, или;-1
, если переменная имеет значениеString
.
Я отслеживаю скорость 38400 бод, что соответствует моему Serial.begin()
.
Есть идеи?
Код:
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
#define MIN_PULSE_WIDTH 650
#define MAX_PULSE_WIDTH 2350
#define DEFAULT_PULSE_WIDTH 1500
#define FREQUENCY 50
char data = 'a';
void setup()
{
analogReference(DEFAULT);
Serial.begin(38400);
pwm.begin();
pwm.setPWMFreq(FREQUENCY);
Serial.println("hello world");
}
void loop()
{
data = Serial.read();
Serial.println(data);
Serial.flush();
if (data == 'a'){
pwm.setPWM(0, 0, pulseWidth(90));
}
if (data == 's'){
pwm.setPWM(0, 0, pulseWidth(30));
}
delay(1000);
//время печати в секундах
}
int pulseWidth(int angle)
{
int pulse_wide, analog_value;
pulse_wide = map(angle, 0, 180, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH);
analog_value = int(float(pulse_wide) / 1000000 * FREQUENCY * 4096);
return analog_value;
}
@Stoil, 👍0
Обсуждение1 ответ
▲ 2
Serial.read()
возвращает -1, если данные недоступны. Он не ждет байта. Проверьте наличие -1 или используйте Serial.available()
, как это делается в любом примере.
Замените Serial.print(data)
на Serial.write(data)
, чтобы вернуть данные без изменений.
,
@Juraj
Смотрите также:
- L298N, HC-05 Простой автомобиль с дистанционным управлением через Bluetooth, не работающий в Arduino
- Мой модуль Bluetooth HC-05 не работает
- Подключить один «главный» HC-05 к двум подчиненным одновременно.
- Модуль Bluetooth против беспроводного модуля Arduino
- Модуль HC-05 не получает команд и не спаривается
- Потребляемая Мощность Arduino
- Проблема чтения данных Arduino Bluetooth HC-05
- Буферизует ли модуль HC-05 полученные данные?
Спасибо, это похоже на спам. Я изменил свою переменную на целое число и попытался отправить число. Независимо от того, что я отправляю, я получаю 120, 128 или 248 несколько раз. В чем дело ?, @Stoil
сначала следует подключить Arduino к последовательному монитору и изучить основы последовательной связи на примерах., @Juraj
Да, но почему независимо от того, какой символ я отправляю, это одно и то же?, @Stoil
Я не могу использовать ответ, так как я не вошел в систему, чего я не могу сделать, поскольку мой пароль запомнен на другом компьютере. Я изменил печать на запись, однако все равно получаю странные результаты. 1 соответствует «х?» (с обратным знаком вопроса), а 2 соответствует «???». Я так потерян., @Stoil
Имеет ли модуль BT скорость передачи данных 38400 бод?, @Juraj