Professional Documents
Culture Documents
Tên đề tài:
LỚP : 71DCDT21
HÀ NỘI, 11 - 2022
MỤC LỤC
PHẦN MỞ ĐẦU……………………………………………………………………2
I. NỘI DUNG THỰC HIỆN...........................................................................................3
1. Lý do chọn đề tài....................................................................................................3
2. Mục tiêu của đề tài................................................................................................3
3. Giới hạn và phạm vi của đề tài..............................................................................3
4. Phương pháp nghiên cứu......................................................................................3
5. Kết quả dự kiến và hướng phát triển đề tài..........................................................3
II. CẤU TRÚC CỦA ĐỒ ÁN........................................................................................4
Chương 1. Kiến thức tổng quan..............................................................................4
1.1. Giới thiệu về đèn led.................................................................................4
1.1.1. Đèn led là gì?................................................................................................4
1.2. Kết luận............................................................................................................5
Chương 2. Cơ sở lý thuyết.......................................................................................5
2.1. Vi điều khiển: ATMEGA16.....................................................................5
2.1.1. Thông tin cơ bản về ATMEGA16........................................................5
2.1.2. Thông số kỹ thuật..................................................................................6
2.1.3. Các thông tin khác liên quan đến ATMEGA16.................................7
2.1.3.1. Phần mềm lập trình cho vi điều khiển ATmega16................................7
2.1.3.2. Phần mềm vẽ mạch Proteus........................................................................8
2.2. Arduino Uno R3 ATMEGA 16U2.................................................................8
2.3. Kết luận............................................................................................................9
Chương 3. Thi công và kiểm thử....................................................................................9
3.1. Sơ đồ khối........................................................................................................9
3.1.1. Sơ đồ khối..............................................................................................9
3.1.2. Chức năng...................................................................................................10
3.2. Sơ đồ nguyên lý và nguyên lý hoạt động.....................................................10
3.2.1. Sơ đồ nguyên lý...................................................................................10
3.2.2. Nguyên lý hoạt động...........................................................................11
3.3. Code Arduino IDE........................................................................................11
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI........................................16
PHỤ LỤC....................................................................................................................17
TÀI LIỆU THAM KHẢO..........................................................................................17
III. TIẾN ĐỘ THỰC HIỆN.......................................................................................18
1
Chương 1. Kiến thức tổng quan
1.1. Giới thiệu về đèn led
1.1.1. Đèn led là gì?
- LED (viết tắt của Light Emitting Diode hay điốt phát quang) là các điốt có khả
năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại. Cũng giống như điốt, LED
được cấu tạo từ một khối bán dẫn loại p ghép với một khối bán dẫn loại n
1.1.2. Tính năng và đặc điểm của đèn led
Đèn led có tuổi thọ và hiệu suất lớn hơn nhiều lần đèn sợi đốt và hiệu quả hơn so
với hầu hết các loại đèn huỳnh quang. Một số chip có khả năng phát ra hơn 300 lumen /
watt . Năm 2014, thị trường LED đạt 2 tỷ USD và dự kiến có thể đạt mức 25 tỷ USD vào
năm 2023. Theo thống kế trong năm 2016, các thiết bị chiếu sáng ứng dụng công nghệ
led mới chỉ chiếm 10% thị phần so với các công nghệ chiếu sáng khác.
- Không giống như hầu hết các bóng đèn huỳnh quang (huỳnh quang compact hoặc đèn
CFL), LED phát sáng hoàn toàn mà không cần thời gian khởi động. Do vậy tuổi thọ của
chúng cao hơn đèn huỳnh quang. Chi phí ban đầu để mua đèn led thường cao hơn loại sợi
đốt hay huỳnh quang, tuy nhiên xét về mức độ tiết kiệm điện năng và tuổi thọ thì chúng
được đánh giá tiết kiệm chi phí hơn.
- Hiện nay hầu hết các sản phẩm được thiết kế theo đui tiêu chuẩn có thể thay thế trực
tiếp cho bóng đèn sợi đốt hoặc huỳnh quang. Trên bao bì thường ghi rõ lumen, công suất
watt, nhiệt độ màu, phạm vi nhiệt độ hoạt động. Chúng không phát ra ánh sáng theo mọi
hướng, và các đặc tính hướng của chúng ảnh hưởng đến việc thiết kế, mặc dù ngày nay
đã có không ít những thiết kế có góc chiếu sáng 360 độ.
- Giống như hầu hết các thiết bị chiếu sáng khác, led bị ảnh hưởng bởi nhiệt độ cao, mặc
dù chúng phát ra rất ít nhiệt khi hoạt động. Nhưng phần nhiệt độ này cũng đủ để gây ra
những tổn hại như giảm lumen, giảm tuổi thọ. Do đó, trong thiết kế thường có thêm bộ
phận tản nhiệt, làm mát. Tuổi thọ của đèn led phụ thuộc lớn vào chất lượng của bộ tản
nhiệt.
- Để hoạt động, chip led đòi hỏi phải chuyển đổi dòng điện từ xoay chiều sang dòng điện
một chiều bằng một thiết bị biến áp và chuyển đổi gọi là driver. Đèn led đi kèm một
2
driver chất lượng có thể đảm bảo tuổi thọ dài cho và cung cấp các tính năng điều khiển
ánh sáng. Nó có thể được đặt bên trong bóng đèn (loại tích hợp) hoặc được đặt bên ngoài
(loại độc lập). Tùy theo ứng dụng chiếu sáng mà được áp dụng driver khác nhau (ví dụ:
như trình driver ngoài trời cho ánh sáng đường phố, driver điểm cho chiếu sáng trong nhà
và driver tuyến tính cho các đèn quảng cáo).
Chương 2. Cơ sở lý thuyết
2.1. Vi điều khiển: ATMEGA16
2.1.1. Thông tin cơ bản về ATMEGA16
Atmega16 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ MegaAVR.
Atmega16 là một bộ vi điều khiển 8 bit dựa trên kiến trúc RISC bộ nhớ chương trình
16KB ISP flash có thể ghi xóa hàng nghìn lần, 512B EEPROM, một bộ nhớ RAM vô
cùng lớn trong thế giới vi xử lý 8 bit (1KB SRAM)
Với 32 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ
timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao
thức truyền thông nối tiếp USART, SPI, I2C. Ngoài ra có thể sử dụng bộ biến đổi số
tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog
timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung
(PWM), hỗ trợ bootloader.
3
2.1.2. Thông số kỹ thuật
Datasheets Atmega16
Standard Package 27
Series Atmega
Packaging Tube
Speed 16MHz
4
Number of I /O 32
RAM Size 1K
hần mềm Proteus cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế
mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR,
… Proteus là phần mềm mô phỏng mạch điện tử của Labcenter Electronics, mô phỏng
cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC,
8051, AVR, Motorola.
Phần mềm bao gồm 2 chương trình: ISIS (Intelligent Schematic Input System) cho phép
mô phỏng mạch và ARES (Advanced Routing and Editing Software) dùng để vẽ mạch in.
+ Các tính năng của phần mềm Proteus:
Vẽ sơ đồ nguyên lý
Mô phỏng
Thiết kế mạch in PCB
6
2.2. Arduino Uno R3 ATMEGA 16U2
7
Chương II. Thi công và kiểm thử
Sơ đồ khối
3.1.1. Sơ đồ khối
8
3.2. Sơ đồ nguyên lý và nguyên lý hoạt động
3.2.1. Sơ đồ nguyên lý
9
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Với sự hình thành và phát triển của đèn led trong quá trình phát triển của loài
người, rõ ràng đèn led đã trở thành 1 trong những công cụ rất hiệu quả với mục đích
quáng cáo thương hiệu cho rất nhiều các công ty, nhà hang,… nhằm tạo ra sức hút cho
khách hàng.
Với những tính năng hữu ích và đa dạng về mẫu mã, việc thực hiện đề tài ‘ Thiết
kế biển quảng cáo theo yêu cầu’ nhằm tạo ra mô hình mô phỏng đèn led ngoài đường thật
có thể phục vụ cho việc quảng cáo cũng như thể hiện rõ được mục tiêu của khách hang.
10
PHỤ LỤC
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#if USE_UI_CONTROL
#include <MD_UISwitch.h>
#endif
#if DEBUG
#define PRINT(s, x) { Serial.print(F(s)); Serial.print(x); }
#define PRINTS(x) Serial.print(F(x))
#define PRINTX(x) Serial.println(x, HEX)
#else
#define PRINT(s, x)
#define PRINTS(x)
#define PRINTX(x)
#endif
// Define the number of devices we have in the chain and the hardware interface
// NOTE: These pin numbers will probably not work with your hardware and may
// need to be adapted
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
11
#define CS_PIN 10
// HARDWARE SPI
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// SOFTWARE SPI
//MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN,
MAX_DEVICES);
// Scrolling parameters
#if USE_UI_CONTROL
const uint8_t SPEED_IN = A5;
const uint8_t DIRECTION_SET = 8; // change the effect
const uint8_t INVERT_SET = 9; // change the invert
#if USE_UI_CONTROL
MD_UISwitch_Digital uiDirection(DIRECTION_SET);
MD_UISwitch_Digital uiInvert(INVERT_SET);
12
void doUI(void)
{
// set the speed if it has changed
{
int16_t speed = map(analogRead(SPEED_IN), 0, 1023, 10, 150);
void readSerial(void)
{
static char *cp = newMessage;
while (Serial.available())
{
*cp = (char)Serial.read();
if ((*cp == '\n') || (cp - newMessage >= BUF_SIZE-2)) // end of message character or
full buffer
{
*cp = '\0'; // end the string
// restart the index for next filling spree and flag we have a message waiting
cp = newMessage;
newMessageAvailable = true;
}
else // move char pointer to next position
cp++;
}
}
void setup()
{
Serial.begin(57600);
Serial.print("\n[Parola Scrolling Display]\nType a message for the scrolling display\
nEnd message line with a newline");
#if USE_UI_CONTROL
uiDirection.begin();
uiInvert.begin();
pinMode(SPEED_IN, INPUT);
14
doUI();
#endif // USE_UI_CONTROL
P.begin();
P.displayText(curMessage, scrollAlign, scrollSpeed, scrollPause, scrollEffect,
scrollEffect);
}
void loop()
{
#if USE_UI_CONTROL
doUI();
#endif // USE_UI_CONTROL
if (P.displayAnimate())
{
if (newMessageAvailable)
{
strcpy(curMessage, newMessage);
newMessageAvailable = false;
}
P.displayReset();
}
readSerial();
}
15
TÀI LIỆU THAM KHẢO
Giáo trình Proteus
http://arduino.vn/bai-viet/256-hien-thi-hinh-anh-voi-led-matrix-8x8
https://dientutuonglai.com/tim-hieu-atmega16.html
https://dientunhattung.com/product/atmega16-vi-dieu-khien/
http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi
16
17