Advertisement
Guest User

Untitled

a guest
Nov 1st, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. LiquidCrystal_I2C lcd(0x20,16,2);
  4. #include "PCF8574.h"
  5. PCF8574 pcf1;
  6. PCF8574 pcf2;
  7.  
  8. void setup() {
  9. pinMode(13, OUTPUT);
  10. digitalWrite (13, HIGH);
  11. lcd.init(); // Инициализация lcd
  12. lcd.noBacklight();
  13.  
  14. // Подключаем PCFки, задаем адрес I2C
  15. pcf1.begin(0x27);
  16. pcf2.begin(0x26);
  17.  
  18. // Устанавливаем направление пинов
  19. pcf1.pinMode(0, OUTPUT); // Выход
  20. pcf1.pinMode(1, OUTPUT); // Выход
  21. pcf1.pinMode(2, OUTPUT); // Выход
  22. pcf1.pinMode(3, OUTPUT); // Выход
  23. pcf1.pinMode(4, OUTPUT); // Выход
  24. pcf1.pinMode(5, OUTPUT); // Выход
  25. pcf1.pinMode(6, OUTPUT); // Выход
  26. pcf1.pinMode(7, OUTPUT); // Выход
  27.  
  28. pcf2.pinMode(0, OUTPUT); // Выход
  29. pcf2.pinMode(1, OUTPUT); // Выход
  30. pcf2.pinMode(2, OUTPUT); // Выход
  31. pcf2.pinMode(3, OUTPUT); // Выход
  32. pcf2.pinMode(4, OUTPUT); // Выход
  33. pcf2.pinMode(5, OUTPUT); // Выход
  34. pcf2.pinMode(6, OUTPUT); // Выход
  35. pcf2.pinMode(7, OUTPUT); // Выход
  36. }
  37. void loop() {
  38. // Поморгаем инверсно целыми портами микросхем
  39. pcf1.clear();
  40. pcf2.set();
  41. delay(600);
  42. pcf1.set();
  43. pcf2.clear();
  44. delay(600);
  45. pcf1.clear();
  46. pcf2.set();
  47. delay(600);
  48. pcf1.set();
  49. pcf2.clear();
  50. delay(600);
  51. pcf1.set();
  52. pcf2.set();
  53. delay(400);
  54.  
  55. // Включаем светодиоды на портах с P0 по P7 один за одним параллельно на двух микросхемах
  56. for (int i = 0; i <= 7; i++)
  57. {
  58. pcf1.digitalWrite(i, LOW);
  59. pcf2.digitalWrite(i, LOW);
  60. delay(100);
  61. pcf1.digitalWrite(i, HIGH);
  62. pcf2.digitalWrite(i, HIGH);
  63. }
  64.  
  65. // Включаем светодиоды на портах с P7 по P0 один за одним параллельно на двух микросхемах
  66. for (int i = 7; i >= 0; i--)
  67. {
  68. pcf1.digitalWrite(i, LOW);
  69. pcf2.digitalWrite(i, LOW);
  70. delay(100);
  71. pcf1.digitalWrite(i, HIGH);
  72. pcf2.digitalWrite(i, HIGH);
  73. }
  74.  
  75. delay(400);
  76.  
  77. // Включаем светодиоды на портах с P0 по P7 один за одним на микросхеме1
  78. for (int i = 0; i <= 7; i++)
  79. {
  80. pcf1.digitalWrite(i, LOW);
  81. delay(50);
  82. pcf1.digitalWrite(i, HIGH);
  83. }
  84. // Включаем светодиоды на портах с P0 по P7 один за одним на микросхеме2
  85. for (int i = 0; i <= 7; i++)
  86. {
  87. pcf2.digitalWrite(i, LOW);
  88. delay(50);
  89. pcf2.digitalWrite(i, HIGH);
  90. }
  91.  
  92. // Включаем светодиоды на портах с P7 по P0 один за одним на микросхеме1
  93. for (int i = 7; i >= 0; i--)
  94. {
  95. pcf2.digitalWrite(i, LOW);
  96. delay(50);
  97. pcf2.digitalWrite(i, HIGH);
  98. }
  99. // Включаем светодиоды на портах с P7 по P0 один за одним на микросхеме2
  100. for (int i = 7; i >= 0; i--)
  101. {
  102. pcf1.digitalWrite(i, LOW);
  103. delay(50);
  104. pcf1.digitalWrite(i, HIGH);
  105. }
  106. delay(5000);
  107.  
  108. lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки
  109. lcd.print("Hello, world!"); // Выводим текст
  110. lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
  111. lcd.print("zelectro.cc"); // Выводим текст
  112. delay (250);
  113. lcd.backlight(); // Включаем подсветку
  114. delay (3000);
  115. lcd.noBacklight();
  116. delay (250);
  117. lcd.backlight();
  118. delay (250);
  119. lcd.noBacklight();
  120. delay (250);
  121. lcd.backlight();
  122. delay (250);
  123. lcd.noBacklight();
  124. delay (250);
  125. lcd.backlight();
  126. delay (250);
  127. lcd.noBacklight();
  128. delay (250);
  129. lcd.backlight();
  130. delay (3000);
  131. lcd.clear ();
  132. lcd.noBacklight();
  133. delay (5000);
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement