Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x20,16,2);
- #include "PCF8574.h"
- PCF8574 pcf1;
- PCF8574 pcf2;
- void setup() {
- pinMode(13, OUTPUT);
- digitalWrite (13, HIGH);
- lcd.init(); // Инициализация lcd
- lcd.noBacklight();
- // Подключаем PCFки, задаем адрес I2C
- pcf1.begin(0x27);
- pcf2.begin(0x26);
- // Устанавливаем направление пинов
- pcf1.pinMode(0, OUTPUT); // Выход
- pcf1.pinMode(1, OUTPUT); // Выход
- pcf1.pinMode(2, OUTPUT); // Выход
- pcf1.pinMode(3, OUTPUT); // Выход
- pcf1.pinMode(4, OUTPUT); // Выход
- pcf1.pinMode(5, OUTPUT); // Выход
- pcf1.pinMode(6, OUTPUT); // Выход
- pcf1.pinMode(7, OUTPUT); // Выход
- pcf2.pinMode(0, OUTPUT); // Выход
- pcf2.pinMode(1, OUTPUT); // Выход
- pcf2.pinMode(2, OUTPUT); // Выход
- pcf2.pinMode(3, OUTPUT); // Выход
- pcf2.pinMode(4, OUTPUT); // Выход
- pcf2.pinMode(5, OUTPUT); // Выход
- pcf2.pinMode(6, OUTPUT); // Выход
- pcf2.pinMode(7, OUTPUT); // Выход
- }
- void loop() {
- // Поморгаем инверсно целыми портами микросхем
- pcf1.clear();
- pcf2.set();
- delay(600);
- pcf1.set();
- pcf2.clear();
- delay(600);
- pcf1.clear();
- pcf2.set();
- delay(600);
- pcf1.set();
- pcf2.clear();
- delay(600);
- pcf1.set();
- pcf2.set();
- delay(400);
- // Включаем светодиоды на портах с P0 по P7 один за одним параллельно на двух микросхемах
- for (int i = 0; i <= 7; i++)
- {
- pcf1.digitalWrite(i, LOW);
- pcf2.digitalWrite(i, LOW);
- delay(100);
- pcf1.digitalWrite(i, HIGH);
- pcf2.digitalWrite(i, HIGH);
- }
- // Включаем светодиоды на портах с P7 по P0 один за одним параллельно на двух микросхемах
- for (int i = 7; i >= 0; i--)
- {
- pcf1.digitalWrite(i, LOW);
- pcf2.digitalWrite(i, LOW);
- delay(100);
- pcf1.digitalWrite(i, HIGH);
- pcf2.digitalWrite(i, HIGH);
- }
- delay(400);
- // Включаем светодиоды на портах с P0 по P7 один за одним на микросхеме1
- for (int i = 0; i <= 7; i++)
- {
- pcf1.digitalWrite(i, LOW);
- delay(50);
- pcf1.digitalWrite(i, HIGH);
- }
- // Включаем светодиоды на портах с P0 по P7 один за одним на микросхеме2
- for (int i = 0; i <= 7; i++)
- {
- pcf2.digitalWrite(i, LOW);
- delay(50);
- pcf2.digitalWrite(i, HIGH);
- }
- // Включаем светодиоды на портах с P7 по P0 один за одним на микросхеме1
- for (int i = 7; i >= 0; i--)
- {
- pcf2.digitalWrite(i, LOW);
- delay(50);
- pcf2.digitalWrite(i, HIGH);
- }
- // Включаем светодиоды на портах с P7 по P0 один за одним на микросхеме2
- for (int i = 7; i >= 0; i--)
- {
- pcf1.digitalWrite(i, LOW);
- delay(50);
- pcf1.digitalWrite(i, HIGH);
- }
- delay(5000);
- lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки
- lcd.print("Hello, world!"); // Выводим текст
- lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
- lcd.print("zelectro.cc"); // Выводим текст
- delay (250);
- lcd.backlight(); // Включаем подсветку
- delay (3000);
- lcd.noBacklight();
- delay (250);
- lcd.backlight();
- delay (250);
- lcd.noBacklight();
- delay (250);
- lcd.backlight();
- delay (250);
- lcd.noBacklight();
- delay (250);
- lcd.backlight();
- delay (250);
- lcd.noBacklight();
- delay (250);
- lcd.backlight();
- delay (3000);
- lcd.clear ();
- lcd.noBacklight();
- delay (5000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement