Top 12 # Xem Nhiều Nhất Cấu Tạo Led Matrix Mới Nhất 3/2023 # Top Like | Comforttinhdauthom.com

Bài 3: Lập Rình Led Matrix Với 8051.

Xin chào các bạn hôm nay mình sẽ hướng dẫn cho các bạn  về lập trình với led matrix.

Để chuẩn bị cho bài toán về LED matrix các bạn chuẩn bị một mạch điện mô phỏng đơn giản theo hình sau. Đánh vào từ khóa “Matrix”, kéo xuống chọn loại 8×8 (màu xanh, đỏ tùy các em).

Ở đây PORT2 dùng để điều khiển 8 cột LED, PORT3 dùng để điều khiển 8 hàng LED. LED sẽ sáng nếu thỏa mãn 2 điều kiện là Port3 xuất ra 0 và Port2 xuất ra 1. Port 3 cấp giá trị theo chân, PORT2 được dùng để xuất dữ liệu ra LED. Để đèn sáng thì chân tương ứng ở PORT2 phải có giá trị bằng 0. Chi tiết xem hình dưới.

Hiển thị một  chữ cái là :B

Code tham khảo

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

Hiển thị lần lượt các chữ cái:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

Hiển Thị Hình Ảnh Với Led Matrix 8×8

Xin chào các bạn, bài viết hôm nay của mình sẽ giới thiệu về cách hiển thị hình ảnh trên LED MATRIX 8×8 với cổng Serial.

Cách điều khiển LED MATRIX 8×8.

Ôn lại cách sử dụng IC 74HC595.

Arduino UNO R3.

1 LED MATRIX 8×8. (mình sử dụng loại row anode).

2 IC 74HC595.

8 điện trở 560 om

Để LED MATRIX hoạt động, chúng ta chỉ cần cấp dòng điện vào các chân ROWs và nối các chân COLUMNS với GND.

Về IC 74HC595, đã có 1 bài viết hướng dẫn rất chi tiết, các bạn có thể tham khảo ở Điều khiển 8 đèn LED sáng theo ý muốn

Mình sẽ giải thích cách lắp mạch ngay:

Để điều khiển LED matrix, mình sử dụng 2 con IC 74HC595, 1 để điều khiển 8 chân row, 1 để điều khiển 8 chân column.

Trước mỗi chân row, mình có gắn thêm 1 con trở 560 om để hạn dòng cho LED.

Ở đây mình lắp IC 74HC595 control columns nối tiếp theo sau IC 74HC595 control rows, do đó, chân 14 của IC 74HC595 control columns sẽ nối với chân 9 của IC 74HC595 control rows.

Chân 11 (CLOCK), 12 (LATCH) của 2 IC nối với nhau, và nối với pin 10,11 của Arduino.

Chân 14 của IC 74HC595 control rows sẽ nối với pin 12 của Arduino.

Chân số 10 và 16 của 2 IC sẽ nối VCC, chân số 8 và 13 sẽ nối GND.

