Tải bản đầy đủ (.docx) (51 trang)

mạch đếm sản phẩm từ 000 đến 999 sử dụng arduino

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.3 MB, 51 trang )

TRƯỜNG ĐẠI HỌC KINH BẮC
KHOA CÔNG NGHỆ THÔNG TIN

BÀI BÁO CÁO
Môn Học
Mô Phỏng Ứng Dụng

ĐỀ TÀI: THIẾT KẾ MẠCH ĐẾM SẢN PHẨM TỪ 000 – 999
SỬ DỤNG ARDUINO

Nhóm 4: - Nguyễn Đức Huy
- Nguyễn Quang Ngọc
- Vũ Trường Sơn


- Viêm Quốc Trượng
- Lương Mê Thế Luân
- Trương Viết Văn
GVHD: ThS. Nguyễn Văn Doanh

Bắc Ninh, 1 tháng 12, 2017

1


MỤC LỤC
PHẦN 1:LÝ THUYẾT


Nội dung

Trang

Chương 1: Tổng quan về đề tài nguyên cứu

3

Tổng quan

3


Phương án thiết kế

4

Mục tiêu đề tài

4

Lợi ích đề tài

4


Xây dựng sơ đồ khối tổng quan

6

Chương 2: Thiết kế

6

ARDUINO UNO R3

6


Điện trở quang

15

LED 4 số 7 đoạn

18

Đầu phát laser

24


IC 74HC595

26

Còi chíp

30

PHẦN 2:MÔ PHỎNG
2



Chương 3: Chương trình điều khiểu

32

Giới thiệu về proteus

32

Thuật toán và code

37


Kết quả mô phỏng

45

Hướng phát triển đề tài và kết luận

48

Lời kết

49


PHẦN 1 LÝ THUYẾT
CHƯƠNG 1 :TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU

1.1. Tổng quan
Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện tử
màtrong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ
thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin…. do đó chúng ta phải
nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền
khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói
riêng. Xuất phát từ những đợt đi thực tập tốt nghiệp tại nhà máy và tham quan các
doanh nghiệp sản xuất, chúng em đã được thấy nhiều khâu được tự động hóa trong

quá trình sản xuất. Một trong những khâu đơn giản trong dây chuyền sản xuất tự
động hóa đó là số lượng sản phẩm làm ra được đếm một cách tự động. Tuy nhiên
đối với những doanh nghiệp vừa và nhỏ thì việc tự động hóa hoàn toàn chưa được
3


áp dụng trong những khâu đếm sản phẩm, đóng bao bì mà vẫn còn sử dụng nhân
công. Từ những điều đã được thấy đó và khả năng của chúng em, chúng em muốn
làm một điều gì nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân
tay mà cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo
được độ chính xác cao. Nên chúng em quyết định thiết kế một mạch đếm sản phẩm
vì nó rất gần gũi với thực tế và nó thật sự rất có ý nghĩa đối với chúng em vì đã làm

được một phần nhỏ đóng góp cho xã hội. Để làm được mạch này cần thiết kế được
hai phần chính là: bộ phận cảm biến và bộ phận đếm. Bộ phận cảm biến: gồm phần
phát và phần thu. Thông thường người ta sử dụng phần phát là led hồng ngoại để
phát ra ánh sáng hồng ngoại mục đích để chống nhiễu so với các loại ánh sáng
khác, còn phần thu là transistor quang để thu ánh sáng hồng ngoại.
1.2. Chọn phương án thiết kế
Sử dụng arduino để điều khiển mạch
1.3. Mục tiêu của đề tài
Trong đồ án này chúng em thực hiện mạch đếm sản phẩm bằng phương pháp đếm
xung. Như vậy mỗi sản phẩm đi qua trên băng chuyền phải có một thiết bị để cảm
nhận sản phẩm, thiết bị này gọi là cảm biến. Khi một sản phẩm đi qua cảm biến sẽ
nhận và tạo ra một xung điện đưa về khối xử lí để tăng dần số đếm. Tại một thời

