Это старая версия документа!


Эксперимент 26. Секундомер

Научившись подключать и управлять светодиодным индикатором попробуем использовать его для отображения данных. Сконструируем простейший секундомер, который отсчитывает и отображает секунды от 0 до 9.

Схема эксперимента

Оставим схему, собранную на прошлом эксперименте. Рисунок 1. Электрическая принципиальная схема эксперимента

Токоограничительные резисторы обязательны!

Рисунок 2. Монтажная схема эксперимента

Программный код эксперимента

Exp25.py
  1. from machine import Pin
  2. import time
  3. _init()
  4.  
  5. segments = [14, 13, 4, 5, 12, 16, 15] # ABCDEFG
  6.  
  7. for s in segments:
  8. led = Pin(s, Pin.OUT).off()
  9.  
  10. digits = [
  11. [1, 1, 1, 1, 1, 1, 0], # 0
  12. [0, 1, 1, 0, 0, 0, 0], # 1
  13. [1, 1, 0, 1, 1, 0, 1], # 2
  14. [1, 1, 1, 1, 0, 0, 1], # 3
  15. [0, 1, 1, 0, 0, 1, 1], # 4
  16. [1, 0, 1, 1, 0, 1, 1], # 5
  17. [1, 0, 1, 1, 1, 1, 1], # 6
  18. [1, 1, 1, 0, 0, 0, 0], # 7
  19. [1, 1, 1, 1, 1, 1, 1], # 8
  20. [1, 1, 1, 1, 0, 1, 1], # 9
  21. ]
  22.  
  23. def draw_time(digit):
  24. for el in enumerate(digit):
  25. if (el[1]):
  26. Pin(segments[el[0]]).on()
  27. else:
  28. Pin(segments[el[0]]).off()
  29.  
  30.  
  31. for digit in digits:
  32. draw_time(digit)
  33. time.sleep(1)