*Giới thiệu
Bài học này giới thiệu về cách thiết kế , gia công và lập trình điều khiển led 7 đoạn đƣợc ứng dụng rộng rãi trong thực tế
*Mục tiêu: Sau khi học xong bài học này, ngƣời học có khảnăng:
- Trình bày đƣợc cấu tạo và nguyên lý hoạt động của led 7 đoạn - Vẽ đƣợc sơ đồ nguyên lý mạch giao tiếp LED 7 đoạn với Arduino
- Mô phỏng đƣợc chƣơng trình mạch giao tiếp LED 7 đoạn với Arduino
bằng phần mềm mô phỏng
- Kết nối đƣợc phần cứng mạch giao tiếp LED 7 đoạn với Arduino đúng yêu cầu kỹ thuật.
- Viết, nạp và chạy đƣợc chƣơng trình giao tiếp LED 7 đoạn với Arduino
*Nội dung:
1. Cấu tạo led 7 đoạn
Hình 7.1. Hình dáng thực tế led 7 đoạn
Thực ra cấu trúc của LED 7 đoạn gồm 8 LED đơn, nhìn lên hình trên chắc cáctacũng thấy gồm có 7 đoạn và một dấu chấm nhỏ, mỗi đoạn và dấu chấm nhỏ đó là một LED đơn.
Việc sử dụng LED 7 đoạn chúng ta có thể sử dụng để hiển thị các số, các chữ
cái anphabet và nhiều kiểu ký tự khác nhau. Nhƣ trên hình cáctađã thấy, một LED
7 đoạn đơn gồm 10 chân đó là các chân: a, b, c, d, e, f, g, 2 chân chung và chân dấu chấm tròn (DP).
LED 7 đoạn gồm 2 loại đó là dƣơng chung và âm chung. Trong bài học này chúng ta sẽ viết chƣơng trình và tải vào Arduino để hiển thị các số từ 0-9 ( Loại âm chung).
94
Hình 7.2. cấu trúc led 7 đoạn
Để LED hiển thị chúng ta phải làm cho 8 LED đơn nhƣ ở trên hiển thị, ví dụ ở đây 8 LED ở đây là các led mang kí tự a, b, c, d, e, f, g và một dấu chấm ở chân cuối.
Bây giờ chúng ta thử suy nghĩ nếu chúng ta muốn hiển thị số 0 chúng ta phải làm
thế nào? Nhìn vào hình LED hiển thị ở đầu bài chúng ta thấy: Để hiển thị số 0 thì
chúng ta phải làm cho các LED đơn a, b, c, d, e, f phải sáng lên, dấu chấm và g phải tắt đi. Nhƣ vậy để tạo số 0 chúng ta phải thể hiện mã code hệ nhị phân (binary) là B111111100. Tƣơng tự đối với số 1 thì có những cái LED nào sáng? Cáctacó thể viết đƣợc mã làm xuất hiện số 1 đƣợc không? Đó là: B01100000. Tƣơng tự đối với các số 2. 3, 4, 5, 6, 7, 9. Để dễ hiểu hơn tôi xin đƣa ra một bảng sau để cáctadò. Lƣu ý: sáng là 1, tắt là 0.
2. Phần cứng chuẩn bị:
Mạch Arduino (ở đây mình sử dụng Arduino UNO). Breadboard còn gọi testboard.
Dây test board. Điện trở 220 Ω. 1 led 7 đoạn đơn.
95
Lắp mạch:
CHÂN LED 7 ĐOẠN CHÂN ARDUINO
a 2 b 3 c 4 d 5 e 6 f 7 g 8 DP 9
Hình 7.3. Sơ đồ kết nối led 7 đoạn
3. Lập trình và giải thích.
// Khai báo chân
const int G = 8; // G= Arduino chân 8 const int F = 7; // F= Arduino chân 7 const int A = 2; // A = Arduino chân 2
const int B = 3; // B = Arduino chân 3 const int E = 6; // E = Arduino chân 6 const int D = 5; // D = Arduino chân 5 const int C = 4; // C = Arduino chân 4 const int dp = 9; // dp = Arduino chân 9
const int second = 1000; // thiết lập với mili giây, 1000 milliseconds = 1 second const int digit = 10; // Số ký tự hiển thị10 digits (0 - 9)
const int segment = 7; // Số thanh hiển thị trong LED (7) // Định nghĩa những thanh( led đơn) sáng
96 byte digseg[digit][segment] = { { 1,1,1,1,1,1,0 }, // = 0 { 0,1,1,0,0,0,0 }, // = 1 { 1,1,0,1,1,0,1 }, // = 2 { 1,1,1,1,0,0,1 }, // = 3 { 0,1,1,0,0,1,1 }, // = 4 { 1,0,1,1,0,1,1 }, // = 5 { 1,0,1,1,1,1,1 }, // = 6 { 1,1,1,0,0,0,0 }, // = 7 { 1,1,1,1,1,1,1 }, // = 8 { 1,1,1,1,0,1,1 } // = 9 };
void setup() { // Định nghĩa chân xuất tín hiệu OUTPUT writeDigit(digit); delay(second); } delay(4*second); } Câu hỏi ôn tập
97