const int DATA = 12;// pin 12 của Arduino nối với pin DATA của 74HC595 const int CLOCK = 10;//pin 10 của Arduino nối với pin CLOCK của 74HC595 const int LATCH = 11;//pin 11 của Arduino nối với pin LATCH của 74HC595 /* hàng và cột của LED matrix*/ int row[] = {1, 2, 4, 8, 16, 32, 64, 128}; int column[] = {128, 64, 32, 16, 8, 4, 2, 1}; /*biểu diễn các ký tự chữ và số ở dạng HEX*/ unsigned int characterHEX[][8] = { {0x18,0x3C,0x66,0x66,0x7E,0x66,0x66,0x66},//A {0x78,0x64,0x68,0x78,0x64,0x66,0x66,0x7C},//B {0x3C,0x62,0x60,0x60,0x60,0x62,0x62,0x3C},//C {0x78,0x64,0x66,0x66,0x66,0x66,0x64,0x78},//D {0x7E,0x60,0x60,0x7C,0x60,0x60,0x60,0x7E},//E {0x7E,0x60,0x60,0x7C,0x60,0x60,0x60,0x60},//F {0x3C,0x62,0x60,0x60,0x66,0x62,0x62,0x3C},//G {0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x66},//H {0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x7E},//I {0x7E,0x18,0x18,0x18,0x18,0x18,0x1A,0x0C},//J {0x62,0x64,0x68,0x70,0x70,0x68,0x64,0x62},//K {0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7E},//L {0xC3,0xE7,0xDB,0xDB,0xC3,0xC3,0xC3,0xC3},//M {0x62,0x62,0x52,0x52,0x4A,0x4A,0x46,0x46},//N {0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x3C},//O {0x7C,0x62,0x62,0x7C,0x60,0x60,0x60,0x60},//P {0x38,0x64,0x64,0x64,0x64,0x6C,0x64,0x3A},//Q {0x7C,0x62,0x62,0x7C,0x70,0x68,0x64,0x62},//R {0x1C,0x22,0x30,0x18,0x0C,0x46,0x46,0x3C},//S {0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18},//T {0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C},//U {0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x18},//V {0x81,0x81,0x81,0x81,0x81,0x99,0x99,0x66},//W {0x42,0x42,0x24,0x18,0x18,0x24,0x42,0x42},//X {0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x18},//Y {0x7E,0x02,0x04,0x08,0x10,0x20,0x40,0x7E},//Z {0x3C,0x66,0x66,0x6E,0x76,0x66,0x66,0x3C},//0 {0x18,0x38,0x58,0x18,0x18,0x18,0x18,0x7E},//1 {0x3C,0x66,0x66,0x0C,0x18,0x30,0x7E,0x7E},//2 {0x7E,0x0C,0x18,0x3C,0x06,0x06,0x46,0x3C},//3 {0x0C,0x18,0x30,0x6C,0x6C,0x7E,0x0C,0x0C},//4 {0x7E,0x60,0x60,0x7C,0x06,0x06,0x46,0x3C},//5 {0x04,0x08,0x10,0x38,0x6C,0x66,0x66,0x3C},//6 {0x7E,0x46,0x0C,0x18,0x18,0x18,0x18,0x18},//7 {0x3C,0x66,0x66,0x3C,0x66,0x66,0x66,0x3C},//8 {0x3C,0x66,0x66,0x36,0x1C,0x08,0x10,0x20},//9 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},// khoảng trắng {0x00,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x00}// hình trái tim, kí hiệu là '&' }; /* ký tự đại diện để biểu diễn chữ và số trên matrix*/ char character[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9',' ','&'}; void setup() { Serial.begin(9600);// Serial với baudrate 9600 /* 3 pins DATA, CLOCK, LATCH cần phải để OUTPUT*/ pinMode(DATA,OUTPUT); pinMode(CLOCK,OUTPUT); pinMode(LATCH,OUTPUT); /* in ra cổng Serial "ENTER A STRING"*/ Serial.println("ENTER A STRING"); } /* hàm nhấp nháy chữ*/ /* image là ký tự cần hiển thị, times là số lần nhấp nháy, on, off là độ dài của hiệu ứng*/ void blinkImage(unsigned int image[],int times,int on,int off) { for(int i=0;i<times;i++) { displayImage(image,on);// hiển thị clearImage(off);// xóa } } /*hàm hiển thị chữ lên LED matrix*/ /* image là ký tự cần hiển thị, duration là độ dài của hiệu ứng*/ void displayImage(unsigned int image[],int duration) { for(int hold=0;hold<duration;hold++) { for(int a=0;a<8;a++) { digitalWrite(LATCH, LOW); shiftOut(DATA, CLOCK, MSBFIRST,~image[a]);//column shiftOut(DATA, CLOCK, MSBFIRST,row[a]);//row digitalWrite(LATCH, HIGH); delay(1); } } } /* hàm clear LED matrix*/ /* duration là độ dài của hiệu ứng clear*/ void clearImage(int duration) { for(int hold=0;hold<duration;hold++) { for(int a=0;a<8;a++) { digitalWrite(LATCH, LOW); shiftOut(DATA, CLOCK, MSBFIRST,B11111111);//column shiftOut(DATA, CLOCK, MSBFIRST,row[a]);//row digitalWrite(LATCH, HIGH); delay(1); } } } /*hàm scroll image sang trái*/ /* image là ký tự cần hiển thị*/ void scrollImage(unsigned int image[]) { int shift, hold, a;//biến shift dùng để lưu số bit cần shiftOut for(shift = 0; shift < 9; shift++) { for(hold = 0; hold < 30; hold++) { for(a = 0; a < 8; a++) { digitalWrite(LATCH, 0); /* dịch ký tự sang trái*/ shiftOut(DATA,CLOCK,MSBFIRST,~(image[a]<<shift));//column shiftOut(DATA,CLOCK,MSBFIRST,row[a]);//row digitalWrite(LATCH, 1); delay(1); } } } } void loop() { String string;// khai báo biến String object /* đọc dữ liệu từ cổng Serial */ { char ch = Serial.read(); string += ch;// lưu ký tự vừa nhận được vào biến string delay(5);// delay để đợi ký tự tiếp theo, KHÔNG THỂ THIẾU } Serial.println(string);// in string ra Serial monitor /* hiển thị ra LED matrix */ while(Serial.available() == 0) { /*so sánh từng phần tử của string với các ký tự đã được lưu trong mảng character[]. Nếu ký tự xuất hiện trong string tồn tại trong mảng character[] thì hiển thị ra LED matrix, nếu không tồn tại thì báo "invalid character"*/ for(int k = 0;k < string.length();k++) { for(int i=0;i < sizeof(character);i++) { if(string.charAt(k) == character[i]) { scrollImage(characterHEX[i]); break; } /* nếu ko tồn tại ký tự xuất hiện trong string*/ if((i == (sizeof(character) - 1)) && (string.charAt(k) != character[i])) { Serial.print(string.charAt(k)); Serial.println(":invalid character"); } } /*kiểm tra xem có dữ liệu mới hay không*/ break; } delay(300); } } int row[] = {1, 2, 4, 8, 16, 32, 64, 128}; int column[] = {128, 64, 32, 16, 8, 4, 2, 1};

