Giới thiệu sơ lược về Led 7seg.
Hình ảnh: Led 7 đoạn
Ngày nay có rất nhiều thiết bị hiển thị trên thị trường trong đó có Led 7 đoạn là một linh kiện cần thiết và được ứng dụng nhiều trong cuộc sống như: làm đồng hồ led vạn niên, ứng dụng trong công nghiệp. Tuy màn hình LCD đang rất phát triển nhưng không thể phủ nhận được công dụng của Led 7 đoạn.
Để giúp các bạn hiểu rõ hơn về hoạt động của Led 7 đoạn và dễ dàng hơn trong việc lập trình cho Led 7 đoạn sau này thì mình sẽ giới thiệu qua cho các bạn về Led 7 đoạn
PHÂN LOẠI VÀ CẤU TẠO CỦA LED 7 ĐOẠN
- Led 7 thanh có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo Hình 1.1 dưới và có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 thanh. 8 led đơn trên led 7 đoạn có Aode(cực +) hoặc Cathode(cực -) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện.
- 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng:
- Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.
- Nếu led 7 đoạn có Cathode (cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.
Hình 1.1
Ảnh mô phỏng protues.
Code chương trình.
int latchPin = 8;
//chân SH_CP của 74HC595
int clockPin = 12;
//Chân DS của 74HC595
int dataPin = 11;
const int Seg[10] = {
0b11000000,//0 - các thanh từ a-f sáng
0b11111001,//1 - chỉ có 2 thanh b,c sáng
0b10100100,//2
0b10110000,//3
0b10011001,//4
0b10010010,//5
0b10000011,//6
0b11111000,//7
0b10000000,//8
0b10010000,//9
};
void setup() {
//Bạn BUỘC PHẢI pinMode các chân này là OUTPUT
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
static int point = 0;
//shiftout - start
digitalWrite(latchPin, LOW);
//Xuất bảng ký tự ra cho Module LED
shiftOut(dataPin, clockPin, MSBFIRST, Seg[point]);
digitalWrite(latchPin, HIGH);
//shiftout - end
point = (point + 1) % 10; // Vòng tuần hoàn từ 0--9
delay(500);//Đợi 0.5 s cho mỗi lần tăng số
}
EmoticonEmoticon