điểm tức thời, để xác định được số đếm cần phải có bộ phận hiển thị:
- Số đếm phải chính xác
- Bộ phận hiển thị phải rõ ràng
- Mạch điện không quá phức tạp, bảo đảm được sự an toàn,dễ sử dụng.
- Giá thành không quá mắc.
1.4. Lợi ích của đề tài
4


– Quản lý đơn giản, tiết giảm nhân lực quản lý, thời gian thực hiện:
Thông qua hệ thống máy tính kết nối tới bảng thông tin sản xuất LED, người
giám sát chỉ cần ngồi tại máy tính của mình, đặt mục tiêu tới các chuyền, setup các

thông số cần thiết, sau đó theo dõi sản lượng trực quan chỉ thông qua màn hình
máy tính. Bảng thông tin sản xuất sẽ cập nhật thông tin đầy đủ, liên tục và tự động.
Như vậy, thay vì phải truyền đạt mục tiêu qua từng bộ phận, nhân lực, rồi ghi chép
lên bảng. Chỉ cần 1 người quản lý ngồi tại văn phòng truyền thông số tới các bảng
thông tin sản xuất. Dữ liệu sản lượng thực tế sẽ cập nhật một cách khách quan lên
màn hình máy tính.
– Tạo động lực trong sản xuất:
Phản ánh kết quả sản lượng liên tục, trực quan, ai cũng có thể quan sát thấy kết
quả lao động của mình. Mỗi công nhân, mỗi chuyền sẽ biết được hiện tại mình đã
làm được bao nhiêu sản phẩm, còn lại bao nhiêu so với mục tiêu đề ra, sẽ tạo động
lực sản xuất trong mỗi người lao động.
Không những thế, có thể cài đặt thời gian và sản lượng cho việc tăng ca, chấm

công. Nên từ người quản lý đến người lao động sẽ nắm kết quả hoạt động của
mình rất rõ ràng. Tạo sự công bằng khách quan, ổn định tâm lý người lao động.
– Thống kê sản lượng chính xác tại bất kỳ thời điểm nào.
Đơn giản hóa việc thu nhận dữ liệu báo cáo, tiết thời gian và nhận lực cho việc
báo cáo sản lượng. Người quản lý chỉ cần vài thao tác trên máy tính, dữ liệu cần
thống kê báo cáo sẽ kết xuất ra file dưới dạng execl ngay lập tức, chính xác và tại
bất kỳ thời điểm nào. Hoàn toàn khách quan và trung thực.

5


– Hiện đại hóa nhà xưởng, rút chi phí cho bảng viết, giấy mực, văn phòng

phẩm,..
Tiến tới tự động hóa trong nhà xưởng. Việc đưa bảng thông tin sản xuất LED vào
sử dụng sẽ nâng cao chất lương, hình ảnh nhà xưởng. Không những thế sẽ tiết
giảm chi phí các khâu báo cáo, kế hoạch sản xuất, bảng viết, … Hình ảnh đơn vị
sẽ được nâng cao trong mắt các đối tác.

1.5 Xây dựng sơ đồ khối tổng quát

----------------------------------------------------------------------------------------------------

CHƯƠNG 2: LÝ THUYẾT THIẾT KẾ
2.1. ARDUINO UNO R3

2.1.1. Arduino UNO R3 là gì?
6


Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường
nói tới chính là dòng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ
thứ 3 (R3). Bạn sẽ bắt đầu đến với Arduino qua thứ này.
- Arduino là một board mạch vi xử lý. Nhằm xây dựng các ứng dụng tương tác
với nhau hoặc với môi trường được thuận lợi hơn.
- Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử
lý AVR Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp
USB, 6 chân đầu vào Analog, 14 chân I/O kỹ thuật số tương thích

với nhiều board mở rộng khác nhau.

2.1.2. Một vài thông số của ARDUINO R3:

7


Vi điều khiển

ATmega328 họ 8bit

Điện áp hoạt động


5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động

16 MHz

Dòng tiêu thụ

khoảng 30mA

Điện áp vào khuyên dùng


7-12V DC

Điện áp vào giới hạn

6-20V DC

Số chân Digital I/O

14 (6 chân hardware PWM)

Số chân Analog


6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V)

500 mA

Dòng ra tối đa (3.3V)

50 mA


Bộ nhớ flash

32 KB (ATmega328) với 0.5KB dùng bởi
bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)


2.1.3. Vi điều khiển

8


Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,
ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều
khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo
nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
Ngoài việc dùng cho board Arduino UNO, bạn có thể sử dụng những IC điều
khiển này cho các mạch tự chế. Vì sao ? Vì bạn chỉ cần board Arduino UNO để lập

trình cho vi điều khiển. Trên thực tế, bạn không cần phải dụng Arduino UNO trên
các sản phẩm của mình, thay vào đó là các mạch tự chế để giảm chi phí như hình
dưới đây:

Chế tạo thủ công

Sử dụng mạch in
9


2.1.4. Năng lượng
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn

ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp
nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB.
Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
2.1.5. Các chân năng lượng
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các
thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với
nhau.
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương
của nguồn với chân này và cực âm của nguồn với chân GND.
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở

chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ
chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với
việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Lưu ý:
Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức
cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.
10


Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng
nhựa chặn giấy. mình khuyên bạn nên dùng nguồn từ cổng USB nếu có thể.

Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết
bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể làm
hỏng board. Điều này không được nhà sản xuất khuyến khích.
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có
thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
ATmega328.
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO
nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm
hỏng vi điều khiển.
Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO

vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền nhận
dữ liệu, bạn phải mắc một điện trở hạn dòng.
Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ hỏng
ngay bởi các thông số kĩ thuật của linh kiện điện tử luôn có một sự tương đối nhất
định. Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn
không muốn phải mua một board Arduino UNO thứ 2.Khi mình nói rằng bạn “có
thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ hỏng ngay bởi các thông số kĩ
thuật của linh kiện điện tử luôn có một sự tương đối nhất định. Do đó hãy cứ tuân
thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn không muốn phải mua
một board Arduino UNO thứ 2.
11



2.1.6. Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được
dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này
đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo
khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ
RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà
bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory):

đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình
vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
2.1.7: Các cổng vào/ra

12


Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2
mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi
chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:

2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2
chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không
dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không
cần thiết

13


Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm
analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở

chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân
khác.
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức
năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI
với các thiết bị khác.
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13.
Khi chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit
(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên
board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức
là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để

đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.

2.1.8. Tính năng của ARDUINO
- Dùng nhiều trong các mạch điện tử.
- Được ứng dụng để làm các sản phẩm điện tử.
- ARDUINO UNO R3 là sản phẩm thiết kế bở ARDUINO.CC, là phiên bản cho
người muốn tiếp cận với vi điều khiển 1 cách nhanh chóng và thuận tiện.
14



- Sử dụng Chip nạp ATMEGA16U2 giá cao hơn phiên bản dùng CH340G.
- Driver sử dụng ATMEGA16U2 tốc độ và sự ổn định cao hơn CH340G.

2.1.9. Lập trình cho Arduino
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn ngữ
này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung. Và Wiring lại là
một biến thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C
hay C/C++. Riêng mình thì gọi nó là “ngôn ngữ Arduino”, và đội ngũ phát triển
Arduino cũng gọi như vậy. Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện
nay do đó rất dễ học, dễ hiểu. Để lập trình cũng như gửi lệnh và nhận tín hiệu từ
mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một
môi trường lập trình Arduino được gọi là Arduino IDE

(Intergrated Development Environment) như hình dưới đây:

15


VD: Đoạn mã nguồn như trong hình sẽ điều khiển một đèn LED nhấp nháy với
chu kì 1 giây.

2.2. Điện trở quang
2.2.1. Điện trở quang hay quang trở, photoresistor, LDR (Light-dependent
resistor, tiếng Anh còn dùng cả từ photocell),


16


Là điện trở có trị số càng giảm khi được chiếu sáng càng mạnh. Điện trở tối (khi
không được chiếu sáng - ở trong bóng tối) thường trên 1M, trị số này giảm rất nhỏ
có thể dưới 100 ôm khi được chiếu sáng mạnh

Quang trở được dùng làm cảm biến nhạy sáng trong các mạch dò, như trong mạch
đóng cắt đèn chiếu bằng kích hoạt của sáng tối.
2.2.2. Nguyên lý hoạt động
Quang trở làm bằng chất bán dẫn trở kháng cao, và không có tiếp giáp nào.Trong
bóng tối, quang trở có điện trở đến vài MΩ. Khi có ánh sáng, điện trở giảm xuống

mức một vài trăm Ω .Nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu
vào chất bán dẫn (có thể là Cadmium sulfide – CdS, Cadmium selenide – CdSe)
làm phát sinh các điện tử tự do, tức sự dẫn điện tăng lên và làm giảm điện trở của
chất bán dẫn. Các đặc tính điện và độ nhạy của quang điện trở dĩ nhiên tùy thuộc
vào vật liệu dùng trong chế tạo.

17


- Về phương diện năng lượng, ta nói ánh sáng đã cung cấp một năng lượng E=h.f
để các điện tử nhảy từ dãi hóa trị lên dãi dẫn điện. Như vậy năng lượng cần thiết
h.f phải lớn hơn năng lượng của dãi cấm.

Tuỳ thuộc chất bán dẫn mà quang trở phản ứng khác nhau với bước
sóng photon khác nhau. Quang trở phản ứng trễ hơn điốt quang, cỡ 10 ms, nên nó
tránh được thay đổi nhanh của nguồn sáng

2.2.3. Thông Số Kĩ Thuật Quang Trở LDS Cảm Biến Ánh Sáng
- Max.Voltage 250 VDC,
- Max. Power: 200mW
- Giá trị đỉnh Spectrum: 540 nm
18


- Kháng ánh sáng (10Lux): 10 ~ 20 (KΩ)

- Kháng Dark: 2 (MΩ)
- Nhiệt độ môi trường: -30 ~ +70 o C
- Giá trị c (1000 | 10): 0,6
- Thời gian đáp ứng (ms):
- Tăng: 30ms
- Giảm: 30ms
- Tên khác: LDR, Điện trở phụ thuộc Light, CdS photoresistor
2.2.4. Ứng dụng
- Quang trở được dùng làm cảm biến nhạy sáng trong các mạch dò sáng tối để
đóng cắt đèn chiếu sáng.
Dàn nhạc có guitar điện thì dùng quang trở để nhận biết độ sáng từ dàn đèn màu
nhạc để tạo hiệu ứng âm thanh.

- Quang điện trở được dùng rất phổ biến trong các mạch điều khiển.
- Khi quang điện trở được chiếu sáng (trạng thái thường trực) có điện trở nhỏ, điện
thế cổng của SCR giảm nhỏ không đủ dòng kích nên SCR ngưng. Khi nguồn sáng
bị chắn, R tăng nhanh, điện thế cổng SCR tăng làm SCR dẫn điện, dòng điện qua
tải làm cho mạch báo động hoạt động.
2.3. LED 7 đoạn 0.56 inch 4 số Anot chung
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng
với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng "led 7 đoạn".
Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện
thị số là đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng, trong các

19



đồng hồ treo tường bằng điện tử, hiển thị số lượng sản phẩm được kiểm tra sau một
công đoạn nào đó...

2.3.1. Cấu tạo
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình dạng số 8
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 đoạn 8 led đơn trên led 7 đoạn có Anode(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, cũng được
đưa ra ngoài để kết nối với mạch điện. 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

20


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

Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng
qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn

5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển.
Sơ đồ vị trí các led được trình bày như hình dưới:

21


Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện
qua led nếu led 7 đoạn được nối với nguồn 5V. Chân nhận tín hiệu a điều khiển led
a sáng tắt, ngõ vào b để điều khiển led b. Tương tự với các chân và các led còn lại.
2.3.2. Kết nối với Vi điều khiển và điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1
Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận

một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led
đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã
hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có
Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng
hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7
đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các
chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode
chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và
c điện áp là 5V(mức 1).
Nếu kết nối mỗi một Port của Vi điều khiển với 1 led 7 đoạn thì tối đa kết nối
được 4 led 7 đoạn. Mặt khác nếu kết nối như trên sẽ hạn chế khả năng thực hiện
các công việc khác của Vi điều khiển. Cho nên cần phải kết nối, điều khiển nhiều

led 7 đoạn với số lượng chân điều khiển từ Vi điều khiển càng ít càng tốt. Có hai
giải pháp: một là sử dụng các IC chuyên dụng cho việc hiện thị led 7 đoạn, hai là
kết nối nhiều led 7 đoạn vào cùng một đường xuất tín hiệu hiển thị. Nội phần này
sẽ đề cập đến cách kết nối nhiều led 7 đoạn theo giải pháp thứ 2.
Mắt người có đặc điểm sinh lí là chỉ thu nhận 24 hình/giây để tổng hợp các hình
ảnh về thế giới xung quanh. Nếu một tín hiệu ánh sáng có chu kì sáng tắt hơn 24
lần trong 1 giây, mắt người luôn cảm nhận đó là một nguồn sáng liên tục. Để minh
22


họa cho điều này, bạn hãy lấy các chương trình đã thực hiện với led đơn và làm
ngắn thời gian delay lại, đến một giá trị nào đó bạn sẽ thấy các led đều sáng liên

tục.
Để kết nối nhiều led 7 đoạn vào vi điều khiển thực hiện như sau: nối tất cả các
chân nhận tín hiệu của tất cả các led 7 đoạn (chân abcdefgh) cần sử dụng vào cùng
1 Port, trong ví dụ, 8 led 7 đoạn có các chân nhận tín hiệu cùng được được nối với
P0. Dùng các ngõ ra còn lại của Vi điều khiển điều khiển on/off cho led 7 đoạn,
mỗi ngõ ra điều khiển ON/OFF cho 1 led 7 đoạn,(ON: led 7 đoạn được cấp nguồn
để hiển thị, OFF: led 7 đoạn bị ngắt nguồn nên không hiển thị được).

2.3.3. Bảng mã hiển thị LED 7 đoạn
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho
việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1 nối
với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.

Dữ liệu xuất có dạng nhị phân như sau : dp g f e d c b a

Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn
sáng ở mức 0):
Số hiển thị trên led 7

Mã hiển thị led 7 đoạn

Mã hiển thị led 7 đoạn

đoạn


dạng nhị phân

dạng thập lục phân

0
1
2
3

dp g f e d c b a
11000000
11111001

10100100
10110000

C0
F9
A4
B0

23


4

5
6
7
8
9
A
B
C
D
E
F
-


10011001
10010010
11000010
11111000
10000000
10010000
10001000
10000011
11000110
10100001
10000110

10001110
10111111

99
92
82
F8
80
90
88
83
C6

A1
86
8E
BF

2.3.4. Ứng dụng
Led 7 đoạn có thể hiển thị các chữ số thập phân từ 0 – 9. Do đó chúng có thể ứng
dụng vào:
- Mạch đếm sản phẩm
- Hiển thị thời gian
- Đồng hồ đếm ngược
- Hiển thị các chữ cái in hoa

- V.v...
2.4. Đầu phát lazer 5V

24


2.4.1 Thông số kỹ thuật
Sử dụng điện áp 5V (Trở nối tiếp 100R 0805, có thể thay trở 22R 0805 để sử
dụng điện áp 3V)
Tên:
Truyền tải điện:
Kích thước:

Độ bền:
Kiểu dọi:
Bước sóng:
Điện:
Điện áp:
Hiện tại:
Nhiệt độ làm việc:
Nhiệt độ lưu trữ:
Độ dọi xa:

Laser đầu đồng nhỏ (màu đỏ)
50mW

Φ6MM Dài 10MM
>1000h
Điểm
650nm
5mW
5V
<20mA
-36 độ C ~ 65 độ C
-36 độ C ~ 65 độ C
Khoảng cách 15m

2.4.2. Ứng dụng

25


×