Guest User

Untitled

a guest
Dec 9th, 2019
88
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // создать массив для хранения конфигурации выводов индикатора для цифр
  2. int num_array[10][7] = { { 1,1,1,1,1,1,0 }, // 0
  3. { 0,1,1,0,0,0,0 }, // 1
  4. { 1,1,0,1,1,0,1 }, // 2
  5. { 1,1,1,1,0,0,1 }, // 3
  6. { 0,1,1,0,0,1,1 }, // 4
  7. { 1,0,1,1,0,1,1 }, // 5
  8. { 1,0,1,1,1,1,1 }, // 6
  9. { 1,1,1,0,0,0,0 }, // 7
  10. { 1,1,1,1,1,1,1 }, // 8
  11. { 1,1,1,1,0,1,1 }}; // 9
  12.  
  13. // объявление функции
  14. void Num_Write(int);
  15.  
  16. bool isClicked = 0;
  17. int i = 0;
  18.  
  19. void setup()
  20. {
  21. // установить режимы работы выводов
  22. pinMode(4, OUTPUT);
  23. pinMode(5, OUTPUT);
  24. pinMode(6, OUTPUT);
  25. pinMode(7, OUTPUT);
  26. pinMode(8, OUTPUT);
  27. pinMode(9, OUTPUT);
  28. pinMode(10, OUTPUT);
  29. pinMode(11, INPUT);
  30. attachInterrupt(0, click, RISING);
  31. }
  32.  
  33. void loop()
  34. {
  35. if (isClicked) {
  36. Num_Write(i);
  37.  
  38. if (++i > 9) i = 0;
  39. isClicked = 0;
  40. }
  41. }
  42.  
  43. // эта функция записывает значения в выводы, подключенные к индикатору
  44. void Num_Write(int number)
  45. {
  46. int pin = 4;
  47. for (int j=0; j < 7; j++)
  48. {
  49. digitalWrite(pin, num_array[number][j]);
  50. pin++;
  51. }
  52. }
  53.  
  54. void click() {
  55. isClicked = 1;
  56. }
RAW Paste Data