Sơ đồ nguyên lý điện tử Hình 1.5: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn trên cổng P13 của Arduino Nguyên lý hoạt động Nhiệm vụ trong bài tập này là điều khiển bật/
Trang 1BỘ MÔN CÔNG NGHỆ Ô TÔ VÀ HỆ THỐNG CẢM BIẾN
BÀI GIẢNG THỰC HÀNH VI XỬ LÝ VÀ VI ĐIỀU KHIỂN
Trang 2MỤC LỤC
DANH MỤC HÌNH VẼ 8
PHẦN I: THỰC HÀNH BÀI THỰC HÀNH LẬP TRÌNH 19
TRÊN NỀN TẢNG ARDUINO 19
A MỤC ĐÍCH CHUNG 19
B CƠ SỞ LÝ THUYẾT 19
BÀI 1: LẬP TRÌNH I/O HỆ THỐNG 16 LED ĐỎ ĐƠN 20
NỘI DUNG THỰC HÀNH 20
1.1 Thiết bị sử dụng 20
1.1.1 Arduino 20
1.1.2 Hệ thống LED đơn 20
1.1.3 Công tắc và chiết áp 21
1.2 Nội dung chuẩn bị 22
1.3 Các bài tập thí nghiệm 23
1.3.1 Lập trình bật/tắt từng LED và toàn bộ hệ thống LED đỏ đơn theo chương trình 23
1.3.2 Lập trình bật/tắt từng LED và toàn bộ hệ thống LED đỏ đơn bằng công tắc 30
1.3.3 Lập trình bật/tắt hệ thống LED đỏ đơn theo thời gian với một số hiệu ứng 36
1.3.4 Lập trình điều chỉnh độ sáng tối của từng LED và toàn hệ thống LED đỏ đơn 44
BÀI 2: LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG 4 LED 7 ĐOẠN 51
2.1 Thiết bị sử dụng 51
2.1.1 Arduino 51
2.1.2 LED 7 đoạn 51
2.1.3 IC 74LS14 51
2.1.4 IC 74LS138 52
Trang 32.1.5 Bàn phím 3x4 52
2.2 Nội dung chuẩn bị 53
2.3 Các bài tập thí nghiệm 54
2.3.1 Lập trình bật/tắt từng LED 7 đoạn và toàn bộ hệ thống 4 LED 7 đoạn 54
2.3.2 Lập trình hiển thị số trên từng LED 7 đoạn và toàn bộ hệ thống LED 7 đoạn từ bàn phím 66
2.3.3 Lập trình hiển thị số trên LED 7 đoạn theo thời gian và tự động đếm xuôi ngược 82
BÀI 3: HIỂN THỊ DỮ LIỆU TRÊN LCD 95
3.1 Thiết bị sử dụng trong Module IA03 95
3.1.1 Arduino 95
3.1.2 LCD 95
3.1.3 Bàn phím 3x4 96
3.1.4 Cảm biến nhiệt độ 96
3.2 Nội dung chuẩn bị 96
3.3 Các bài tập thí nghiệm 97
3.3.1 Lập trình hiển thị dữ liệu lên màn hình LCD 97
3.3.2 Lập trình hiển thị dữ liệu lên màn hình LCD từ bàn phím 104
3.3.3 Lập trình thu thập giá trị nhiệt độ từ cảm biến nhiệt độ hiển thị lên màn hình LCD 116
BÀI 4: ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU 121
4.1 Thiết bị sử dụng trong Module IA04 121
4.1.1 Arduino 121
4.1.2 Module L298 121
4.1.2 Động cơ một chiều 122
Trang 44.2 Nội dung chuẩn bị 122
4.3 Các bài tập thí nghiệm 123
4.3.1 Lập trình bật/tắt hệ thống 2 động cơ một chiều bằng công tắc 123
4.3.2 Lập trình thay đổi chiều quay của từng động cơ một chiều bằng công tắc 132
4.3.3 Lập trình thay đổi tốc độ và chiều quay của hệ thống 2 động cơ một chiều 143
BÀI 5: LẬP TRÌNH SA BÀN MÔ HÌNH ĐÈN GIAO THÔNG 155
5.1 Thiết bị sử dụng trong sa bàn mô hình đèn giao thông 155
5.1.1 Arduino 155
5.1.2.LED và LED 7 đoạn 155
5.1.3 Module L298 155
5.1.4 Động cơ một chiều 155
5.2 Nội dung chuẩn bị 155
5.3 Các bài tập thí nghiệm 156
5.3.1 Lập trình điều khiển bật/tắt tự động hệ thống LED đơn xanh, đỏ, vàng trên sa bàn mô hình đèn giao thông 156
5.3.2 Lập trình điều khiển bật/tắt tự động hệ thống LED đơn (xanh, đỏ, vàng) theo thời gian hiển thị trên hệ thống LED 7 đoạn trên sa bàn mô hình đèn giao thông 161
5.3.3 Lập trình điều khiển tự động bật/tắt, tốc độ động cơ theo thời gian trên sa bàn mô hình đèn giao thông 169
5.3.4 Lập trình cho hệ thống đèn giao thông trên sa bàn mô hình đèn giao thông 177
PHẦN II: THỰC HÀNH BÀI THỰC HÀNH LẬP TRÌNH 187
TRÊN NỀN TẢNG ZOLERTIA 187
A MỤC ĐÍCH CHUNG 187
B CƠ SỞ LÝ THUYẾT 187
BÀI 6: LẬP TRÌNH I/O VỚI HỆ THỐNG 16 LED 188
Trang 5TRÊN NỀN TẢNG ZOLERTIA 188
6.1 Thiết bị sử dụng 188
6.1.1 Zolertia 188
6.1.2 Hệ thống LED đỏ 189
6.2 Nội dung chuẩn bị 189
6.3 Các bài tập thí nghiệm 190
BÀI 7: LẬP TRÌNH CHO CẢM BIẾN ÁNH SÁNG, NHIỆT ĐỘ 224
VÀ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN 224
7.1 Thiết bị sử dụng 224
7.1.1 Zorlertia 225
7.1.2 Cảm biến ánh sáng 225
7.1.3 Cảm biến nhiệt độ LM35 225
7.1.4 Rơle 225
7.2 Nội dung chuẩn bị 225
7.3 Các bài tập thí nghiệm 226
7.3.1 Lập trình thu thập dữ liệu từ cảm biến nhiệt độ và hiển thị lên máy tính 226
7.3.2 Lập trình thu thập dữ liệu từ cảm biến ánh sáng và hiển thị lên máy tính 231
7.3.3 Lập trình điều khiển bật/tắt 2 thiết bị điện từ nút bấm 235
7.3.4 Lập trình điều khiển 2 thiết bị điện dựa trên ngưỡng của nhiệt độ và ánh sáng246 BÀI 8: NGẮT VÀ CẢM BIẾN CHUYỂN ĐỘNG 264
8.1 Thiết bị sử dụng 264
8.1.1 Zolertia 265
8.1.2 Cảm biến chuyển động 265
8.2 Các nội dung chuẩn bị 265
Trang 68.3 Các bài tập thí nghiệm 266
8.3.1 Lập trình tác động ngắt từ nút bấm để hệ thống LED đơn thay đổi chế độ chạy 266
8.3.2 Lập trình kết nối với cảm biến chuyển động và thông báo tới máy tính 279
8.3.3 Lập trình kết nối với cảm biến chuyển động và điều khiển hệ thống điện tương ứng (điện, còi báo động) 284
BÀI 9: ĐO TIÊU THỤ ĐIỆN NĂNG CỦA THIẾT BỊ ĐIỆN 299
9.1 Thiết bị sử dụng 299
9.1.1 Zolertia 299
9.1.2 Cảm biến dòng điện 299
9.2 Nội dung chuẩn bị 300
9.3 Các bài thí nghiệm 301
9.3.1 Lập trình đo dòng điện 1 thiết bị điện 301
9.3.2 Lập trình đo dòng điện 2 thiết bị điện 307
BÀI 10: BÀI THÍ NGHIỆM TÍCH HỢP SỬ DỤNG MỘT SỐ THÀNH PHẦN TRÊN MODULE IZ02, IZ03 VÀ IZ04 315
10.1 Thiết bị sử dụng 315
10.1.1 Zolertia 315
10.1.2 Cảm biến nhiệt độ, ánh sáng, chuyển động, dòng điện 315
10.2 Các nội dung chuẩn bị 315
10.3 Các bài thí nghiệm 316
10.3.1 Lập trình tích hợp ba cảm biến nhiệt độ, ánh sáng và chuyển động để điều khiển còi báo động và từng thiết bị điện dựa theo điều kiện khác nhau và đồng thời đo dòng tiêu thụ của thiết bị điện tương ứng 316
TÀI LIỆU THAM KHẢO 328
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1: Arduino Uno 20
Hình 1.2: Đèn LED đỏ 21
Hình 1.3: Ký hiệu chiết áp 21
Hình 1.4: Cấu tạo chiết áp 21
Hình 1.5: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn 23
trên cổng P13 của Arduino 23
Hình 1.6: Lưu đồ thuật toán chương trình bật/tắt 01 LED đơn trên cổng P13 24
Hình 1.7: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt một LED đơn trên cổng P13 của Arduino 24
Hình 1.8: Biên dịch chương trình 25
Hình 1.9: Nạp chương trình điều khiển vào Arduino 26
Hình 1.10: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn 27
trên cổng P0-P7 của Arduino 27
Hình 1.11: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 28
Hình 1.12: Sơ đồ đấu nối hoàn chình bài thí nghiệm bật/tắt 08 LED đơn trên cổng P0-P7 của Arduino 29
Hình 1.13: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn bằng công tắc 30
Hình 1.14: Lưu đồ thuật toán chương trình bật/tắt 01 LED đơn 31
trên cổng P7 sử dụng công tắc 31
Hình 1.15: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt 1 LED đơn 32
bằng một công tắc 32
Hình 1.16: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn bằng một công tắc 33
Hình 1.17: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 sử dụng công tắc tại cổng A2 34
Hình 1.18: Sơ đổ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt 08 LED đơn bằng một công tắc 35
Trang 9Hình 1.19: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn theo thời gian
với một số hiệu ứng 37
Hình 1.20: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 với một số hiệu ứng 37
Hình 1.21: Sơ đồ đấu nối hoàn chình bài thí nghiệm bật/tắt 08 LED đơn theo thời gian với mốt số hiệu ứng 38
Hình 1.22: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 16 LED đơn sáng theo hiệu ứng chạy vòng 40
Hình 1.23: Lưu đồ thuật toán chương trình bật/tắt 16 LED đơn trên cổng P0-P13, A0-A1 theo hiệu ứng chạy vòng 41
Hình 1.24: Sơ đồ kết nối hoàn chỉnh bài thí nghiệm bât/tắt 16 LED đơn sáng theo hiệu ứng chạy vòng 42
Hình 1.25: Sơ đồ nguyên lý điện tử bài thí nghiệm điều chỉnh độ sáng tối 44
của một LED đơn tại cổng P9 của Arduino 44
Hình 1.26: Lưu đồ thuật toán chương trình điều chỉnh cường độ sáng của 01 LED đơn trên cổng P9 45
Hình 1.27: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm điều chỉnh độ sáng tối của một LED đơn bằng chương trình 46
Hình 1.28: Sơ đồ nguyên lý điện tử bài thí nghiệm điều chỉnh độ sáng tối 47
của 2 LED đơn bằng 2 chiết áp 47
Hình 1.29: Lưu đồ thuật toán chương trình điều chỉnh cường độ sáng của 02 LED đơn trên cổng P9-P10 sử dụng 02 chiết áp 48
Hình 1.30: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm điều chỉnh độ sáng tối 49
của 02 LED đơn bằng 02 chiết áp 49
Hình 2.1: Sơ đồ nguyên lý LED 7 đoạn 51
Hình 2.2: Sơ đồ nguyên lý IC 74LS14 51
Hình 2.3: Sơ đồ nguyên lý IC74LS138 52
Hình 2.4: Cấu tạo bàn phím 3x4 52
Hình 2.5: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình hiển thị một số bất kỳ trên LED 7 đoạn số 1 54
Trang 10Hình 2.6: Lưu đồ thuật toán chương trình hiển thị một số bất kỳ trên LED 7 đoạn số 1
56
Hình 2.7: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm lập trình hiển thị một số bất kỳ trên LED 7 đoạn số 1 57
Hình 2.8: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình hiển thị số bất kỳ trên 2 LED 7 đoạn số 1 và 2 60
Hình 2.9: Lưu đồ thuật toán chương trình hiển thị số bất kỳ trên LED 7 đoạn 62
số 1 và số 2 62
Hình 2.10: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm lập trình hiển thị một số bất kỳ trên LED 7 đoạn số 1 và 2 64
Hình 2.11: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình hiển thị một số bất kỳ trên LED 7 đoạn số 1 bằng bàn phím 67
Hình 2.12: Lưu đồ thuật toán chương trình hiển thị số bất kỳ trên LED 7 đoạn số 1bằng bàn phím 68
Hình 2.13: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm lập trình hiển thị một số bất kỳ trên LED 7 đoạn số 1 bằng bàn phím 70
Hình 2.14: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình hiển thị trên hệ thống 4 LED 7 đoạn bằng bàn phím 74
Hình 2.15: Lưu đồ thuật toán chương trình bật và hiện thị trên LED 7 đoạn số 1 76
Hình 2.16: Lưu đồ thuật toán chương trình bật và hiện thị trên LED 7 đoạn số 2 76
Hình 2.17: Lưu đồ thuật toán chương trình bật và hiện thị trên LED 7 đoạn số 3 76
Hình 2.18: Lưu đồ thuật toán chương trình bật và hiện thị trên LED 7 đoạn số 4 76
Hình 2.19: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm lập trình hiển thị trên hệ thống 4 LED 7 đoạn bằng bàn phím 78
Hình 2.20: Sơ đồ nguyên lý điện tử bài thì nghiệm lập trình hiển thị số 5, 6, 7, 8 theo thứ tự tăng dần rồi dừng lại khi đến số 8 trên LED 7 đoạn số 1 83
Hình 2.21: Lưu đồ thuật toán chương trình hiển thị số 5, 6, 7, 8 theo thứ tự tăng dần rồi dừng lại khi đến số 8 trên LED 7 đoạn số 1 84
Hình 2.22: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm lập trình hiển thị số 5, 6, 7, 8 theo thứ tự tăng dần rồi dừng lại khi đến số 8 trên LED 7 đoạn số 1 86
Trang 11Hình 2.23: Sơ đồ nguyên lý điện tử bài thí nghiệp lập trình hiển thị số 0 đến số 9 theo
thứ tự tăng dần và lặp lại trên LED 7 đoạn số 2 89
Hình 2.24: Lưu đồ thuật toán chương trình hiển thị số 0 đến 9 theo kiểu tăng dần và lặp lại trên LED 7 đoạn số 2 90
Hình 2.25: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm lập trình hiển thị số 0 đến số 9 theo thứ tự tăng dần và lặp lại trên LED 7 đoạn số 2 92
Hình 3.1: Kết nối LCD với vi điều khiển 95
Hình 3.2: Cấu tạo bàn phím 3x4 96
Hình 3.3: Sơ đồ khối cảm biến nhiệt độ DS18B20 96
Hình 3.4: Sơ đồ nguyên lý điện tử bài tập thí nghiệm lập trình hiển thị chữ “Xin chao” lên màn hình LCD từ chương trình điều khiển của Arduino 98
Hình 3.5: Lưu đồ thuật toán bài thí nghiệm hiển thị “Xin Chao”lên LCD 99
Hình 3.6: Sơ đồ đấu nối bài tập Lập trình hiển thị đoạn chữ: “Xin chao” 100
lên màn hình LCD 100
Hình 3.7: Sơ đồ nguyên lý bài thực hành hiển thị “Xin chao” và “Chuc mung” 101
Hình 3.8: Lưu đồ thuật toán bài thí nghiệm hiển thị “Xin chao” và “Chuc mung” 102
Hình 3.9: Sơ đồ đấu nối bài tập lập trình hiển thị đoạn chữ:“Xin chao” và “Chuc mung” lên màn hình LCD 103
Hình 3.10: Sơ đồ nguyên lý bài thí nghiệm hiển thị số lên màn hình LCD từ bàn phím 105
Hình 3.11: Lưu đồ thuật toán bài thí nghiệm hiển thị số lên màn hình LCD từ bàn phím 106
Hình 3.12: Sơ đồ đấu nối bài tập lập trình hiển thị số lên màn hình LCD từ bàn phím 108
Hình 3.12: Sơ đồ nguyên lý bài thí nghiệm nhập mật khẩu số từ bàn phím, nếu mật khẩu đúng hiển thị đoạn chữ: “Welcome”, nếu sai thì hiển thị đoạn chữ: “Error, Check again”, và quay về màn hình ban đầu để nhập lại mật khẩu 110
Hình 3.13: Lưu đồ thuật toán bài thí nghiệm kiểm tra mật khẩu nhập vào từ bàn phím 111
Trang 12Hình 3.14: Sơ đồ đấu nối bài tập lập trình nhập mật khẩu số từ bàn phím, nếu mật khẩu đúng hiển thị đoạn chữ : “Welcome”nếu sai thì hiển thị đoạn chữ: “Error,
Check again” và quay về màn hình ban đầu để kiểm tra mật khẩu 113
Hình 3.15: Sơ đồ nguyên lý bài thí nghiệm thu thập giá trị nhiệt độ từ cảm biến nhiệt độ hiển thị lên màn hình LCD 116
Hình 3.16: Lưu đồ thuật toán bài thí nghiệm thu thập giá trị nhiệt độ từ cảm biến nhiệt độ hiểnthị lên màn hình LCD 117
Hình 3.17: Sơ đồ đấu nối bài thí nghiệm lập trình thu thập giá trị từ cảm biến nhiệt độ hiển thị lên màn hình LCD 118
Hình 4.1: Sơ đồ nguyên lý IC cầu H L298 121
Hình 4.2: Sơ đồ cấu tạo động cơ một chiều 122
Hình 4.3: Sơ đồ nguyên lý bài tập lập trình bật/tắt động cơ một chiều số 1 124
bằng công tắc qua cổng P6 của Arduino 124
Hình 4.4: Lưu đồ thuật toán bài tập lập trình bật/tắt động cơ một chiều số 1 125
bằng công tắc qua cổng P6 của Arduino 125
Hình 4.5: Sơ đồ đấu nối bài tập lập trình bật/tắt động cơ một chiều số 1 126
bằng công tắc qua cổng P6 của Arduino 126
Hình 4.6: Sơ đồ nguyên lý bài tập lập trình bật/tắt hệ thống 2 động cơ một chiều bằng một công tắc qua cổng P6 của Arduino 128
Hình 4.7: Lưu đồ thuật toán bài tập lập trình bật/tắt hệ thống 2 động cơ một chiều bằng một công tắc qua cổng P6 của Arduino 129
Hình 4.8: Sơ đồ đấu nối bài tập lập trình bật/tắt hệ thống 2 động cơ một chiều bằn một công tắc qua cổng P6 của Arduino 130
Hình 4.9: Sơ đồ nguyên lý bài tập lập trình bật/tắt, thay đổi chiều quay của động cơ một chiều số 1 bằng 2 công tắc qua cổng P6, P7 của Arduino 132
Hình 4.10: Lưu đồ thuật toán bài tập lập trình bật/tắt, thay đổi chiều quay của động cơ một chiều số 1 bằng 2 công tắc qua cổng P6, P7 của Arduino 134
Hình 4.11: Sơ đồ đấu nối bài tập lập trình bật/tắt, thay đổi chiều quay của động cơ một chiều số 1 bằng 2 công tắc qua cổng P6, P7 của Arduino 135
Hình 4.12: Sơ đồ nguyên lý bài tập lập trình bật/tắt, thay đổi chiều quay của hệ thống 2 động cơ một chiều bằng 2 công tắc qua cổng P6, P7 của Arduino 138
Trang 13Hình 4.13:Lưu đồ thuật toán bài tập lập trình bật/tắt, thay đổi chiều quay của hệ thống 2 động cơ một chiều bằng 2 công tắc qua cổng P6, P7 của Arduino 140 Hình 4.14: Sơ đồ đấu nối bài tập lập trình bật/tắt, thay đổi chiều quay của hệ thống 2 động cơ một chiều bằng 2 công tắc qua cổng P6, P7 của Arduino 141 Hình 4.15: Sơ đồ nguyên lý bài tập lập trình bật/tắt, thay đổi chiều quay và tốc độ của động cơ một chiều số một bằng hai công tắc và một chiết áp qua cổng P6, P7 và A0 của Arduino 144 Hình 4.16:Lưu đồ thuật toán bài tập lập trình bật/tắt, thay đổi chiều quay và tốc độ của động cơ một chiều số một bằng hai công tắc và một chiết áp qua cổng P6, P7 và A0 của Arduino 146 Hình 4.17: Sơ đồ đấu nối bài tập lập trình bật/tắt, thay đổi chiều quay và tốc độ của động cơ một chiều số một bằng hai công tắc và một chiết áp qua cổng P6, P7 và A0 của Arduino 147 Hình 4.18: Sơ đồ nguyên lý bài tập lập trình bật/tắt, thay đổi chiều quay và tốc độ của hệ thống hai động cơ một chiều bằng hai công tắc và một chiết áp 149 Hình 4.19: Lưu đồ thuật toán bài tập lập trình bật/tắt, thay đổi chiều quay và tốc độ của hệ thống hai động cơ một chiều bằng hai công tắc và một chiết áp qua cổng P6, P7 và A0 của Arduino 151 Hình 4.20: Sơ đồ đấu nối bài tập lập trình bật/tắt, thay đổi chiều quay và tốc độ của
hệ thống hai động cơ một chiều bằng hai công tắc và một chiết áp qua cổng P6, P7 và A0 của Arduino 152 Hình 5.1: Sơ đồ nguyên lý bài thí nghiệm điều khiển bật/ tắt tự động hệ thống LED đơn (xanh, đỏ, vàntrên sa bàn đèn giao thông 156 Hình 5.2: Lưu đồ thuật toán bài tập điều khiển bật/ tắt tự động hệ thống LED đơn (xanh, đỏ, vàntrên sa bàn mô hình đèn giao thông 157 Hình 5.3: Sơ đồ đấu nối bài tập lập trình điều khiển bật/tắt tự động hệ thống LED đơn (xanh, đỏ, vàntrên sa bàn mô hình đèn giao thông 159 Hình 5.4: Sơ đồ nguyên lý bài thí nghiệm điều khiển bật/ tắt tự động hệ thống LED đơn (xanh, đỏ, vàntheo thời gian trên sa bàn đèn giao thông 162 Hình 5.5: Lưu đồ thuật toán chương trình khi bật đèn xanh ở trục đèn chính 164
Trang 14Hình 5.7: Lưu đồ thuật toán chương trình khi bật đèn đỏ ở trục đèn chính 165
Hình 5.8: Lưu đồ thuật toán chương trình khi bật đèn đỏ ở trục đèn phụ 165
Hình 5.9: Lưu đồ thuật toán chương trình khi bật đèn xanh ở trục đèn phụ 166
Hình 5.10: Lưu đồ thuật toán chương trình khi bật đèn vàng ở trục đèn phụ 166
Hình 5.11: Sơ đồ đấu nối bài tập lập trình điều khiển bật/tắt tự động hệ thống LED đơn (xanh, đỏ, vàntheo thời gian trên sa bàn mô hình đèn giao thông 168
Hình 5.12: Sơ đồ nguyên lý bài thí nghiệm điều khiển thay đổi tốc độ động cơ theo thời gian trên sa bàn mô hình đèn giao thông 169
Hình 5.13: Lưu đồ thuật toán chương trình khi bật đèn xanh, động cơ quay với tốc độ lớn nhất 171
Hình 5.14: Lưu đồ thuật toán chương trình khi bật đèn vàng, động cơ giảm tốc tới tốc độ trung bình 171
Hình 5.15: Lưu đồ thuật toán chương trình khi bật đèn đỏ, động cơ dừng 172
Hình 5.16: Sơ đồ đấu nối bài tập lập trình điều khiển tự động bật/tắt tốc độ 174
Hình 5.17: Sơ đồ nguyên lý bài thí nghiệm cho hệ thống đèn giao thông trên sa bàn mô hình đèn giao thông 178
Hình 5.18: Lưu đồ thuật toán chương trình lập trình hệ thống đèn giao thông 180
Hình 5.19: Sơ đồ đấu nối bài tập lập trình hệ thống đèn giao thông 182
Hình 6.1 Zolertia Z1 188
Hình 6.2 Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình bật/tắt cho 1 LED 190
Hình 6.3 Lưu đồ thuật toán bật 1 LED 191
Hình 6.4 Lưu đồ thuật toán tắt 1 LED 191
Hình 6.5: Sơ đồ đấu nối bài thí nghiệm bật/tắt cho 1 LED trên chân P2.0 192
Hình 6.6: Giao diện màn hình Terminal khi nạp chương trình thành công 194
Hình 6.7: Giao diện màn hình Terminal khi nạp chương trình bị lỗi 195
Hình 6.8: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình bật/tắt cho 08 LED 196
Hình 6.9: Lưu đồ thuật toán bật 8 LED 197
Hình 6.10: Lưu đồ thuật toán tắt 8 LED 197
Hình 6.11: Sơ đồ đấu nối bài thí nghiệm nối bật/tắt cho 08 LED 198
Hình 6.12: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình bật/tắt 16 LED 201
Hình 6.13: Lưu đồ thuật toán bật 16 LED 202
Trang 15Hình 6.14: Lưu đồ thuật toán tắt 16 LED 202 Hình 6.15: Sơ đồ đấu nối bài thí nghiệm bật/tắt cho 16 LED 203 Hình 6.16: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình bật/tắt 1 LED theo thời gian 206 Hình 6.17: Lưu đồ thuật toán LED bật/tắt trong thời gian 5s 207 Hình 6.18: Sơ đồ đấu nối bài thí nghiệm bật/tắt 1 LED theo thời gian 208 Hình 6.19: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình bật/tắt hệ thống 08 LED theo thời gian 210 Hình 6.20: Lưu đồ thuật toán 8 LED bật/tắt trong thời gian 10s 211 Hình 6.21: Sơ đồ đấu nối bài thí nghiệm bật/tắt hệ thống 08 LED theo thời gian 212 Hình 6.22: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình bật/tắt hệ thống 16 LED theo hiệu ứng 214 Hình 6.23: Lưu đồ thuật toán bật/tắt hệ thống 16 LED theo hiệu ứng chạy vòng 215 Hình 6.24: Sơ đồ đấu nối bài thí nghiệm bật/tắt hệ thống 16 LED với hiệu ứng chạy vòng 216 Hình 7.1 Sơ đồ mạch cảm biến ánh sáng sử dụng LDR 225 Hình 7.3 Rơ-le điện tử SSR-10DA 225 Hình 7.4 Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình thu thập dữ liệu từ cảm biến nhiệt độ hiển thị lên máy tính 227 Hình 7.5 Lưu đồ thuật toán thu thập giá trị ADC hiển thị lên máy tính 227 Hình 7.6 Sơ đồ đấu nối bài thí nghiệm thu thậpdữ liệu từ cảm biến nhiệt độ hiển thị lên máy tính 228 Hình 7.7 Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình thu thập dữ liệu từ cảm biến ánh sáng hiển thị lên máy tính 231 Hình 7.8 Lưu đồ thuật toán thu thập giá trị ánh sáng sử dụng chân ADC0 232 Hình 7.9: Sơ đồ đấu nối bài thí nghiệm thu thập dữ liệu từ cảm biến ánh sáng hiển thị lên máy tính 233 Hình 7.10: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình điều khiển bật/tắt 1 thiết
bị điện sử dụng 1 nút bấm 236 Hình 7.11: Lưu đồ thuật toán điều khiển bật/tắt 1 thiết bị điện sử dụng 1 nút bấm 236
Trang 16Hình 7.12: Sơ đồ đấu nối bài thí nghiệm điều khiển bật/tắt 1 thiết bị điện sử dụng 1 nút bấm 237 Hình 7.13: Sơ đồ đấu nối bài thí nghiệm điều khiển bật/tắt 2 thiết bị điện sử dụng 2 nút bấm 241 Hình 7.15: Sơ đồ đấu nối bài thí nghiệm điều khiển bật/tắt 2 thiết bị điện sử dụng 2 nút bấm 243 Hình 7.16: Sơ đồ đấu nối bài thí nghiệm điều khiển thiết bị điện theo ngưỡng nhiệt độ 247 Hình 7.17: Lưu đồ thuật toán điều khiển thiết bị điện dựa trên ngưỡng của nhiệt độ 248 Hình 7.18: Sơ đồ đấu nối bài thí nghiệm điều khiển thiết bị điện theo ngưỡng nhiệt độ 249 Hình 7.19: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình điều khiển thiết bị điện theo ngưỡng ánh sáng 252 Hình 7.20: Lưu đồ thuật toán điều khiển thiết bị điện dựa trên ngưỡng của ánh sáng 253 Hình 7.21: Sơ đồ đấu nối bài thí nghiệm điều khiển thiết bị điện theo ngưỡng ánh sáng 254 Hình 7.22: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình điều khiển thiết bị điện theo ngưỡng nhiệt độ, ánh sáng 257 Hình 7.23: Lưu đồ thuật toán điều khiển thiết bị điện dựa trên ngưỡng của ánh sáng
và nhiệt độ 258 Hình 7.24: Sơ đồ đấu nối bài thí nghiệm điều khiển thiết bị điện theo ngưỡng nhiệt độ, ánh sáng 259 Hình 8.1 Cảm biến chuyển động 265 Hình 8.2 Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình tác động ngắttừ 1 nút bấm
để bật/tắt 1 LED đơn 266 Hình 8.3 Lưu đồ thuật toán tác động ngắt từ nút bấm để bật/tắt 1 led đơn 267 Hình 8.4 Sơ đồ đấu nối bài thí nghiệm tác động ngắt từ 1 nút bấm để bật/tắt 1 LED đơn 268
Trang 17Hình 8.5 Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình tác động ngắt từ 1 nút bấm
để thay đổi chế độ chạy 08 LED đơn 271
Hình 8.6: Lưu đồ thuật toán tác động ngắt từ nút bấm để thay đổi chế độ chạy của 8 LED 272
Hình 8.7: Sơ đồ đấu nối bài thí nghiệm tác động ngắt từ nút bấm để thay đổi hiệu ứng 8 LED 273
Hình 8.8: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình kết nối với cảm biến chuyển động và thông báo tới máy tính 279
Hình 8.9: Lưu đồ thuật toán phát hiện chuyển động 280
Hình 8.10: Sơ đồ đấu nối bài thí nghiệm kết nối với cảm biến chuyển động và thông báo tới máy tính 281
Hình 8.11: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình điều khiển bật 1 LED sáng khi phát hiện có chuyển động 284
Hình 8.12: Lưu đồ thuật toán phát hiện có chuyển động thì bật 1 led sáng 285
Hình 8.13: Sơ đồ đấu nối bài thí nghiệm điều khiển bật 1 LED sáng khi phát hiện có chuyển động 286
Hình 8.14: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình điều khiển bật còi báo động khi phát hiện có chuyển động 289
Hình 8.15: Lưu đồ thuật toán lập trình phát hiện có chuyển động thì còi báo động 290 Hình 8.16: Sơ đồ đấu nối bài thí nghiệm điều khiển bật còi báo động khi phát hiện có chuyển động 291
Hình 8.17: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình điều khiển bật thiết bị điện khi phát hiện có chuyển động 294
Hình 8.18: Lưu đồ thuật toán phát hiện có chuyển động thì bật 1 thiết bị điện 294
Hình 8.19: Sơ đồ đấu nối bài thí nghiệm điều khiển bật thiết bị điện khi phát hiện có chuyển động 295
Hình 9.1 Cảm biến dòng điện theo hiệu ứng hall ACS 712 300
Hình 9.3: Lưu đồ thuật toán đo cường độ dòng điện của 1 thiết bị điện 302
Hình 9.4: Sơ đồ đấu nối bài thí nghiệm đo dòng điện 1 thiết bị điện 303 Hình 9.5: Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình đo dòng điện 2 thiết bị điện
Trang 18Hình 9.6: Lưu đồ thuật toán đo dòng điện 2 thiết bị điện 308 Hình 9.7: Sơ đồ đấu nối bài thí nghiệm đo dòng điện 2 thiết bị điện 309 Hình 10.1 Sơ đồ nguyên lý điện tử bài thí nghiệm lập trình tích hợp sử dụng một số thành phần trên module IZ02, IZ03, IZ04 317
Hình 10.2 Lưu đồ thuật toán bài thí nghiệm lập trình tích hợp sử dụng một số thànhphần trên module IZ02, IZ03, IZ04 319
Trang 19- Nền tảng Arduino: Cấu trúc phần cứng và phần mềm lập trình Arduino.
- Cách nhập xuất tín hiệu qua cổng I/O: Tín hiệu số và tín hiệu tương tự củaArduino
- Cách giao tiếp của Arduino với các thiết bị ngoại vi như: Bàn phím, LED 7đoạn, màn hình LCD, driver điều khiển động cơ một chiều, chiết áp, công tắc
B CƠ SỞ LÝ THUYẾT
Yêu cầu Sinh viên:
- Có kiến thức về lập trình C/C++, kiến thức về vi xử lý
- Có kiến thức về mạch điện tử, nền tảng Arduino
- Có kiến thức về một số thiết bị, linh kiện điện tử: một số loại IC, cảm biến,màn hình LCD…
Trang 20BÀI 1: LẬP TRÌNH I/O HỆ THỐNG 16 LED ĐỎ ĐƠN NỘI DUNG THỰC HÀNH
1.1 Thiết bị sử dụng
- Module thí nghiệm IA01.
- Đế chung.
- Máy tính.
- Phụ tùng: dây điện có phích cắm hai đầu, cáp nạp chương trình cho Arduino.
- Tài liệu hướng dẫn thí nghiệm.
Trang 221.2 Nội dung chuẩn bị
- Tìm hiểu khối đế chung, sơ đồ nguyên lý và thiết bị sử dụng trong Module IA01
- Chuẩn bị phụ tùng phục vụ cho thí nghiệm Module IA01
- Bật Aptomat ở đế chung để cấp nguồn xoay chiều cho bài thí nghiệm Kiểm tra đènbáo 220VAC ở khối nguồn xoay chiều, đèn sáng: Nguồn điện xoay chiều đã sẵn sàng
- Bật máy tính đã cài đặt phần mềm lập trình Arduino, dùng cáp kết nối máy tính vớiArduino, bật phần mềm lập trình cho Arduino, chọn cổng của máy tính kết nối vớiArduino và loại Arduino đang sử dụng
- Cấp nguồn cho Module IA01:
+ Dùng dây điện có phích cắm hai đầu để nối chốt: ‘GND’,’+5V’ ‘+12V’ của bộnguồn điện một chiều ở đế chung với chốt: ‘GND’, ‘+5V’, ‘+12V’ ở Module IA01 đểcấp nguồn cho Module thí nghiệm
Trang 23- Giúp người học bước đầu làm quen với phần mềm và phần cứng Arduino Phần mềm
mô phỏng Proteus
- Giúp người học biết cách lập trình xuất tín hiệu điều khiển ra một chân I/O của nềntảng Arduino
Sơ đồ nguyên lý điện tử
Hình 1.5: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn
trên cổng P13 của Arduino
Nguyên lý hoạt động
Nhiệm vụ trong bài tập này là điều khiển bật/tắt LED đơn Việc bật/tắt LEDđơn tương ứng với việc đưa tín hiệu ra cổng vào/ra của Arduino LED đơn được điềukhiển bởi chân P13 (digital) của Arduino LED sẽ sáng khi chân P13 ở mức thấp(LOW) và tắt khi chân P13 ở mức cao (HIGH) do đầu còn lại của LED nối với nguồn5V qua điện trở 220 Ohm LED sẽ sáng trong 1giây rồi tắt
Lưu đồ thuật toán
Trang 24Hình 1.6: Lưu đồ thuật toán chương trình bật/tắt 01 LED đơn trên cổng P13
Các bước thực hiện
- Bước 1: Dùng dây điện có phích cắm hai đầu để nối chốt ‘P13’ của Arduino với chốt
‘IN1’ của LED đơn ‘D1’ trên Module IA01 Sau khi kết nối các chốt, ta có sơ đồ kếtnối hoàn chỉnh của bài thí nghiệm như sau:
Hình 1.7: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt một LED đơn trên cổng
P13 của Arduino
- Bước 2: Viết chương trình bật/tắt cho 1 LED đơn trên cổng P13 với các lệnh như sau,
tên file là bat.tat.ino:
Trang 25- Bước 3: Biên dịch chương trình để kiểm tra chương trình có lỗi hay không Trên giao
diện phần mềm lập trình Arduino bấm vào biểu tượng ‘Veryfi’ để biên dịch chương
trình Nếu chương trình có lỗi thì xử lý ngược lại chuyển sang bước 4
Hình 1.8: Biên dịch chương trình
- Bước 4: Nạp chương trình vào Arduino: trên giao diện phần mềm lập trình Arduino,
bấm vào biểu tượng ‘Upload’ để nạp chương trình điều khiển vào Arduino Nếu xuất
hiện lỗi thì kiểm tra lỗi và xử lý, ngược lại chuyển sang bước 5
Trang 26Hình 1.9: Nạp chương trình điều khiển vào Arduino
- Bước 5: Gạt công tắc nguồn 1 chiều ở khối nguồn một chiều trên đế chung sang vị trí
‘on’ để chạy chương trình và theo dõi quá trình chạy chương trình.
Bài tập mở rộng
- Bài tập: Lập trình bật/tắt 1 LED đơn trên cổng P2 của Arduino
Báo cáo kết quả
- Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu
bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục
- Sinh viên vận dụng kiến thức có được làm bài tập mở rộng
* Bài tập 2: Lập trình bật/tắt 08 LED đơn sáng trên cổng P0-P7 của Arduino Mục đích
- Giúp người học thành thạo hơn với cách nhập/xuất dữ liệu trên các cổng I/O của
Arduino
- Giúp người học vận dụng những kiến thức đã được học ở môn lập trình chuyên dụng
Sơ đồ nguyên lý điện tử
Trang 27Hình 1.10: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn
trên cổng P0-P7 của Arduino
Nguyên lý hoạt động
Nhiệm vụ trong bài tập này là điều khiển bật/tắt 08 LED đơn Việc bật/tắt LEDđơn tương ứng với việc đưa tín hiệu ra cổng vào/ra của Arduino LED đơn được điềukhiển bởi chân P0-P7 (digital) của Arduino LED sẽ sáng khi 08 chân P0-P7 ở mứcthấp (LOW) và tắt khi 08 chân P0-P7 ở mức cao (HIGH) do đầu còn lại của LED nốivới nguồn 5V qua điện trở 220 Ohm LED sẽ sáng trong 1giây rồi tắt
Lưu đồ thuật toán
Tắt 8 LED cùng lúc
Trang 28Hình 1.11: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7
Các bước thực hiện
- Bước 1: Dùng các dây điện có phích cắm hai đầu để nối 08 chốt (P0- P7) củaArduino với 08 chốt (IN9-IN16) của 08 LED đơn (D9- D16) trên Module IA01 nhưsau:
Nối chốt P0 với chốt IN16
Nối chốt P1 với chốt IN15
Nối chốt P2 với chốt IN14
Nối chốt P3 với chốt IN13
Nối chốt P4 với chốt IN12
Nối chốt P5 với chốt IN11
Nối chốt P6 với chốt IN10
Nối chốt P7 với chốt IN9
Sau khi kết nối các chốt, ta có sơ đồ kết nối hoàn chỉnh của bài thí nghiệm như sau:
Hình 1.12: Sơ đồ đấu nối hoàn chình bài thí nghiệm bật/tắt 08 LED đơn trên cổng
P0-P7 của Arduino
- Bước 2: Viết chương trình bật/tắt cho 08 LED đơn trên cổng P0-P7 với các lệnh nhưsau, tên file là bat.tat 8LED.ino:
Trang 29- Bước 5: Gạt công tắc nguồn 1 chiều ở khối nguồn một chiều trên đế chung sang vị trí
‘on’ để chạy chương trình và theo dõi quá trình chạy chương trình.
Bài tập mở rộng
- Bài tập: Lập trình bật/tắt 08 LED trên cổng P8-P13, A0-A1
Báo cáo kết quả
- Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu
bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục
- Sinh viên vận dụng kiến thức có được làm bài tập mở rộng
1.3.2 Lập trình bật/tắt từng LED và toàn bộ hệ thống LED đỏ đơn bằng công tắc
* Bài tập 1: Lập trình bật/tắt 01 LED đơn sáng tại cổng P7 của Arduino bằng 01 công tắc qua cổng A2 của Arduino
Mục đích
- Giúp người học làm quen với các chân analog của Arduino, cách xuất tín hiệu ra các
chân này
- Giúp người học nắm được cách sử dụng công tắc để điều khiển bật/tắt LED
Sơ đồ nguyên lý điện tử
Trang 30Hình 1.13: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn bằng công tắc
Nguyên lý hoạt động của sơ đồ nguyên lý điện tử
Một LED đỏ nối với nguồn 5V qua 1 trở 220 Ohm, LED này được điều khiểnbởi chân P7 của Arduino Arduino sẽ đọc mức logic tại chân A2 – mức logic chính làtrạng thái của công tắc là đóng hay mở Nếu Công tắc đóng, mức logic tại chân A2 làmức cao (HIGH) LED sẽ tắt và nếu công tắc mở, mức logic tại chân A2 là thấp(LOW) LED sẽ sáng Như vậy, LED sáng hay tắt sẽ dựa vào trạng thái đóng mở củacông tắc
Lưu đồ thuật toán
Khai báo cổng bật/tắt LED (P7) Khai báo cổng kết nối với công tắc (A2) Khai báo biến giatri
Trang 31Các bước thực hiện
- Bước 1: Nối nguồn điện cho công tắc SW1: Dùng dây điện có phích cắm hai đầu đểnối chốt ‘+5V’, ‘GND’ của bộ nguồn điện một chiều với chốt ‘+5V’, ‘GND’ của côngtắc SW1 trên đế chung
- Bước 2: Nối dây tín hiệu cho Arduino:
Dùng dây điện có phích cắm hai đầu để nối chốt ‘P13’ của Arduino với chốt
‘IN1’ của LED đơn D1 trên Moudle IA01
Dùng dây điện có phích cắm hai đầu để nối chốt ‘A0’ của Arduino ở trênModule IA01 với chốt ‘K1’ của công tắc SW1 trên đế chung
Sau khi kết nối các chốt, ta có sơ đồ đấu nối hoàn chỉnh của bài thí nghiệm như sau:
Hình 1.15: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt 1 LED đơn
Trang 32- Bước 6: Gạt công tắc nguồn 1chiều ở khối nguồn một chiều trên đế chung sang vị trí
‘on’ để chạy chương trình Gạt công tắc SW1 để điều khiển bật/tắt LED D1 và theo
dõi quá trình chạy chương trình
Bài tập mở rộng
- Bài tập: Lập trình bật/tắt 01 LED đơn sáng tại cổng P8 bằng một công tắc qua cổngP2 của Arduino
Báo cáo kết quả
- Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu
bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục
- Sinh viên vận dụng kiến thức có được làm bài tập mở rộng
* Bài tập 2: Lập trình bật/tắt 08 LED đơn sáng tại cổng P0-P7 bằng 01 công tắc qua cổng A2 của Arduino
Trang 33Hình 1.16: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn bằng một công
tắc
Nguyên lý hoạt động
Khi hoạt động Arduino sẽ đọc mức logic tại chân A2 để điều khiển bật/tắt đènLED Khi công tắc có mức logic cao (HIGH) ứng với trạng thái công tắc đóng thìArduino sẽ xuất ra tín hiệu mức thấp (LOW) trên các cổng từ P0 đến P7 khi này cả 8LED được nối với các cổng từ P0 đến P7 đều sáng Khi công tắc có mức logic thấp(LOW) ứng với trạng thái công tác mở thì Arduino sẽ xuất ra tín hiệu mức cao (HIGH)trên các cổng từ P0 đến P7 khi này cả 8 LED được nối với các cổng từ P0 đến P7 đềutắt
Lưu đồ thuật toán
Khai báo cổng bật/tắt LED (từ P0-P7) Khai báo cổng kết nối với công tắc (A2) Khai báo biến Turn
Trang 34Hình 1.17: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 sử
dụng công tắc tại cổng A2
Các bước thực hiện
- Bước 1: Nối nguồn điện cho công tắc SW1: Dùng dây điện có phích cắm hai đầu đểnối chốt ‘+5V’, ‘GND’ của bộ nguồn điện một chiều với chốt ‘+5V’, ‘GND’ của côngtắc SW1 trên đế chung
- Bước 2: Nối dây tín hiệu cho Arduino: Dùng các dây điện có phích cắm hai đầu để
nối chốt (P0- P7) của Arduino với chốt (IN9- IN16) của các LED đơn (D9- D16) trênModule IA01 như sau:
Nối chốt P0 với chốt IN16
Nối chốt P1 với chốt IN15
Nối chốt P2 với chốt IN14
Nối chốt P3 với chốt IN13
Nối chốt P4 với chốt IN12
Nối chốt P5 với chốt IN11
Nối chốt P6 với chốt IN10
Nối chốt P7 với chốt IN9
Dùng dây điện có phích cắm hai đầu để nối chốt ‘A0’ của Arduino ở trên ModuleIA01 với chốt ‘K1’ của công tắc SW1 trên đế chung
Sau khi kết nối các chốt, ta có sơ đồ đấu nối hoàn chỉnh của bài thí nghiệm như sau:
Trang 35Hình 1.18: Sơ đổ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt 08 LED đơn bằng một
Trang 36- Bước 6: Gạt công tắc nguồn 1 chiều ở khối nguồn một chiều trên đế chung sang vị trí
‘on’ để chạy chương trình Gạt công tắc SW1 để điều khiển bật/tắt LED D1 và theo
dõi quá trình chạy chương trình
Bài tập mở rộng
- Bài tập: Lập trình bật/tắt 08 LED trên cổng P8-P13, A0-A1 bằng một công tắc quacổng
Báo cáo kết quả
- Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu
bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục
- Sinh viên vận dụng kiến thức có được làm bài tập mở rộng
1.3.3 Lập trình bật/tắt hệ thống LED đỏ đơn theo thời gian với một số hiệu ứng
* Bài tập 1: Lập trình bật/tắt 08 LED đơn tại cổng P0-P7 của Arduino đồng loạt sáng trong một giây rồi đồng loạt tắt sau một giây và lặp đi lặp lặp lại
Mục đích
- Giúp người học nắm được cách sử dụng hàm delay trong phần mềm để lập trình điều
khiển bật/tắt LED theo một số hiệu ứng
Sơ đồ nguyên lý điện tử
Trang 37Hình 1.19: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn theo thời gian
với một số hiệu ứng
Nguyên lý hoạt động
Khi hoạt động Arduino sẽ xuất tín hiệu mức thấp (LOW) ra 8 chân từ P0 đến P7
để bật đồng thời 8 LED (thời gian sáng trong 1 giây) Sau đó Arduino xuất tín hiệumức cao (HIGH) ra 8 chân từ P0 đến P7 để tắt đồng thời 8 LED (thời gian tắt trong 1giây) Quá trình này lặp đi lặp lại với chu kỳ 2 giây
Lưu đồ thuật toán
Nối chốt P0 với chốt IN16
Nối chốt P1 với chốt IN15
Nối chốt P2 với chốt IN14
Nối chốt P3 với chốt IN13
Nối chốt P4 với chốt IN12
Nối chốt P5 với chốt IN11
Trang 38 Nối chốt P6 với chốt IN10.
Nối chốt P7 với chốt IN9
Sau khi kết nối các chốt, ta có sơ đồ kết nối hoàn chỉnh của bài thí nghiệm như sau:
Hình 1.21: Sơ đồ đấu nối hoàn chình bài thí nghiệm bật/tắt 08 LED đơn theo thời gian
Trang 39- Bước 6: Gạt công tắc nguồn 1 chiều ở khối nguồn một chiều trên đế chung sang vị
trí ‘on’ để chạy chương trình và theo dõi quá trình chạy chương trình.
Bài tập mở rộng
- Bài tập: Lập trình bặt/tắt 08 LED đơn trên cổng P8-P13, A0- A1 của Arduino cùngsáng trong 1 giây rồi cùng tắt và lặp đi lặp lại
Báo cáo kết quả
- Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu
bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục
- Sinh viên vận dụng kiến thức có được làm bài tập mở rộng
Sơ đồ nguyên lý điện tử
Trang 40Hình 1.22: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 16 LED đơn sáng theo hiệu
ứng chạy vòng
Nguyên lý hoạt động của sơ đồ nguyên lý điện tử
16 LED, mỗi LED đơn nối với nguồn 5V qua trở 220 Ohm Lần lượt mỗi LEDđược điều khiển bởi 16 chân theo thứ tự P0-P13 và A0-A1 Arduino sẽ lần lượt xuấtmức thấp (LOW) P0 để bật LED thứ 1 trong 100 mili giây, các chân còn lại ở mức cao(HIGH) và LED tại các chân này tắt Sau 100 mili giây, chân P1 ở mức thấp và LEDtại chân P1 sáng; chân P0 và các chân còn lại ở mức cao, các LED tại các chân này tắt.Tương tự các LED tiếp theo sẽ lần lượt sáng trong 100 mili giây cho đến khi hết 16LED rồi lặp lại tạo thành hiệu ứng chạy vòng
Lưu đồ thuật toán