Странные значения на последовательном мониторе даже при соответствующей скорости передачи данных.
Я использую Adafruit Flora, подключенную к микрофонному датчику Max 4466. Когда я считываю значения с контакта под номером 12 (который на схеме флоры отмечен как a11 для аналогового входа), я получаю случайные символы на последовательном мониторе, как показано на прикрепленном изображении, с моим кодом. Попытка прочитать другие контакты, которые ни к чему не подключены, не считывает никакой информации. Моя скорость передачи данных на последовательном мониторе и код такие же, как вы можете видеть на изображении.
Глядя на объяснение max 4466 на веб-сайте Adafruit, говорится, что вам не нужен конденсатор или что-то еще, и вы можете просто подключить выходной контакт MAX 4466 напрямую к аналоговому контакту на Arduino. Я не уверен, нужно ли использовать другой протокол для Flora вместо Arduino. Там также говорится, что для преобразования информации в реальный сигнал мне нужно использовать библиотеки БПФ, но я не думаю, что считываемые входные данные вообще верны.
Если проблема в библиотеке БПФ, мне нужна помощь в ее использовании, поскольку в примере кода нет четкого значения. Мне пришлось установить задержку в коде, иначе IDE вылетит из-за всей информации. Кроме того, VCC на максимуме подключен к 3,3 В, GND к GND, а OUT к контакту #12 на Flora.
@Arbis, 👍0
Обсуждение1 ответ
Вы не можете объединить строку и значение внутри Serial.println()
.
Распечатайте их, используя два разных Serial.println()
.
int pin12;
int A12 = A12;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
pin12 = analogRead(A11);
Serial.print("pin 12 is ");
Serial.println(pin12);
delay(5000);
}
- Как разделить входящую строку?
- Как вывести несколько переменных в строке?
- В чем разница между Serial.write и Serial.print? И когда они используются?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Программы построения последовательных данных
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Очистить существующий массив при получении новой последовательной команды
Попробуйте напечатать «Hello World» и ничего больше. Сообщите нам результат., @Jot