Различия

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

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

products:laboratory_iot_c:exp27 [2024/11/15 12:52] – создано labuser30products:laboratory_iot_c:exp27 [2024/11/15 13:00] (текущий) – [Программный код эксперимента] labuser30
Строка 59: Строка 59:
   if (button_state == LOW and button_old_state == HIGH) {   if (button_state == LOW and button_old_state == HIGH) {
     count++;     count++;
-    Serial.println(count); 
     if (count > 9) count = 0;     if (count > 9) count = 0;
     draw_time(count);     draw_time(count);
Строка 68: Строка 67:
  
 Объявляем переменные и настраиваем кнопку. Объявляем переменные и настраиваем кнопку.
-<code python [enable_line_numbers="2", start_line_numbers_at="5"]> +<code arduino [enable_line_numbers="2", start_line_numbers_at="3"]> 
-button Pin(0, Pin.IN) +bool button_state LOW; 
-state_old 1 +bool button_old_state LOW; 
-count = 0+int  count = 0;
 </code> </code>
  
-В переменной ''state_old'' будем хранить прошлое состояние кнопки, чтобы обнаруживать нажатия, а в ''count'' будем хранить количество зарегистрированных нажатий.+В переменную ''button_state'' будем считывать состояние кнопки, d ''button_sstate_old'' — хранить прошлое состояние кнопки, чтобы обнаруживать нажатия, а в ''count'' — хранить количество зарегистрированных нажатий.
  
  
 Логика работы программы аналогична прошлому эксперименту, кроме основного цикла. Сначала определяем состояние кнопки. Если новое состояние "нажато" и прошлое "не нажато", то увеличиваем значение счетчика нажатий.  Логика работы программы аналогична прошлому эксперименту, кроме основного цикла. Сначала определяем состояние кнопки. Если новое состояние "нажато" и прошлое "не нажато", то увеличиваем значение счетчика нажатий. 
  
-<code python [enable_line_numbers="2", start_line_numbers_at="36"]> +<code arduino [enable_line_numbers="2", start_line_numbers_at="38"]> 
-new_state button.value() +  button_state digitalRead(BUTTON_PIN); 
-    if new_state == and state_old == 1: +  if (button_state == LOW and button_old_state == HIGH) { 
-        count = count + 1+    count++;
 </code> </code>
  
-Проверяем не переполнился ли счетчик, если количество нажатий было больше 9, то обнуляем его.+Проверяем не переполнился ли счетчик, если количество нажатий было больше 9, то обнуляем его. Отображаем текущее состояние счетчика нажатий на дисплее
  
 <code python [enable_line_numbers="2", start_line_numbers_at="39"]> <code python [enable_line_numbers="2", start_line_numbers_at="39"]>
-    if count > 9+    if (count > 9count = 0
-        count = 0+    draw_time(count);
 </code> </code>
  
-Записываем текущее состояние кнопки как старое и отображаем текущее состояние счетчика нажатий на дисплее.+Записываем текущее состояние кнопки как старое.
  
-<code python [enable_line_numbers="2", start_line_numbers_at="41"]> +<code python [enable_line_numbers="2", start_line_numbers_at="44"]> 
-    state_old new_state +  button_old_state button_state;
-    draw_time(count)+
 </code> </code>