Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:aruno:exp8 [2020/05/28 15:15] alexnikproducts:aruno:exp8 [2020/08/28 11:48] (текущий) alexnik
Строка 46: Строка 46:
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
  
-<file python Exp15.py[enable_line_numbers="2", start_line_numbers_at="1"]> +<file cpp Exp8[enable_line_numbers="2", start_line_numbers_at="1"]> 
-from machine import Pin, PWM +const int analogPin = A0;//константа с номером пина для переменного резистора 
-_init()+const int ledPin = 3;//константа с номером пина(ШИМдля светодиода 
 +int inputValue = 0;//значение считанного аналогового сигнала 
 +int outputValue = 0;//коэффициент заполнения ШИМ сигнала
  
-LedPin = 15 +void setup() { 
-led = Pin(LedPin, Pin.OUT+ }
-pwmLed = PWM(led)+
  
-adc machine.ADC(0+void loop() { 
- +   inputValue analogRead(analogPin);//считываем аналоговый сигнал и записываем его в переменную 
-while True: +   outputValue map(inputValue,0,1023,0,255);//преобразуем считанные данные из интервала 0-1023 пропорционально в интервал 0 to 255 
-    value adc.read() +   analogWrite(ledPin,outputValue);//формируем ШИМ сигнал в соответствии с конвертированными данными 
-    pwmLed.duty(value)+ }
 </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);''\\ 
  
 ==== Дополнительное задание ==== ==== Дополнительное задание ====