Получение данных от сети 120В 50/60Гц
Как я могу получить данные от основного источника питания моего дома и восстановить их сигнал? Я использовал трансформатор и инверторный усилитель для понижения напряжения до 5 вольт и считывал его с аналогового вывода A0, но получил очень странные данные и всего несколько цифр
данные = AnalogRead(A0);
Serial.println(данные);
@Victor Vital, 👍-1
Обсуждение1 ответ
Лучший ответ:
Последовательный вывод на Arduino довольно медленный. Распечатав свой вывод, вы настолько замедлите показания, что это покажется ерундой.
Вы должны собрать серию показаний в массив C с плавающей запятой в ОЗУ, остановить запись, а затем зарегистрировать этот массив значений.
Обратите внимание, что на большинстве плат Arduino у вас недостаточно оперативной памяти, поэтому вы сможете записать лишь небольшое количество значений. Mega 2560 имеет гораздо больше памяти, чем другие (8 КБ). Это все еще не много, но лучше, чем на других платах. Один из Arduino на базе ARM будет иметь гораздо более быстрый процессор и гораздо больше оперативной памяти.
У меня есть рабочий код, который можно добавить к этому ответу после небольшой очистки https://github.com/jandrassy/Regulator/blob/4c1f15e00f51d618293ae441706c3f6027a56405/util/RegulatorDev/RegulatorDev.ino#L243, @Juraj
Действительно ли скорость передачи данных является такой большой проблемой, что вам нужно буферизовать данные? Я имею в виду, это всего лишь 60 Гц. Я думаю, этого достаточно, чтобы выбрать более высокую скорость передачи данных., @chrisl
«Неужели скорость передачи данных здесь такая большая проблема...?» Да. Представьте, что Serial.write()
занимает 1/10 секунды. Что вам нужно, 10 показаний за полный цикл синусоиды, чтобы получить грубое представление о ее форме? Это означало бы, что вам потребуется 600 показаний в секунду. Если вместо этого вы получите 10 показаний в секунду, не совпадающих по фазе с волной, вы увидите кажущиеся случайными показания., @Duncan C
- avrdude ser_open() can't set com-state
- Arduino Uno: avrdude: stk500_recv(): программатор не отвечает
- Проблема с Arduino Nano 33 IOT
- спящий режим и сторожевой пес одновременно
- Невозможно загрузить код на Arduino Nano.
- Использование библиотеки Arduino fix_fft или arduinoFFT для фильтрации определенного звука?
- Как сгенерировать файлы .a и .so для добавления в проект arduino
- Проблемы со скоростью шагового двигателя Nema 17
Какие данные вы пытаетесь получить?, @VE7JRO
Волна Sin на частоте 60 Гц, @Victor Vital
Пожалуйста, покажите нам скетч, который вы использовали, который дал вам «... очень странные данные и всего несколько цифр»., @VE7JRO
Пожалуйста, покажите нам полный скетч и образец соответствующих данных, @chrisl