#include <Wire.h>;
//Thư viện Wire.h cung cấp các hàm và phương thức
//để giao tiếp với các thiết bị thông qua giao thức I2C
#include <LiquidCrystal_I2C.h>;
LiquidCrystal_I2C lcd(0x27,16,2);
//0x27 là địa chỉ màn hình trong bus I2C
//16 là số cột của màn hình
//2 là số dòng của màn hình
#define LED1 1
#define LED2 2
#define LED3 3
#define LED4 4
#define LED5 5
#define LED6 6
#define LED7 7
#define LED8 8
#define LED9 9
int time = 200;
void setup() {
// put your setup code here, to run once:
// put your setup code here, to run once:
lcd.init(); //khởi tạo màn hình LCD. Khi được gọi,
//lệnh này sẽ thiết lập các cài đặt ban đầu cho màn hình LCD,
//bao gồm kích thước, số dòng, chế độ hiển thị và các thông số khác.
lcd.backlight(); //Bật đèn nền
for ( int LED = 1; LED < 10; LED++)
{
pinMode(LED, OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0, 0);//đặt con trỏ vào cột 1 dòng 1
lcd.print("TOI XIN LOI BAN ");
delay(3000);
lcd.clear();//xóa
lcd.setCursor(0, 1); //đặt con trỏ vào cột 2 dòng 2
lcd.print("GIO NAY TOI MOI ");
delay(3000);
lcd.clear();//xóa
lcd.setCursor(0, 0);//đặt con trỏ vào cột 1 dòng 1
lcd.print("GUI CAI NAY CHO ");
delay(3000);
lcd.clear();//xóa
lcd.setCursor(0, 1); //đặt con trỏ vào cột 2 dòng 2
lcd.print("BAN DUNG GIAN TOI ");
delay(3000);
lcd.clear();//xóa
// put your main code here, to run repeatedly:
//Hiệu ứng 1: Tất cả LED sáng
for(int i = 1; i < 10; i++)
{
digitalWrite(i, HIGH);
}
delay(time);
//Hiệu ứng 2: Tất cả các LED tắt
for(int i = 1; i < 10; i++)
{
digitalWrite(i, LOW);
}
delay(time);
//Hiệu ứng 3: LED sáng dần từ trái qua phải
for(int i = 10 ; i > 0; i--)
{
digitalWrite(i, HIGH);
delay(time);
}
//Hiệu ứng 4: LED tắt dần từ trái qua phải
for(int i = 9 ; i > 0; i--)
{
digitalWrite(i, LOW);
delay(time);
}
//Hiệu ứng 5: LED sáng dần từ phải qua trái
for(int i = 0 ; i < 10; i++)
{
digitalWrite(i, HIGH);
delay(time);
}
//Hiệu ứng 6: LED tắt dần từ phải qua trái
for(int i = 0 ; i < 10; i++)
{
digitalWrite(i, LOW);
delay(time);
}
//Hiệu ứng 6: LED sáng dần từ trong ra ngoài
for (int i = 5; i < 10; i++) {
digitalWrite(i , HIGH); //bật LED bên trái
digitalWrite(8 - i + 1, HIGH); //bật LED bên phải
delay(time); //đợi một khoảng thời gian
}
//Hiệu ứng 7: LED tắt dần từ ngoài vào trong
for (int i = 9; i > 4; i--) {
digitalWrite(i , LOW); //tắt LED bên trái
digitalWrite(9 - i + 1, LOW); //tắt LED bên phải
delay(time); //đợi một khoảng thời gian
}
//Hiệu ứng 8: LED 1 3 5 7 sáng (từ phải qua trái)
for(int i = 1 ; i < 10; i++)
{
if (i % 2 != 0)
{
digitalWrite(i , HIGH);
delay(time);
}
}
//Hiệu ứng 9: LED 2 4 6 8 sáng (từ phải qua trái)
for(int i = 1 ; i < 10; i++)
{
if (i % 2 == 0)
{
digitalWrite(i , HIGH);
delay(time);
}
}
delay(time);
}