Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot_c:exp34 [2024/11/15 20:46] – [Программный код эксперимента] labuser30 | products:laboratory_iot_c:exp34 [2024/11/16 11:11] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 44: | Строка 44: | ||
void setup() { | void setup() { | ||
+ | Serial.begin(9600); | ||
lcd.init(); | lcd.init(); | ||
lcd.setBacklight(0); | lcd.setBacklight(0); | ||
pinMode(ENC_A, | pinMode(ENC_A, | ||
- | pinMode(ENC_B, | + | pinMode(ENC_B, |
+ | printLcd(count); | ||
} | } | ||
Строка 57: | Строка 59: | ||
if ((value_a and value_b) or (not value_a and not value_b)) { | if ((value_a and value_b) or (not value_a and not value_b)) { | ||
count++; | count++; | ||
+ | Serial.println(" | ||
printLcd(count); | printLcd(count); | ||
} | } | ||
else if ((not value_a and value_b) or (value_a and not value_b)) { | else if ((not value_a and value_b) or (value_a and not value_b)) { | ||
count--; | count--; | ||
+ | Serial.println(" | ||
printLcd(count); | printLcd(count); | ||
} | } | ||
Строка 69: | Строка 73: | ||
Настраиваем выводы для работы с энкодером: | Настраиваем выводы для работы с энкодером: | ||
- | <code arduino[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
pinMode(ENC_A, | pinMode(ENC_A, | ||
pinMode(ENC_B, | pinMode(ENC_B, | ||
Строка 81: | Строка 85: | ||
В основном цикле программы получаем текущие состояния линий А и B. | В основном цикле программы получаем текущие состояния линий А и B. | ||
Если состояние линии А изменилось, | Если состояние линии А изменилось, | ||
- | <code python[enable_line_numbers=" | + | <code python[enable_line_numbers=" |
if ((value_a and value_b) or (not value_a and not value_b)) | if ((value_a and value_b) or (not value_a and not value_b)) | ||
</ | </ | ||
Строка 87: | Строка 91: | ||
Если условие выше не подтвердилось, | Если условие выше не подтвердилось, | ||
- | <code arduino[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
else if ((not value_a and value_b) or (value_a and not value_b)): | else if ((not value_a and value_b) or (value_a and not value_b)): | ||
</ | </ | ||
- | Если уровень сигнала А стал низким, | + | Если уровень сигнала А стал низким, |
Если ни одно из этих условий не выполнено, | Если ни одно из этих условий не выполнено, | ||
- | <code arduino[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
value_a_old = value_a; | value_a_old = value_a; | ||
</ | </ |