Professional Documents
Culture Documents
ĐỒ ÁN TỐT NGHIỆP
rr^ 4 -Ạ / Ạ •
Tên đề tài:
BẢNG ĐIỆN TỬ HIỂN THỊ THÔNG TIN THỜI TIÉT
Lớp: DH16TD
(Đính kèm Quy định về việc tổ chức, quản lý các hình thức tốt nghiệp ĐH, CĐ ban hành kèm
theo Quyết định số 585/QĐ-ĐHBRVT ngày 16/7/2013 của Hiệu trưởng Trường Đại học BR-VT)
• Thái độ, tác phong và nhận thức trong quá trình thực hiện:
• Thái độ, tác phong và nhận thức trong quá trình thực hiện:
Đầu tiên em xin gởi lời cảm ơn đến Thầy Lưu Hoàng - Giảng viên bộ môn Điện
- Điện Tử, đã tận tình giúp đỡ, hướng dẫn, giảng giải cho em trong lựa chọn đề tài
cũng như trong quá trình thực hiện đề tài. Trong quá trình thực hiện đồ án cũng đã
xảy ra nhiều khó khăn, thiếu sót nhưng được sự hỗ trợ và góp ý của Thầy nên nhóm
đã hoàn thành được đồ án.
Trong suốt thời gian được theo học tại trường Đại học Bà Rịa Vũng Tàu, em
đãnhận được nhiều sự quan tâm và giúp đỡ từ Thầy Cô và bạn bè. Cảm ơn Hiệu
Trưởng, cùng các quý thầy cô trường Đại học Bà Rịa - Vũng Tàu đã hỗ trợ tận tình
về trang thiết bị, phần mềm, cơ sở vật chất tạo điều kiện hoàn thành đồ án. Với lòng
biết ơn sâu sắc, em xin gửi lời cảm ơn tới quý Thầy Cô, những người đã truyền lại
cho em rất nhiều kinh nghiệm và kiến thức quý báu, những sự giúp đỡ ấy đã tiếp
thêm động lực cho em vững bước trên con đường mình đã chọn. Và đặc biệt là Thầy,
Cô khoa Điện - Điện tử đã truyền đạt kiến thức, kinh nghiệm cũng như tạo những
điều kiện tốt nhất để em hoàn thành đề tài.
Xin cảm ơn các bạn cùng khóa, cùng khoa đã động viên, khích lệ, ủng hộ về nhiều
mặt góp phần làm nên thành công của đồ án này.
I. Tên đề tài: BẢNG ĐIỆN TỬ HIỂN THỊ THÔNG TIN THỜI TIẾT........ i
IV. Ngày hoàn thành đồ án/ khoá luận tốt nghiệp: 05/2020........................ i
CHƯƠNG II CƠ SỞ LÝ THUYẾT........................................................................14
2.2 IO T .................................................................................................................17
2.3 Webserver...................................................................................................... 19
2.4 ESP32 .... 20
2.5 Phương pháp quét module led matrix p10 full color................................ 21
............................................................................................................................. 31
3.2.2 Nguồn.......................................................................................................32
Hình II-5 Sơ đồ chân kết nối của module led p10 full color................................24
Hình V-3Giao diện nhập API để lấy thông tin từ mạng internet........................ 48
Ngày nay với sự phát triển của khoa học kỹ thuật cùng với sự tiến bộ của xã hội
nhu cầu về thông tin trở nên thiết yếu đối với con người trong hoạt động kinh doanh
sản xuất việc đưa thông tin đến với mọi người trở nên dễ dàng và nhanh chóng. Thông
qua nhiều hình thức khác nhau mà doanh nghiệp hay hộ kinh doanh nhỏ lẻ, nơi công
cộng có thể giới thiệu sản phẩm hay thông tin hàng hóa giá cả đến mọi người.
Hiện nay có nhiều biển quảng cáo, băng rôn, khẩu hiệu, thông báo trong thực tế
với nhiều chất liệu như biển quảng cáo sắt, gỗ, vải, phướn,... thì bảng led thể hiện tính
ưu việt hơn hẳn các loại quảng cáo truyền thống. Thông tin hiển thị trên bảng led ma
trận có thể sửa chữa dễ dàng hơn dễ lắp đặt và dễ thay thế.
Chúng ta bắt gặp rất nhiều bảng thông tin như vậy trong thực tế. Khi tới phi trường
bạn có thể biết được thời gian chuyến bay, địa điểm và chuyến bay số hiệu nào. Hoặc
khi vào khu ăn uống bảng led có thể hiện thị các hình ảnh sinh động về món ăn hay
logo hiện lên với đủ kiểu biến hóa.
Với mong muốn giới thiệu ứng dụng của bảng led và thiết yếu trong đời sống cũng
như tầm quan trong của của bảng thông báo em đã tìm hiểu và thiết kế mô hình.
Mục tiêu của em sẽ tiến hành thiết kế và thi công mô hình bảng LED MATRIX.
Mô hình sẽ nhằm mục đích hiển thông tin thời tiết như tia uv, chất lượng không khí,
giờ hiện tại, tốc độ gió, nhiệt độ. Nếu như tia uv cao có khả năng ảnh hưởng đến da sẽ
hiển thị cảnh báo cho người xem biết như không nên đi ra đường, dự báo thời tiết 4 giờ
gần nhất bằng hình ảnh. Ngoài ra bảng led cũng có thể nhập thông báo tùy ý có thể
chỉnh được tốc độ và màu sắc.
1.3 NỘI DUNG NGHIÊN CỨU
- Nội dung 1: Nghiên cứu Module LED p10 full color dùng cho bảng thông báo.
- Nội dung 2: Nghiên cứu KIT ESP32.
- Nội dung 3: Lập trình cho ESP32 trên arduino IDE.
- Nội dung 4: Thiết kế tính toán nguồn cho thiết bị.
- Nội dung 5: Thi công phần cứng, khung, thử nghiệm và hiệu chỉnh hệ thống.
- Nội dung 6: Cài đặt và điều chỉnh hệ thống để đặt được tối ưu.
- Nội dung 7: Viết báo cáo.
- Nội dung 8: Bảo vệ luận văn.
1.5 BỐ CỤC
Đề tài “Thiết kế bảng điện tử hiện thị thông tin thời tiết” được trình bày như sau:
Chương này em sẽ đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung
nghiên cứu, các giới hạn và bố cục đồ án.
Chương này em sẽ trình bày sơ đồ khối, tính toán và chọn linh kiện.
Chương này em trình bày các bước thi công mạch, lắp ráp, kiểm tra và thi công
mô hình.
Chương này em sẽ nêu lên kết quả đạt được, nhận xét và đánh giá mô hình.
Chương này nêu lên kết luận về những gì đã thực hiện đồng thời đưa ra hướng
phát triển cho mô hình.
CHƯƠNG II CƠ SỞ LÝ THUYẾT
2.1 Các chuẩn giao tiếp
Wifi là mạng kết nối Internet không dây, là từ viết tắt của Wireless Fidelity, sử
dụng sóng vô tuyến để truyền tín hiệu. Loại sóng vô tuyến này tương tự như sóng điện
thoại, truyền hình và radio. Và trên hầu hết các thiết bị điện tử ngày nay như máy tính,
laptop, điện thoại, máy tính bảng... đều có thể kết nối Wifi.
Kết nối Wifi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện nay
Wifi hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong khoảng cách 100
feet (gần 31 mét, các bạn cứ thử tưởng tượng mỗi 1 tầng nhà lấy trung bình là 4 mét thì
theo lý thuyết sóng wifi phát ở tầng 1 vẫn sẽ bắt được nếu bạn đang ở tầng 7 - đó là
theo lý thuyết). Còn trong thực tế thì trong mỗi ngôi nhà thường có rất nhiều vật cản
sóng, nên bạn chỉ cần đứng trên tầng 4 hoặc 5 là tín hiệu đã yếu lắm rồi.
Để có được sóng Wifi thì chúng ta cần phải có bộ phát Wifi - chính là các thiết bị
như modem, router. Đầu vào, tín hiệu Internet nguồn (được cung cấp bởi các đơn vị
ISP như FPT, Viettel, VNPT, C M C . hiện nay). Thiết bị modem, router sẽ lấy tín hiệu
Internet qua kết nối hữu tuyến rồi chuyển thành tín hiệu vô tuyến, và gửi đến các thiết
bị sử dụng như điện thoại smartphone, máy tính bảng, la p to p . Đây là quá trình nhận
tín hiệu không dây (hay còn gọi là adapter) - chính là card wifi trên laptop, điện th o ạ i.
và chuyển hóa thành tín hiệu Internet. Và quá trình này hoàn toàn có thể thực hiện
ngược lại, nghĩa là router, modem nhận tín hiệu vô tuyến từ adapter và giải mã chúng,
gửi qua Internet.
Về bản chất kỹ thuật, tín hiệu Wifi hoạt động gửi và nhận dữ liệu ở tần số 2.5GHz
đến 5GHz, cao hơn khá nhiều so với tần số của điện thoại di động, r a d io . do vậy tín
hiệu Wifi có thể chứa nhiều dữ liệu nhưng lại bị hạn chế ở phạm vi truyền - khoảng
cách. Còn các loại sóng khác tuy tần số thấp nhưng lại có thể truyền đi ở khoảng cách
rất xa như LORA, FM,...
Sóng Wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of
Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ hơn là a/b/g/n/ac.
Handheld Device
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng
Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master
điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế
truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full
duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng
thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong
chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master
Ouput Slave Input) và SS (Slave Select). Hình 1 thể hiện một kết SPI giữa một chip
Master và 3 chip Slave thông qua 4 đường.
SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1
đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là điểm
khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự
tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có
thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master.
M ISO - Master Input / Slave Output: nếu là chip Master thì đây là đường Input
còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves được nối
trực tiếp với nhau.
MOSI - Master Output / Slave Input: nếu là chip Master thì đây là đường Output
còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực
tiếp với nhau.
SS - Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường
SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của một Slave
nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1
đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy
thuộc vào thiết kế của người dùng.
2.2 IOT
Internet Vạn Vật, hay cụ thể hơn là Mạng lưới vạn vật kết nối Internet hoặc là
Mạng lưới thiết bị kết nối Internet (tiếng Anh: Internet o f Things, viết tắt IoT) là một
liên mạng, trong đó các thiết bị, phương tiện vận tải (được gọi là "thiết bị kết nối" và
"thiết bị thông minh"), phòng ốc và các trang thiết bị khác được nhúng với các bộ phận
điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết nối mạng máy
tính giúp cho các thiết bị này có thể thu thập và truyền tải dữ liệu. Năm 2013, tổ chức
Global Standards Initiative on Internet o f Things (IoT-GSI) đinh nghĩa IoT là "hạ tầng
cơ sở toàn cầu phục vụ cho xã hội thông tin, hỗ trợ các dịch vụ (điện toán) chuyên sâu
thông qua các vật thể (cả thực lẫn ảo) được kết nối với nhau nhờ vào công nghệ thông
tin và truyền thông hiện hữu được tích hợp, và với mục đích ấy một "vật" là một thứ
trong thế giới thực (vật thực) hoặc thế giới thông tin (vật ảo), mà vật đó có thể được
nhận dạng và được tích hợp vào một mạng lưới truyền thông. Hệ thống IoT cho phép
vật được cảm nhận hoặc được điều khiển từ xa thông qua hạ tầng mạng hiện hữu, tạo
cơ hội cho thế giới thực được tích hợp trực tiếp hơn vào hệ thống điện toán, hệ quả là
hiệu năng, độ tin cậy và lợi ích kinh tế được tăng cường bên cạnh việc giảm thiểu sự
can dự của con người. Khi IoT được gia tố cảm biến và cơ cấu chấp hành, công nghệ
này trở thành một dạng thức của hệ thống ảo-thực với tính tổng quát cao hơn, bao gồm
luôn cả những công nghệ như điện lưới thông minh, nhà máy điện ảo, nhà thông minh,
vận tải thông minh và thành phố thông minh. Mỗi vật được nhận dạng riêng biệt trong
hệ thống điện toán nhúng và có khả năng phối hợp với nhau trong cùng hạ tầng Internet
hiện hữu. Các chuyên gia dự báo rằng Internet Vạn Vật sẽ ôm trọn chừng 30 tỉ vật trước
năm 2020.
Về cơ bản, Internet Vạn Vật cung cấp kết nối chuyên sâu cho các thiết bị, hệ thống
và dịch vụ, kết nối này mang hiệu quả vượt trội so với kiểu truyền tải máy-máy (M2M),
đồng thời hỗ trợ da dạng giao thức, miền (domain), và ứng dụng. Kết nối các thiết bị
nhúng này (luôn cả các vật dụng thông minh), được kỳ vọng sẽ mở ra kỷ nguyên tự
động hóa trong hầu hết các ngành, từ những ứng dụng chuyên sâu như điện lưới thông
minh,[14] mở rộng tới những lĩnh vực khác như thành phố thông minh.
IoT là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một
định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu
qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người,
hay người với máy tính. IoT đã phát triển từ sự hội tụ của công nghệ không dây, công
nghệ vi cơ điện tử và Internet. Nói đơn giản là một tập hợp các thiết bị có khả năng kết
nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó.
18
Một vật trong IoT có thể là một người với một trái tim cấy ghép; một động vật ở
trang trại với bộ chip sinh học; một chiếc xe với bộ cảm ứng tích hợp cảnh báo tài xế
khi bánh xe xẹp hoặc bất kỳ vật thể tự nhiên hay nhân tạo nào mà có thể gán được một
địa chỉ IP và cung cấp khả năng truyền dữ liệu thông qua mạng lưới. Cho đến nay, IoT
là những liên kết máy-đến-máy (M2M) trong ngành sản xuất, công nghiệp năng lượng,
kỹ nghệ xăng dầu. Khả năng sản phẩm được tích hợp máy-đến-máy thường được xem
như là thông minh Với sự trợ giúp của công nghệ hiện hữu, các thiết bị này thu thập dữ
liệu hữu ích rồi sau đó tự động truyền chúng qua các thiết bị khác. Các ví dụ hiện thời
trên thị trường bao gồm nhà thông minh được trang bị những tính năng như kiểm soát
và tự động bật tắt đèn, lò sưởi (giống như bộ ổn nhiệt thông minh), hệ thống thông gió,
hệ thống điều hòa không khí, và thiết bị gia dụng như máy giặt/sấy quần áo, máy hút
chân không, máy lọc không khí, lò nướng, hoặc tủ lạnh/tủ đông có sử dụng Wi-Fi để
theo dõi từ xa
2.3 Webserver
Chức năng cơ bản nhất của máy chủ web là lưu trữ, xử lí và phân phối nội dung
các trang web đến khách hàng, cụ thể ở đây là máy tính người dùng, hay còn gọi là
client trong mô hình server-client. Giao tiếp giữa của máy tính người dùng và máy chủ
thực hiện thông qua giao thức h t t p . Nội dung phân phối chính từ máy chủ web là các
nội dung định dạng HTML, bao gồm hình ảnh, style sheets, các đoạn mã script hỗ trợ
các nội dung văn bản thô.
Nhiều máy chủ web có thể được sử dụng cho một cao lưu lượng truy cập trang
web ở đây, Dell máy chủ đang cài đặt cùng được sử dụng cho các Wikimedia.
Tác nhân người dùng, thường là trình duyệt web hoặc trình thu thập dữ liệu web,
khởi tạo giao tiếp bằng cách yêu cầu một tài nguyên cụ thể bằng HTTP và máy chủ
phản hồi với nội dung của tài nguyên đó hoặc thông báo lỗi nếu không thể thực hiện.
Tài nguyên thường là một tệp thực sự trên bộ nhớ thứ cấp của máy chủ, nhưng điều này
không nhất thiết phải là trường hợp và phụ thuộc vào cách máy chủ web được triển
khai.
Mặc dù chức năng chính là phân phát nội dung, việc triển khai đầy đủ HTTP cũng
bao gồm các cách nhận nội dung từ khách hàng. Tính năng này được sử dụng để gửi
biểu mẫu web, bao gồm tải lên tệp.
Nhiều máy chủ web chung cũng hỗ trợ kịch bản lệnh phía máy chủ bằng cách sử
dụng các trang Active Server Pages (ASP), PHP hoặc các ngôn ngữ kịch bản khác. Điều
này có nghĩa rằng hành vi của máy chủ web có thể được viết trong các tệp riêng biệt,
trong khi phần mềm máy chủ thực tế vẫn không thay đổi. Thông thường, chức năng
này được sử dụng để tạo ra các tài liệu HTML động ("on-the-fly") như trái ngược với
các tài liệu tĩnh trả về. Trước đây được sử dụng chủ yếu để lấy hoặc sửa đổi thông tin
từ cơ sở dữ liệu. Cái sau thường nhanh hơn và dễ lưu trữ hơn nhưng không thể cung
cấp nội dung động.
Các máy chủ web không chỉ được sử dụng để phục vụ World Wide Web. Họ cũng
có thể được tìm thấy nhúng trong các thiết bị như máy in, thiết bị định tuyến, webcam
và chỉ phục vụ một mạng nội bộ. Sau đó, máy chủ web có thể được sử dụng như một
phần của hệ thống để theo dõi hoặc quản lý thiết bị được đề cập. Điều này thường có
nghĩa là không có phần mềm bổ sung nào phải được cài đặt trên máy khách, vì chỉ cần
một trình duyệt web (mà bây giờ được bao gồm trong hầu hết các hệ điều hành).
2.4 ESP32
Việc tích hợp cả Bluetooth, BLE và Wifi đảm bảo cho khả năng ứng đáp ứng nhiều
loại ứng dụng khác nhau và module đó sử dụng với ngoại vi, thiết bị nào: wifi cho phép
kết nối rộng rãi về mặt vật lý ra Internet qua Wi-fi router, trong khi sử dụng Bluetooth
cho phép người dùng thuận tiện khi kết nối với smartphone, hay thiết bị beacon tiết
kiệm điện. Ở chế độ ngủ, chíp ESP32 tiêu thụ dòng dưới 5 ^A, phù hợp với những thiết
kế mạch dùng pin hay thiết bị đeo được. Tốc độ truyền thông cho phép lên đến 150
Mbps, và công suất tín hiệu khoảng 20 dBm trên anten cho phép phạm vi tín hiệu xa.
Như vậy module này có thông số kỹ thuật thuộc dạng đầu bảng trên thị trường cũng
như hiệu suất, độ tin cậy tốt nhất cho tích hợp, thiết kế ứng dụng điện tử, tự động hóa,
đòi hỏi phạm vi hoạt động rộng, tiết kiệm năng lượng cũng như khả năng kết nối đa
dạng.
Hệ điều hành chạy được trên ESP32 là FreeRTOS vơi LwIP, TLS 1.2. Hỗ trợ
update firmware qua OTA mã hóa, điều này cho phép nhà phát triển sản phẩm có thể
nâng cấp phần mềm sản phẩm ngay cả khi thiết bị đang được sử dụng một cách tiết
kiệm tiền bạc và nhân lực.
2.5 Phương pháp quét module led matrix p10 full color
- 10 IC ghi dịch
- 2 IC đệm dòng
- 4 IC giải mã
- 1 connector đầu vào, 1 connector đầu ra
Thời gian sử dụng của LED >50,000 giờ (khoảng 15 năm - ngày dùng 8 giờ)
R2: Chân data cho màu đỏ của 8 hàng led phía dưới
G1: Chân data cho màu xanh lá của 8 hàng led bên trên
G2: Chân data cho màu xanh lá của 8 hàng led phía dưới
B 1: Chân data cho màu xanh dương của 8 hàng led bên trên
B2: Chân data cho màu xanh dương của 8 hàng led phía dưới
LAT: Chân chốt data ( đẩy data lưu trong ic ghi dịch ra ngoài led)
OE: Chân cho phép bảng led sáng ( OE=0 thì bảng led được phép sáng, OE=1 thì
bảng led auto tắt)
A,B,C: 3 chân của ic vào 3 ra 8, tức 3 chân dùng để quét led, cho phép hàng nào
sáng. Với 3 chân ABC ta điều khiển đc 8 hàng độc lập, nhưng module P10 có tới 16
hàng thì trong 1 thời điểm có 2 hàng cùng sáng.
Trong 1 thời điểm số led RGB ta có thể điều khiển là 512 x 1/8 = 64 LED RGB
in
ga •
*»
•
• •
RI • •G l
• • ■g nd :::
BI
R2 4 % % •G 2
VJ2 • • • • g n d í :
A * % % »B
kin ■ G N D -:
lNv* • •
rn Ị/ 1 •L A T :
• • » G N D -:
OE 1
• • • . Ư3 •
U ĨB G 3 Ỉ:
<*
m
Hình II-5 Sơ đồ chân kết nối của module ledp10 fu ll color
(R2,G2,B2)
Có thể thấy, module này chia ra làm 2 nửa theo chiều ngang, với dữ liệu của 8
hàng trên do RGB1 quyết định, còn 8 hàng dưới do RGB2 quyết định. Chân ABC sẽ
quyết định hàng nào trong 8 hàng của cả 2 nửa được sáng.
Tiếp theo kéo chân LAT và chân OE lên mức cao. Việc cho phép chân LAT ở mức
cao, cho phép xuất dữ liệu ra và hiển thị đồng thời nó cũng vô hiệu hóa dữ liệu ra để
chúng ta chuyển hàng.
Chuyển hàng bằng cách chọn hàng đã đề cập ở trên túc là thay đổi các trạng thái
để có thể chọn hàng.
Kéo chân LAT xuống mức thấp và lên mức cao cho phép đóng chốt để chúng ta
có thể ra dữ liệu tiếp theo.
Mắt chúng ta có khả năng lưu ảnh 20ms 1 lần vậy thì 1 hàng led chúng ta sẽ xử lý
trong 20/16 là khoảng 1,25ms.
Cách tạo font chữ bên trên đã có thể tạo ra được tất cả các loại font nhưng một vấn
đề cũng rất được quan tâm đó là hiển thị bộ font đầy đủ tiếng Việt. Không những hiển
thị được, việc nhập liệu tiếng việt vào cũng là 1 vấn đề quan trọng.
Ngay nay, chuẩn UTF-8 đã rất phổ biến, các trình dịch và phần mềm editor cũng
hỗ trợ UTF-8 rất nhiều. Vậy nên em sẽ thiết kế bộ font tiếng việt theo chuẩn UTF-8.
Khả năng của kiểu mã hóa font UTF-8 là độ dài của byte mã hóa không cố định,
nó có thể là lbyte, 2byte, 3 byte, 4byte và nhiều hơn nữa nếu muốn, nên nó tiết kiệm
được không gian lưu trữ hơn so với unicode Ngoài ra nó cũng tương thích hoàn toàn
với bộ mã ASCII.
Ví dụ, chữ À có giá trị tương đường là 0x0000C380. Khi trình dịch biên dịch chữ
À, nó sẽ chỉ lưu 2 byte 0xC380 vào bộ nhớ. Chữ ắ có giá trị tương đương 0x00E1BAAF.
Khi trình dịch biên dịch chữ ắ, nó sẽ lưu 3 byte 0xE1BAAF và bộ nhớ.
Byte đầu tiên (cao nhất) chính là cơ sở để ta xác định độ dài của chữ cần giải mã.
> Nếu byte đầu tiên có dạng 0xxx xxxx thì chữ này chiếm 1 byte thôi
> Nếu byte đầu tiên có dạng 110x xxxx thì chữ này chiếm 2 byte.
> Nếu byte đầu tiên có dạng 1110 xxxx thì chữ này đang chiếm 3 byte.
> Nếu byte đầu tiên có dạng 1111 0xxx thì chữ này đang chiếm 4 byte.
Theo bộ mã ASCII chúng ta có các kí tự 0->127 thuộc dải mã này, tuy nhiên từ 0
đến 32 thì là các mã hệ thống, không có khả năng hiển thị nên em sẽ tận dụng luôn.
Vị trí 0 là NULL nên không xài, bắt đầu từ vị trí 1 sẽ lưu chữ À, tiếp tới 2 sẽ là Á ...
cho tới 31 là chữ Í -> tiếp tới 32 đến 127 là mã ASCII -> tiếp tục từ 127 đến 229 là các
kí tự tiếng Việt còn lại -> từ 229 trở đi là các kí tự đặc biệt, icon.
CHƯƠNG III TÍNH TOÁN VÀ THIẾT KỂ
3.1 GIỚI THIỆU
Đề tài yêu cầu thiết kế hệ thống bảng điện tử hiển thị thông tin thời tiết. Kết nối
với internet thu thập dữ liệu và xuất ra bảng led. Chương này em sẽ trình bày sơ đồ
khối, tính toán, chọn linh kiện và giao diện cài đặt trên webserver.
Chức năng xử lý, lấy dữ liệu từ mạng internet, chạy webserver, điều khiển thông
tin hiện thị đưa lên bảng led.
Vi xử lý trung tâm vừa có thể chạy webserver vừa có thể truy cập internet để lấy
dữ liệu về nhanh, liên tục, hiệu quả thông dụng và có giá cả phải chăng với các yêu cầu
như vậy em quyết định chọn board DevKit ESP32-WROOM.
Nguồn phải đảm bảo cung cấp vừa nguồn cho vi điều khiển vừa cấp nguồn cho 16
module led ma trận.
Sử dụng 16 module led ma trận mà mỗi module nếu sáng hoàn toàn 100% thì dòng
điện sẽ là 6A tương ứng với 30W vậy 16 module là 16x30 là 480W. Nhưng những
thông tin hiển thị lên bảng led độ phủ chỉ chiếm ^2 bảng led nên ta chỉ cần khoảng 240W.
Vậy em sẽ sử dụng bộ nguồn 5V 70A tương ứng với 350W hoàn toàn hợp với mô
hình.
Bộ khung cho led có tác dụng định hình cho cả bảng led, cố định bộ nguồn mà
mạch nên yêu cầu là đảm bảo sự chắc chắn nhẹ nhàng để dễ di chuyển và lắp đặt. Khung
cho mô hình có kích thước như sau:
Mặt trước bộ khung dùng để định hình 16 tấm led. Mặt sau là mạch điều khiển và
nguồn, được bảo vệ bằng nhựa nhựa carbonate. Nguồn và mạch được cố định lên khung.
4 .2 L ưu đồ th u ậ t toán
Đúng
l
D5 nối vào công tắc dùng chọn chế độ Station hoặc Access Point.
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng cross-platform
(đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập
trình xử lý (Processing programming language) và project Wiring. Nó được thiết kế để
dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao
gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động
brace matching, và tự động canh lề, cũng như compile(biên dịch) và upload chương
trình lên board chỉ với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino
được gọi là một sketch.
Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với
một thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các
thao tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo
ra một chương trình vòng thực thi (cyclic executive) có thể chạy được:
setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các
cài đặt
loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Bước 1 : Truy cập địa chỉ https://www.arduino.cc/. Đây là nơi lưu trữ cũng như cập nhật
các bản IDE của Arduino. Bấm vào mục WINDOWS ZIP file for non admin install như
hình minh họa.
Home Buy Download Products ▼ Learning ▼ Forum Support Blog LOG IN SIGN UP
Bạn sẽ được chuyển đến một trang mời quyền góp tiền để phát triển phần mềm cho
Arduino, tiếp tục bấm JU ST DOW NLOAD để bắt đầu tải.
Contribute to the Arduino Software
Consider supporting the Arduino Software by contributing to its development. (IJStax payers, please note this contribution
is not tax deductible). Learn more on how your contribution will be used.
IT BETTER.
Bước 2: Sau khi download xong, bấm chuột phải vào file vừa download arduino-1.6.4-
windows.zip và chọn “E x tract here” để giải nén.
N am e D ate m o d ifie d Type
Open
Run S a n d b o x e d
õmr E d it w ith N o t e p a d + +
Scan w ith A V G
P e rm a n e n tly shred w ith A V G
O p e n w ith ►
Q M a g ic IS O ►
S end to ►
Cut
Copy
C re ate sh o rtcu t
D e le te
Renam e
P ro p e rtie s
Bước 3: Copy thư mục arduino-1.6.4 vừa giải nén đến nơi lưu trữ.
Sketchbook location:
C: \Users\vantr\OneDnveipoa»nent\Arduino| Browse
OK Cancel
A r c h iv e S k e tc h
Fix E n c o d in g & R e lo a d
Serial M o n ito r C t r l* S h if t * M
to run once:
Serial P lo tte r C t r l* S h if t * L
B o a rd s M a n a g e r...
W iF ilO l F irm w a re U p d a te r
▲
1
B o a rd : " D O IT E S P 32 D E V K IT V 1 " * In to R o b o t Fig
>
U p lo a d S p e e d : "9 21600“ À
O n e h o r s e ES P 3 2 D e v M o d u le
C o r e D e b u g L e v e l: " N o n e ” : N o d eM C U -3 2 S
Po rt M H E T LIV E ES P 3 2 D e v K IT
G e t B o a rd Info M H E T LIV E E S P 3 2 M in iK it
ES P 3 2 v n lo T U n o
P r o g r a m m e r " A rd u in o as ISP" ế
<1
H
D O IT E S P 3 2 D E V K IT V 1
B u rn B o o tlo a d e r
O L IM E X E S P 3 2 -E V B
O L IM E X E S P 3 2 -G A T E W A Y
T h a iE a s y E le c 's ES P in o 3 2
M 5 S ta c k - C o re - E S P 3 2
M 5 S ta c k -F IR E
O D R O ID ESP32
Vào Tools ——P o rt và chọn đúng cổng COM mà ESP32 kết nối vào máy tính, sau đó
thực hiện nạp code.
Hình IV-10Chọn cổng để nạp code
Cuối cùng, sau khi cài đặt thành công, các bạn vào File ^ Exam ple sẽ có các ví dụ
mẫu về các chức năng phổ biến của ESP32, đây sẽ là nguồn code mẫu để các bạn nghiên
cứu về ESP32.
Hình IV-11Giao diện các ví dụ để tham khảo trong arduino IDE
void loop(){
if(!wificonf)
checkWifi();
httpProcess();
if(delayState==0){
if(dispState==1)
{dispDateTime(0);delayState=5;}
else if(dispState==3)
{dispQrAll(0xff);dispWeather();delayState=5;}
else if(dispState==5)
{dispQrAll(0xff);dispForecastHourly();delayState=8;}
else if(dispState==6)
{dispQrAll(0xff);dispForecastDaily();delayState=8;}
else if(dispState==7)
{dispQrAll(0xff);dispEnviroment();delayState=3;}
Else
{dispInfoText();delayState=2;}
if(count2%60==5)
{getDateTime();count2++;}
if((count2%60==15)&&((count2<60)||(getAqiError>0)))
{getAQI();count2++;}
if((count2%60==25)&&(onlineMin%3==0))
{getWeather();count2++;}
if((count2%60==25)&&(onlineMin%3==1))
{getForecastHourly();count2++;}
if((count2%60==25)&&(onlineMin%3==2))
{getForecastDaily();count2++;}
if((count2%60==50)&&(onlineHour>5)&&((onlineMin%15==1)||(getUViError
>0)))
{getUVI();count2++;}
if(lastMin!=onlineMin){
lastMin=onlineMin;
for(char i=0;i<6;i++){
if(onOffT ime[i].mode==0)continue;
if(onOffTime[i].min !=onlineMin)continue ;
if(onOffT ime[i].hour!=onlineHour)continue;
}
CHƯƠNG V Kết quả - nhận xét - đánh giá
5.1 C ấu hình cho hệ thống kết nối internet
B ả n g th ô n g tin th ở i t iế t t r ự c tu y ế n
1 2 : 4 2 :3 5 CÀI Đ ẶT
26 / 5 / 2020
Bước 3: Cài đặt API để lấy dữ liệu thời tiết, chất lượng không khí, tia uv.
Ngoài ra hệ thống cũng được thiết kế để có thể chạy thêm thông báo tùy chỉnh
được ví dụ như có hội thảo hay là thông tin đánh rơi đồ,...
Hình V-4Giao diện nhập để chạy thông báo
Giao diện đã được thiết kế 5 thông báo có thể chỉnh được 7 màu chữ và 5 cấp tốc độ.
Màu chữ T ổc đô
Vàng T Không chạy Hình V-5Chỉnh màu và tốc độ của chữ chạy
thông báo
Đỏ
Không chạy
Xanh lá
Vàng Rât nhanh
Xanh dưo’ng Nhanh
Tím Vừa
Xanh lo:
Trắng Chậm
Ngẫu nhiên Rất chậm
Hình V-6Giao diện cài đặt mật khâu
Thêm vào đó hệ thống cũng cung cấp mật khẩu để nhiều vị trí có thể sử dụng. Ví
dụ như phòng công tác sinh viên cần đăng thông tin gì thì có thể sử dụng bảng led để
hiển thị thông tin.
Củng cố được kiến thức lập trình vi điều khiển ESP32, tiếp cận được công nghệ
mới theo xu hướng IOT 4.0.
Cần học hỏi thêm nhiều kiến thức về IOT và kinh nghiệm của thầy cô, anh chị
sinh viên, doanh nghiệp. Từ đó mới phát triển nâng cao tay nghề. Bản thân phải thường
xuyên trau dồi cập nhật những kiến thức mới nhất để theo kịp thời đại mới đặc biệt là
trong lĩnh vực IOT.
CHƯƠNG VI Kết luận và hướng phát triển
6.1 K ết luận
Sau thời gian nghiên cứu và tìm hiểu, nhóm đã hoàn thành đề tài “Bảng điện tử
hiện thị thông tin thời tiết trực tuyến”
Trong quá trình thực hiện đề tài, em đã gặp nhiều khó khăn như phải nghiên cứu
nhiều nguồn tài liệu cả tiếng việt lẫn tiếng anh nên có nhiều nhầm lẫn. Trong khi lập
trình gặp nhiều lỗi phát sinh mà không thể giải quyết. Quá trình thi công cũng gặp nhiều
khó khăn nhưng em đã cố gắng giải quyết vấn đề phát sinh và hoàn thiện được đề tài.
Do đây là lần đầu tiên làm đồ án tốt nghiệp có nhiều bỡ ngỡ với kiến thức còn
nhiều hạn chế, thiếu sót. Em mong được sự giúp đỡ cũng các thầy cô giáo để đề tài
được hoàn thiện hơn và thêm nhiều cải tiến đáng kể, ứng dụng tốt vào thực tiễn.
Sản phẩm tương lai sẽ phát triển trên module led p5 hoặc p3 để có mật độ điểm
ảnh dày hơn, để có thể hiển thị hình ảnh và video.
Tương lai sẽ sử dụng thêm thingspeak để gửi dữ liệu lên clound. Có thể gửi dữ
liệu về gmail để theo dõi hoặc thể sử dụng app android để gửi dữ liệu xuống esp32.
TÀI LIỆU THAM KHẢO
[1] http://iot47 .com/category/ma-tran-led/
[2] http://iot47.com/matrix-ledbai-13-thiet-ke-bo-font-tieng-viet/
[5] https://en.wikipedia.org/wiki/ESP32
[6] http://arduino.vn/tutorial/1570-gioi-thieu-module-esp32-va-huong-dan-cai-trinh-
bien-dich-tren-arduino-ide
[7] https://tapit.vn/huong-dan-cai-dat-arduino-ide-de-lap-trinh-cho-esp32/
[10] https://www.w3schools.com/html/
[12] https://www.openuv.io/
[13] https://www.iqair.com/