….

tương tự đối với cột.

– Tạo ký tự. Để biểu diễn chữ ‘I’ ra LED matrix, ta sẽ tạo 1 mảng sau:

I[] = {

B01111110,

B00011000,

B00011000,

B00011000,

B00011000,

B00011000,

B00011000,

B01111110};

tương tự ta sẽ được: I[] = {0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x7E};

– hàm displayImage()

/*hàm hiển thị chữ lên LED matrix*/ /* image là ký tự cần hiển thị, duration là độ dài của hiệu ứng*/ void displayImage(unsigned int image[],int duration) { for(int hold=0;hold<duration;hold++) { for(int a=0;a<8;a++) { digitalWrite(LATCH, LOW); shiftOut(DATA, CLOCK, MSBFIRST,~image[a]);//column shiftOut(DATA, CLOCK, MSBFIRST,row[a]);//row digitalWrite(LATCH, HIGH); delay(1); } } } /*hàm scroll image sang trái*/ /* image là ký tự cần hiển thị*/ void scrollImage(unsigned int image[]) { int shift, hold, a;//biến shift dùng để lưu số bit cần shiftOut for(shift = 0; shift < 9; shift++) { for(hold = 0; hold < 30; hold++) { for(a = 0; a < 8; a++) { digitalWrite(LATCH, 0); /* dịch ký tự sang trái*/ shiftOut(DATA,CLOCK,MSBFIRST,~(image[a]<<shift));//column shiftOut(DATA,CLOCK,MSBFIRST,row[a]);//row digitalWrite(LATCH, 1); delay(1); } } } }

Đây là clip LED matrix của mình

Cấu Tạo Của Tivi Led

Nếu chưa được tận mắt chứng kiến cấu tạo của những chiếc tivi LED của nhà bạn ra sao. Thì trong bài viết này, Điện Máy Người Việt sẽ giúp bạn hiểu được cấu tạo và những thành phần trên một chiếc LED tivi đang rất hiện hành bây giờ

1. Ở bức ảnh này bạn có thể thấy các  thành phần chính trong một chiếc tivi LED. Đầu tiền là phần viền (Bezel), phần tấm nền (Panel), sau đó là tấm đèn nguồn LED và cuối cùng ở phía xa nhất là các phần cứng điện tử.

2. Phần có thể nói là quan trọng nhất trong một chiếc TV LED chính là tấm đèn nền. Thiết kế đèn nền trong ảnh này là đèn viền (dải đèn ở đáy đã bị bỏ để phục vụ trưng bày), bên cạnh đó thì cũng có đèn nền toàn bộ và trực tiếp. Ngoài dải đèn LED ra, bạn còn có thể nhìn thấy hàng loạt các tấm lọc ánh sáng.

3. Bạn có thể nhìn rõ hơn các tấm lọc ánh sáng ở bức ảnh này.  3 tấm nằm ngoài cùng bên phải là tấm lọc màu, tấm lọc phân cực, và tấm khuếch đại ánh sáng. 2 tấm bên trái bao gồm một tấm màu trắng để phản chiều ánh sáng và sẽ được đặt sau dải đèn LED.

Bạn có thể thấy một tấm kính nằm thứ vị trí thứ 2 bên trái. Tấm này được sử dụng để điều hướng ánh sáng. Khi ánh sáng từ LED được bật, tấm kính này sẽ giúp ánh sáng đi đến khu vực ở giữa. 

4. Bạn có thể nhìn thấy dải đèn LED nằm ở trên cùng. Dù trông như màu vàng nhưng chúng có thể tạo ra các ánh sáng trắng rất tốt. Bên cạnh đó thì cũng có một dải đèn LED có nhiều màu chứ không chỉ màu trắng và được Sony sử dụng ở các dòng cao cấp của họ.

5. Đây là tấm màn hình (panel) được sử dụng trên tivi LED. Hiện nay có 2 loại tấm được sử dụng rộng rãi trong tivi LED là IPS và VA. Trong những tấm này có chứa các tinh thể lỏng đóng vai trò đưa ra hình ảnh từ các tấm lọc phía sau.

6. Bộ não của những chiếc tivi điều hành những tính năng như tăng khung hình, local dimming. Những bảng bo mạch này thì ở các tivi LED đã được thu hẹp về độ dày lại để có thể tạo ra những chiếc tivi mỏng hơn.

7. Khu vực kết nối gồm các cổng USB, HDMI …

8. Nhìn từ phía cạnh của một chiếc tivi LED. Bạn có thể thấy dù sở hữu khá nhiều thành phần nhưng vẫn có độ mỏng cao. Tuy nhiên hiện nay với những chiếc tivi OLED không cần đèn nền thì độ mỏng còn hơn tivi LED rất nhiều.

Cấu Tạo Đèn Led Siêu Sáng

1. Cấu tạo chung của đèn led siêu sáng

1.1 Chip led

1.2 Nguồn led

1.3 Thân đèn và tản nhiệt

Tản nhiệt là bộ phận giúp duy trì mức nhiệt độ an toàn để đèn chiếu sáng. Đèn led siêu sáng chỉ đạt được tuổi thọ tối đa cũng như hiệu quả chiếu sáng tốt nhất khi và chỉ khi hoạt động trong môi trường nhiệt độ ổn định nhất.

Tản nhiệt chất lượng ở đây muốn nhắc đến chính là tả nhiệt làm từ hợp kim nhôm. Ngoài ra tản nhiệt phải được thiết kế tử công nghệ Coled Forged.

1.4 Đui đèn và máng đèn

Đui đèn và máng đèn được coi như là giá đỡ của cả bộ đèn led siêu sáng. Nếu đui và máng đèn không được đảm bảo chất lượng cũng như độ chắc chắn thì sẽ mất an toàn cho người sử dụng; cũng như ảnh hưởng đến chính chất lượng của bộ đèn led siêu sáng.

Máng đèn led siêu sáng phải được thiết kế từ hợp kim nhôm. Có khả năng chống gỉ, chống ăn mòn và giúp quá trình tản nhiệt diễn ra tốt hơn. Ngoài ra chúng cũng cần phải đảm bảo tính thẩm mỹ để đảm bảo tính thẩm mỹ cho cả bộ đèn led siêu sáng.

Đui đèn led siêu sáng bắt buộc phải có khả năng chịu được nhiệt độ cao và có khả năng chống ăn mòn; chống han gỉ. Tại sao lại có yêu cầu cao như vậy? Vì bản thân chip đèn led siêu sáng khi chiếu sáng sẽ phát ra một lượng nhiệt rất lớn. Nếu đui đèn không có khả năng chịu được nhiệt độ cao thì đèn rất dễ bị hỏng.

Với 4 yếu tố chính trên: chip led – nguồn led- tản nhiệt – đui đèn máng đèn là những bộ phận quan trọng không thể thiếu của bộ đèn led siêu sáng.

1.5 Công nghệ đèn led

2. Cấu tạo riêng của từng dòng đèn led siêu sáng

Trong hệ thống chiếu sáng hiện đại hiện nay có các dòng đèn led siêu sáng đã quá thông dụng và quen thuộc đối với chúng ta. Hệ thống chiếu sáng của mỗi gia đình đều có ít nhất một chiếc đó là: bóng đèn tuýp led – đèn led compact và đèn led tròn.

2.1 Cấu tạo bóng đèn tuýp led siêu sáng

2.1.1 Cấu tạo bóng đèn led 1m2

Tổng quan bóng đèn led 1m2

Cấu tạo bóng đèn led 1m2

Bóng đèn tuýp led siêu sáng 1m2 cũng có cấu tạo tương tự như bóng đèn led siêu sáng. Sản phẩm được cấu tạo từ chip led – nguồn led – máng đèn – mạch in

Chip led: Chip led mà bóng đèn tuýp led là chip led SMD. Với đặc thù khả năng tản nhiệt cao, tuổi thọ cao, chất lượng ánh sáng vượt trội. Dãy chip led được bố trí dọc theo thân đèn. Vừa đảm bảo tính thẩm mỹ cho bộ đèn, vừa giúp ánh sáng tán xạ tốt trên bề mặt chiếu sáng.

Nguồn led: Khác với đèn huỳnh quang truyền thống đèn tuýp led không sử dụng chấn lưu hay tắc te. Thay vào đó đèn sử dụng nguồn led. Nguồn led cung cấp dòng điện và ổn định mức điện áp cho tuýp led siêu sáng. Tiết kiệm tối đa điện năng trong quá trình tiêu thụ.

Mạch in: Đối với đèn tuýp led siêu sáng mạch in có nhiệm vụ làm mạch dẫn cho chip led. Đồng thời giúp chip led tản nhiệt trong quá trình chiếu sáng.

Máng đèn: Máng đèn vừa có nhiệm vụ là giá đỡ. Vừa có nhiệm vụ bảo vệ tuýp led. Máng đèn tuýp led có thể được làm từ nhôm nguyên chất, hoặc có thể được làm từ nhựa PC cao cấp.

2.1.2 Cấu tạo tuýp led 600cm

Tổng quan bóng đèn tuýp led 600cm

Bongs đèn tuýp led 600cm chính là phiên bản nhỏ của bóng đèn led 1m2. Thay vì sử dụng kích thước 1m2 thì sản phẩm có kích thước ngắn hơn hơn là 600cm.

Đèn tuýp led 1m2 hiện nay thường được dùng để chiếu sáng các gian phòng khách nhỏ, phòng bếp, phòng ngủ…

Cấu tạo bóng đèn tuýp led 600cm

Cấu tạo bóng đèn tuýp led 600cm cũng giống như bóng đèn led 1m2. Cấu tạo gồm 4 bộ phận chính:

Có một điều các bạn cần lưu ý đó là máng đèn. Sau này trong quá trình sử dụng đèn chúng ta có nhu cầu lắp đặt thay đổi bóng đèn thì cần chú ý đến kích thước máng. Với chiều dài 600cm thì các bạn cũng cần chọn được máng đèn thích hợp hơn với bóng. Tránh trường hợp mua về không phù hợp với kích thước đèn, không sử dụng được.

2.2 Cấu tạo đèn led tròn – led bulb

Tổng quan bóng đèn led tròn – led bulb

Cấu tạo bóng đèn led tròn

2.3 Cấu tạo đèn led compact

Bóng đèn led compact là mẫu đèn được ứng dụng nhiều trong việc chiếu sáng dân dụng và chiếu sáng nông nghiệp. Nhằm tiết kiệm điện năng tiêu thụ, chất lượng ánh sáng vượt trội.

Khả năng tiêu thụ của bóng đèn led compact chỉ bằng ⅓ so với bóng đèn compact truyền thống. Ngoài ra chất lượng ánh sáng của bóng đèn led compact an toàn hơn so với bóng đèn compact; không chứa thủy ngân, không nhấp nháy khi chiếu sáng.

Tổng quan bóng đèn led compact

Cấu tạo bóng đèn compact siêu sáng

Cấu tạo đèn led siêu sáng hay cấu tạo các mẫu đèn led siêu sáng đang được sử dụng nhiều nhất hiện nay; đó cũng chính là thông điệp chúng tôi muốn gửi đến các bạn: “hãy lựa chọn bộ đèn led siêu sáng chất lượng tốt nhất cho hệ thống chiếu sáng của mình”