Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:aruno:exp14 [2020/06/12 11:30] – alexnik | products:aruno:exp14 [2020/07/02 12:18] (текущий) – alexnik | ||
---|---|---|---|
Строка 4: | Строка 4: | ||
==== Схема эксперимента ==== | ==== Схема эксперимента ==== | ||
- | {{ : | + | {{ : |
- | {{ : | + | {{ : |
// | // | ||
Строка 14: | Строка 14: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
- | <file cpp Exp13[enable_line_numbers=" | + | <file cpp Exp14[enable_line_numbers=" |
int a = 8; | int a = 8; | ||
int b = 9; | int b = 9; | ||
Строка 22: | Строка 22: | ||
int f = 7; | int f = 7; | ||
int g = 6; | int g = 6; | ||
- | int dp = 10; | + | int h = 10; |
+ | int keyPin = 12; | ||
- | void setup() { | + | // Цифра " |
- | | + | void display1(void) { |
- | | + | |
+ | | ||
| | ||
- | void loop() { | + | // Цифра " |
+ | void display2(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(g, | ||
+ | digitalWrite(e, | ||
+ | digitalWrite(d, | ||
+ | } | ||
+ | // Цифра " | ||
+ | void display3(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(c, | ||
+ | digitalWrite(d, | ||
+ | digitalWrite(g, | ||
+ | } | ||
+ | // Цифра " | ||
+ | void display4(void) { | ||
+ | digitalWrite(f, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(g, | ||
+ | digitalWrite(c, | ||
+ | } | ||
+ | // Цифра " | ||
+ | void display5(void) { | ||
digitalWrite(a, | digitalWrite(a, | ||
digitalWrite(f, | digitalWrite(f, | ||
Строка 34: | Строка 60: | ||
digitalWrite(c, | digitalWrite(c, | ||
digitalWrite(d, | digitalWrite(d, | ||
+ | | ||
+ | // Цифра " | ||
+ | void display6(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(f, | ||
+ | digitalWrite(g, | ||
+ | digitalWrite(c, | ||
+ | digitalWrite(d, | ||
+ | digitalWrite(e, | ||
+ | | ||
+ | // Цифра " | ||
+ | void display7(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(c, | ||
+ | | ||
+ | // Цифра " | ||
+ | void display8(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(g, | ||
+ | digitalWrite(c, | ||
+ | digitalWrite(d, | ||
+ | digitalWrite(e, | ||
+ | digitalWrite(f, | ||
+ | | ||
+ | // Цифра " | ||
+ | void display9(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(g, | ||
+ | digitalWrite(c, | ||
+ | digitalWrite(d, | ||
+ | digitalWrite(f, | ||
+ | | ||
+ | // Цифра " | ||
+ | void display0(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(c, | ||
+ | digitalWrite(d, | ||
+ | digitalWrite(e, | ||
+ | digitalWrite(f, | ||
} | } | ||
- | </file> | + | // |
+ | void clearDisplay(void) { | ||
+ | digitalWrite(a, | ||
+ | digitalWrite(b, | ||
+ | digitalWrite(g, | ||
+ | digitalWrite(c, | ||
+ | digitalWrite(d, | ||
+ | digitalWrite(e, | ||
+ | digitalWrite(f, | ||
+ | | ||
- | Программа | + | void setup() { |
+ | int i; | ||
+ | for(i=4; | ||
+ | pinMode(i, | ||
+ | pinMode(keyPin, | ||
+ | digitalWrite(h, | ||
+ | display0(); | ||
+ | } | ||
+ | |||
+ | int x = -1; | ||
+ | int switchState = 0; | ||
+ | int oldSwitchState = 0; | ||
+ | boolean lightsOn = false; | ||
+ | void loop() { | ||
+ | | ||
+ | if (switchState != oldSwitchState) { | ||
+ | oldSwitchState = switchState; | ||
+ | if (switchState == HIGH) { | ||
+ | lightsOn = !lightsOn; | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | delay(100); | ||
+ | x = x + 1; | ||
+ | } | ||
+ | if (x == 0) {clearDisplay(); | ||
+ | if (x == 1) {clearDisplay(); | ||
+ | if (x == 2) {clearDisplay(); | ||
+ | if (x == 3) {clearDisplay(); | ||
+ | if (x == 4) {clearDisplay(); | ||
+ | if (x == 5) {clearDisplay(); | ||
+ | if (x == 6) {clearDisplay(); | ||
+ | if (x == 7) {clearDisplay(); | ||
+ | if (x == 8) {clearDisplay(); | ||
+ | if (x == 9) {clearDisplay(); | ||
+ | if (x > 9) {x = 0;} | ||
+ | } | ||
+ | </ | ||
+ | На первый взгляд программа | ||
+ | В начале программы мы инициализируем переменные соответствующие номерам пинов к которым подключен LED - индикатор и кнопка.\\ | ||
+ | Далее | ||
+ | В функции '' | ||
+ | В функции '' | ||
+ | Благодаря тому, что мы отображение цифр | ||
==== Дополнительное задание ==== | ==== Дополнительное задание ==== | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
- | * Измени код программы, чтобы | + | Добавь к цифрам |
</ | </ | ||
+ | |||
+ | === Задание повышенной сложности === | ||
+ | <WRAP center round tip 60%> | ||
+ | Напиши программу с аналогичным результатом используя массивы | ||
+ | </ | ||
+ |