КРАМ, Я серьёзно. Ну не все же специалисты.
То, что сказал Крам, это стандартнейший метод ввода знакопеременных значений.
Как с этим жить? Поясняю.
1. Действительно, смещаете входной сигнал на половину опорного напряжения АЦП, при этом аппаратная часть получается несложной.
2. В случае, если ардуй выполнен на AVRке, а, скорее всего, так оно и есть, то её встроенный АЦП 10-разрядный, следовательно, выдаёт значения от 0x000 до 0x3FF, или в десятичном выражении от 0 до 1023. Средний отсчёт АЦП 512, такое значение (плюс-минус чуть-чуть) АЦП будет выдавать в отсутствии сигнала на входе.
3. Для получения значения сигнала вам надо всего лишь, получив очередной отсчёт АЦП, вычесть из него 512. В результате вы получите измеренное значение со знаком.
4. Модуль числа, или абсолютное значение числа - это число, "очищенное" от знака минус перед ним. К примеру, модуль нуля равен нулю, модуль пяти равен пяти, модуль минус трёх равен трём. Взятие модуля числа эквивалентно выпрямлению диодным мостом напряжения (с точностью до падения на его диодах), то есть тут нет ничего сложного. Да и алгоритмически тоже, всего-то надо прописать:
if(n<0) n=-n;
и всех делов.
5. Почему бы не освоить программирование?
ЗЮ. Пока я тут клапки топтал, много воды утекло.
Но пусть остаётся.
Последний раз редактировалось
mickbell Вс апр 14, 2024 14:28:29, всего редактировалось 1 раз.