Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:aruno:exp13 [2020/06/08 19:03] alexnikproducts:aruno:exp13 [2020/06/20 13:21] (текущий) alexnik
Строка 29: Строка 29:
  
 ==== Схема эксперимента ==== ==== Схема эксперимента ====
-{{ :products:esp-iot:exp9_sch.png?nolink |}}+ 
 +{{ :products:ardu:exp13_sch.png?nolink |}}
 //Рисунок 1. Электрическая принципиальная схема эксперимента// //Рисунок 1. Электрическая принципиальная схема эксперимента//
  
Строка 38: Строка 39:
 В схеме мы использовали токоограничительные резисторы на каждом светодиоде. Казалось бы проще поставить один резистор на катод, чем по резистору на каждый анод, но нет, такой вариант не является правильным. Дело в том, что ток через резистор будет зависеть от количества включенных сегментов, что будет влиять на их яркость. Иными словами — при переключении цифр на дисплее их яркость будет меняться в зависимости от количества включенных сегментов. Выглядит это очень некрасиво. В схеме мы использовали токоограничительные резисторы на каждом светодиоде. Казалось бы проще поставить один резистор на катод, чем по резистору на каждый анод, но нет, такой вариант не является правильным. Дело в том, что ток через резистор будет зависеть от количества включенных сегментов, что будет влиять на их яркость. Иными словами — при переключении цифр на дисплее их яркость будет меняться в зависимости от количества включенных сегментов. Выглядит это очень некрасиво.
  
- +{{ :products:ardu:exp13.png?direct&600 |}}
-{{ :products:esp-iot:exp9_mont.png?direct&600 |}}+
 //Рисунок 2. Монтажная схема эксперимента// //Рисунок 2. Монтажная схема эксперимента//
  
Строка 45: Строка 45:
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
  
-<file python Exp25.py[enable_line_numbers="2", start_line_numbers_at="1"]> +<file cpp Exp13[enable_line_numbers="2", start_line_numbers_at="1"]> 
-from machine import Pin +int a = 8;  
-_init()+int b = 9; 
 +int c = 11; 
 +int d = 5; 
 +int e = 4; 
 +int f = 7; 
 +int g = 6; 
 +int h = 10;
  
-ledA = Pin(14, Pin.OUT+void setup()  
-ledB = Pin(13, Pin.OUT) +    int i; 
-ledC Pin(4, Pin.OUT) +    for(i=4; i<=11; i++pinMode(i,OUTPUT); 
-ledD = Pin(5Pin.OUT+   }  
-ledE = Pin(12, Pin.OUT+void loop() {      
-ledF = Pin(16Pin.OUT+    digitalWrite(a,HIGH); 
-ledG = Pin(15Pin.OUT+    digitalWrite(f,HIGH); 
- +    digitalWrite(g,HIGH); 
-ledA.on() +    digitalWrite(c,HIGH); 
-ledB.off() +    digitalWrite(d,HIGH); 
-ledC.on() +   }
-ledD.on() +
-ledE.off() +
-ledF.on() +
-ledG.on()+
 </file> </file>
 +
 +Программа эксперимента довольно простая, назначаем переменным пины контроллера, устанавливаем их в режим вывода и подаем сигнал на нужные.
  
 ==== Дополнительное задание ==== ==== Дополнительное задание ====