TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.
HỒ CHÍ MINH
KHOA/VIỆN: KỸ THUẬT
BÁO CÁO MÔN HỌC:
THỰC HÀNH VI ĐIỀU KHIỂN
Ngành: CÔNG NGHỆ KỸ THUẬT Ô TÔ
Lớp: 23DOTD1
Sinh viên thực hiện: Lê Đình Hoàng Vũ
MSSV: 2382501201
Tp. Hồ Chí Minh, ngày 14 tháng 11 năm 2025
BÀI 4: ARDUINO
Bài 4.1
Code:
int led = 2;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
Kết quả:
Bài 4.2:
Code:
int leds[] = {2, 3, 4, 5, 6, 7, 8, 9};
int soLed = 8;
void setup() {
for (int i = 0; i < soLed; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < soLed; i++) {
digitalWrite(leds[i], HIGH);
}
delay(500);
for (int i = 0; i < soLed; i++) {
digitalWrite(leds[i], LOW);
}
delay(500);
}
Kết quả:
Bài 4.3:
Code:
int leds[] = {2,3,4,5,6,7,8,9};
void setup() {
for(int i = 0; i < 8; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
for(int i = 0; i < 8; i++) {
if ((i / 2) % 2 == 0) {
digitalWrite(leds[i], HIGH);
} else {
digitalWrite(leds[i], LOW);
}
}
delay(500);
for(int i = 0; i < 8; i++) {
if ((i / 2) % 2 == 0) {
digitalWrite(leds[i], LOW);
} else {
digitalWrite(leds[i], HIGH);
}
}
delay(500);
}
Kết quả:
Bài 4.4:
Code:
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int t = 300;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void loop() {
digitalWrite(led1, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led4, LOW);
delay(t);
digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led4, HIGH);
delay(t);
}
Kết quả:
Bài 4.5:
Code:
int ledTraiNgoai = 2;
int ledTraiTrong = 3;
int ledPhaiTrong = 4;
int ledPhaiNgoai = 5;
int t = 250;
void setup() {
pinMode(ledTraiNgoai, OUTPUT);
pinMode(ledTraiTrong, OUTPUT);
pinMode(ledPhaiTrong, OUTPUT);
pinMode(ledPhaiNgoai, OUTPUT);
}
void loop() {
bat(ledTraiNgoai, ledPhaiNgoai);
delay(t);
tatHet();
bat(ledTraiTrong, ledPhaiTrong);
delay(t);
tatHet();
bat(ledTraiTrong, ledPhaiTrong);
delay(t);
tatHet();
bat(ledTraiNgoai, ledPhaiNgoai);
delay(t);
tatHet();
}
void bat(int a, int b) {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
}
void tatHet() {
digitalWrite(ledTraiNgoai, LOW);
digitalWrite(ledTraiTrong, LOW);
digitalWrite(ledPhaiTrong, LOW);
digitalWrite(ledPhaiNgoai, LOW);
}
Kết quả:
Bài 4.6:
Code:
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], LOW);
delay(200);
digitalWrite(ledPins[i], HIGH);
}
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[7-i], LOW);
delay(200);
digitalWrite(ledPins[7-i], HIGH);
}
}
int ledTraiNgoai = 3;
int ledTraiTrong = 5;
int ledPhaiTrong = 6;
int ledPhaiNgoai = 9;
int stepDelay = 10;
void setup() {
pinMode(ledTraiNgoai, OUTPUT);
pinMode(ledTraiTrong, OUTPUT);
pinMode(ledPhaiTrong, OUTPUT);
pinMode(ledPhaiNgoai, OUTPUT);
}
void loop() {
for (int i = 0; i <= 255; i++) {
analogWrite(ledTraiNgoai, i);
analogWrite(ledPhaiNgoai, i);
delay(stepDelay);
}
for (int i = 0; i <= 255; i++) {
analogWrite(ledTraiTrong, i);
analogWrite(ledPhaiTrong, i);
delay(stepDelay);
}
for (int i = 255; i >= 0; i--) {
analogWrite(ledTraiNgoai, i);
analogWrite(ledPhaiNgoai, i);
delay(stepDelay);
}
for (int i = 255; i >= 0; i--) {
analogWrite(ledTraiTrong, i);
analogWrite(ledPhaiTrong, i);
delay(stepDelay);
}
}
Kết quả:
Bài 4.7:
Code:
int ledTraiNgoai = 3;
int ledTraiTrong = 5;
int ledPhaiTrong = 6;
int ledPhaiNgoai = 9;
int stepDelay = 10;
void setup() {
pinMode(ledTraiNgoai, OUTPUT);
pinMode(ledTraiTrong, OUTPUT);
pinMode(ledPhaiTrong, OUTPUT);
pinMode(ledPhaiNgoai, OUTPUT);
}
void loop() {
for (int i = 0; i <= 255; i++) {
analogWrite(ledTraiNgoai, i);
analogWrite(ledPhaiNgoai, i);
delay(stepDelay);
}
for (int i = 0; i <= 255; i++) {
analogWrite(ledTraiTrong, i);
analogWrite(ledPhaiTrong, i);
delay(stepDelay);
}
for (int i = 255; i >= 0; i--) {
analogWrite(ledTraiNgoai, i);
analogWrite(ledPhaiNgoai, i);
delay(stepDelay);
}
for (int i = 255; i >= 0; i--) {
analogWrite(ledTraiTrong, i);
analogWrite(ledPhaiTrong, i);
delay(stepDelay);
}
}
Kết quả:
LED 7 ĐOẠN:
Bài 4.8:
Code:
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
[Link](5);
}
void loop() {
for (int i = 0; i <= 100; i++) {
[Link](i);
delay(400);
}
}
Kết quả:
Bài 4.9:
Code:
#include <TM1637Display.h>
#define CLK 2 // Chân CLK nối với D2
#define DIO 3 // Chân DIO nối với D3
TM1637Display display(CLK, DIO);
void setup() {
[Link](5);
}
void loop() {
[Link](1234);
[Link](5678);
while (1);
}
Kết quả:
Bài 4.10:
Code:
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
int led8[] = {4, 5, 6, 7, 8, 9, 10, 11};
int led4[] = {12, 13, A0, A1};
void setup() {
[Link](5);
for (int i = 0; i < 8; i++) {
pinMode(led8[i], OUTPUT);
}
for (int i = 0; i < 4; i++) {
pinMode(led4[i], OUTPUT);
}
}
void loop() {
for (int lan = 1; lan <= 8; lan++) {
[Link](lan);
for (int i = 0; i < 8; i++) {
digitalWrite(led8[i], HIGH);
for (int j = 0; j < 4; j++) {
digitalWrite(led4[j], (i % 2 == 0) ? HIGH : LOW);
}
delay(300);
digitalWrite(led8[i], LOW);
}
for (int j = 0; j < 4; j++) {
digitalWrite(led4[j], LOW);
}
}
}
Kết quả:
Bài 4.11:
Code:
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
#define LED_D1 4
TM1637Display display(CLK, DIO);
int giay = 0;
int phut = 0;
void setup() {
[Link](5);
pinMode(LED_D1, OUTPUT);
}
void loop() {
int hienThi = phut * 100 + giay;
[Link](hienThi, 0b01000000, true);
delay(1000);
giay++;
if (giay == 60) {
giay = 0;
phut++;
digitalWrite(LED_D1, HIGH);
delay(100);
digitalWrite(LED_D1, LOW);
if (phut == 60) {
phut = 0;
giay = 0;
}
}
}
Kết quả: