Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:aruno:exp8 [2020/05/28 16:05] – alexnik | products:aruno:exp8 [2020/08/28 11:48] (текущий) – alexnik |
---|
| |
void setup() { | void setup() { |
} | } |
| |
void loop() { | void loop() { |
outputValue = map(inputValue,0,1023,0,255);//преобразуем считанные данные из интервала 0-1023 пропорционально в интервал 0 to 255 | outputValue = map(inputValue,0,1023,0,255);//преобразуем считанные данные из интервала 0-1023 пропорционально в интервал 0 to 255 |
analogWrite(ledPin,outputValue);//формируем ШИМ сигнал в соответствии с конвертированными данными | analogWrite(ledPin,outputValue);//формируем ШИМ сигнал в соответствии с конвертированными данными |
} | } |
</file> | </file> |
| |
Для считывания значения с указанного аналогового входа используется функция | Давайте посмотрим, как все работает.\\ |
В этой программе для нас нет ничего нового. Как обычно мы настроили вывод для светодиода, создали объект пина для него. Создали объект ШИМ. Создали объект АЦП. В бесконечном цикле считываем показания АЦП и передаем их в объект ШИМ как коэффициент заполнения. | в **строке 10** считываем аналоговый сигнал с пина к которому подключен переменный резистор и записываем его в переменную **inputValue**\\ |
| '' inputValue = analogRead(analogPin);''\\ |
| в **строке 11** с помощью функции **map()** конвертируем сигнал записанный в переменную **inputValue** из диапазона 0-1023 (аналогового сигнала) в диапазон 0-255 (ШИМ сигнала) и записываем его в переменную **outputValue**\\ |
| '' outputValue = map(inputValue,0,1023,0,255);''\\ |
| и в **строке 12** формируем ШИМ сигнал на пине к которому подключен светодиод с коэффициентом заполнения записанным в переменную **outputValue** ранее\\ |
| '' analogWrite(ledPin,outputValue);''\\ |
| |
==== Дополнительное задание ==== | ==== Дополнительное задание ==== |