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

Công nghệ phần mềm nhúng

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.79 MB, 42 trang )

Ban cơ yếu chính phủ

Học viện Kỹ thuật mật mã

_____________________

BÁO CÁO MÔN HỌC

CÔNG NGHỆ PHẦN MỀM NHÚNG

Đề tài: XE TỰ HÀNH TRÁNH VẬT CẢN

Giảng viên hướng dẫn: Lê Đức Thuận
Sinh viên thực hiện: Nhóm 07 – lớp L03

Đinh Cơng Tuấn CT050453
Hoàng Tuấn Minh CT050432
Lê Quốc Mạnh CT050234

MỤC LỤC

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI......................................................................................5
1.1 Đặt vấn đề....................................................................................................................5
1.2 Tính cấp thiết của đề tài..............................................................................................5
1.3 Tình hình nghiên cứu hiện nay....................................................................................6
1.3.1 Tình hình nghiên cứu quốc tế............................................................................6
1.3.2 Tình hình nghiên cứu trong nước...........................................................................7
1.4 Tổng kết chương 1......................................................................................................7

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ ARDUINO...............................................................7
2.1 Giới thiệu.......................................................................................................................7


2.2 Lịch sử ra đời.................................................................................................................8
2.2.1 Dòng Arduino USB................................................................................................8
2.2.1.1 Mạch lập trình đầu tiên (2005).........................................................................8
2.2.1.2Mạch Arduino đầu tiên - Arduino USB (2005).................................................8
2.2.1.3 Arduino Extreme (2006)...................................................................................9
2.2.1.4 Arduino NG (2006).........................................................................................11
2.2.1.5. Arduino Diecimila (2007).............................................................................12
2.2.1.6. Arduino Duemilanove (2008 - 2009).............................................................13
2.2.1.7. Arduino UNO 2010 - đến nay........................................................................13
2.2.1.8. Những dòng Arduino khác............................................................................16
2.2.2 Arduino MEGA...................................................................................................16
2.2.2.1. Arduino Mega đầu tiên (2009 - 2010)...........................................................16
2.2.2.2. Arduino MEGA ADK (2011)........................................................................17
2.2.2.3. Arduino DUE (2012).....................................................................................18
2.2.2.4. Arduino Yún (2013).......................................................................................19
2.3 Kiến trúc phần cứng Arduino......................................................................................19
2.4 Thiết kế nguồn.............................................................................................................21
2.4.1 Thiết kế mạch dao động.......................................................................................22
2.4.2 Thiết kế mạch reset..............................................................................................23
2.4.3 Thiết kế mạch nạp và giao tiếp máy tính.............................................................24
2.5 Mơi trường phát triển phần mềm Arduino...................................................................25

1

2.6 Tổng kết chương 2.......................................................................................................26
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG.................................................27
3.1 Thiết kế phần cứng.......................................................................................................27

3.1.1 Tổng quan phần cứng...........................................................................................27
3.1.1.1 Arduino Uno R3..............................................................................................27

3.1.1.2 Cảm biến siêu âm HC-SR04...........................................................................28
3.1.1.3 Khối động cơ Servo........................................................................................30
3.1.1.4 Module điều khiển động cơ L298 mạch cầu H...............................................31

3.1.2 Thiết kế sơ đồ mạch.............................................................................................33
3.1.3 Nguyên lý hoạt động............................................................................................34
3.2 Thiết kế phần mềm......................................................................................................34
3.2.1 Sơ đồ Use Case tổng quát....................................................................................34
3.2.2 Đặc tả Use Case...................................................................................................34

3.2.2.1 Đặc tả Use Case “Đi thẳng”............................................................................34
3.2.2.2 Đặc tả Use Case “Đi lùi”................................................................................35
3.2.2.3 Đặc tả Use Case “Rẽ trái”...............................................................................36
3.2.2.4 Đặc tả Use Case “Rẽ phải”.............................................................................37
3.2.3 Thuận toán khối xử lý trung tâm..........................................................................38
3.2.4 Sơ đồ thuật toán...................................................................................................39
3.3 Kết quả thực nghiệm....................................................................................................40
3.3.1 Code Arduino.......................................................................................................40
3.3.2 Mơ hình thử nghiệm.............................................................................................40
3.3.2.1 Mơ hình giả lập trên Proteus...........................................................................40
3.3.2.2 Mơ hình thực tế...............................................................................................40
3.3.3 Kết quả thử nghiệm..............................................................................................40
3.3.4 Nhận xét đánh giá................................................................................................40

2

Lời mở đầu
Các Robot tự hành được ứng dụng trong đời sống ngày càng nhiều như robot vận
chuyển hàng hóa, robot kiểm tra nguy hiểm, robot xe lăn cho người khuyết tật, robot phục
vụ sinh hoạt gia đình… Điểm hạn chế của robot tự hành hiện tại là tính thiếu linh hoạt và

khả năng thích ứng khi làm việc ở những vị trí khác nhau. Từ những lý do đó nảy sinh vấn
đề tránh vật cản cho robot tự hành nhằm nâng cao tính linh hoạt cho robot. Hầu hết các robot
hiện đại đều có một kiểu tránh vật cản nào đó robot xác định vật cản và dừng lại ở khoảng
cách ngắn so với vật cản để tránh va chạm, đến các thuật toán tinh tế hơn, cho phép robot di
chuyển theo đường viền quanh vật cản. Đề tài ”Xe tự hành tránh vật cản” nhằm góp phần
giải quyết vấn đề trên.
Nội dung báo cáo này gồm các phần:
- Chương 1: Tổng quan đề tài
- Chương 2: Cơ sở lý thuyết
- Chương 3: Thiết kế và xây dựng hệ thống
- Kết luận

Trong quá trình làm báo cáo, do trình độ chun mơn cịn hạn chế và điều kiện không
thuận lợi nên không thể tránh khỏi những sai sót, rất mong được sự đóng góp của các thầy,
cơ và các bạn để báo cáo được hồn thiện hơn.

3

TÓM TẮT ĐỀ TÀI

*Yêu cầu chung và các chức năng của hệ thống
- Yêu cầu chung
 Tính thực thi cao, có khả năng phát triển.
 Đảm bảo về chất lượng, độ chính xác cao, làm việc lâu dài, bền bỉ.
 Tiết kiệm chi phí, linh kiện dễ kiếm dễ sử dụng và dễ dàng thay thế khi xảy
ra sự cố.
 Giảm thiểu chi phí, thời gian vận hành, bảo dưỡng và sửa chữa.
- Chức năng: Xe có khả năng di chuyển tiến, lùi , rẽ trái, rẽ phải và dừng lại khi
nhận được khoảng cách tín hiệu từ cảm biến.


*Linh kiện sử dụng
Xe được thiết kế với các linh kiện cấu tạo sau đây:

- Giá đỡ cảm biến siêu âm
- Khung xe mơ hình
- Arduino UNO R3 CH340G
- Module điều khiển động cơ I298N
- Module cảm biến siêu âm HC-SR04
- Động cơ Servo SG90RC
- Dây nguồn DC 5.5x2.1mm
- Cáp
- PIN lithium 18650 3,7V 2500mAh
- Đế 2 PIN 18650 chân hàn mạch PCB

4

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1 Đặt vấn đề
Ngày nay, con người cùng với những ứng dụng của khoa học kỹ thuật tiên tiến của

thế giới, chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của
kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác
cao, tốc độ nhanh, gọn nhẹ…là những yếu tố cần thiết góp phần cho hoạt động của con
người đạt hiệu quả ngày càng cao hơn. Nó đã đáp ứng những địi hỏi không ngừng của các
ngành, lĩnh vực khác nhau cho đến nhu cầu thiết yếu của con người trong cuộc sống hàng
ngày. Xuất phát từ những ứng dụng đó, chúng em đã thiết kế và thực hiện đề tài: Điều khiển
xe tự hành né tránh vật cản”.

1.2Tính cấp thiết của đề tài

Xe tự hành là một loại xe robot có khả năng tự dịch chuyển, tự vận động (có

thể lập trình lại được) dưới sự điều khiển tự động có khả năng hồn thành cơng
việc được giao. Xe tự hành là một thành phần có vai trị quan trọng trong ngành robot
học. Cùng với sự phát triển mạnh mẽ của các hệ thống tự động hóa, xe tự hành ngày
một được hồn thiện và càng cho thấy lợi ích của nó trong cơng nghiệp và sinh hoạt.
Ngày nay xe tự hành có rất nhiều ứng dụng tự động hóa trong đời sống, cơng
nghiệp….Có nhiều cơng việc địi hỏi thực thi trong mơi trường độc hại, nguy
hiểm như có phóng xạ, khí độc, bụi bẩn, kí sinh trùng gây bệnh. Vì thế giải pháp sử
dụng robot nói chung trong việc quan trắc mơi trường là rất cần thiết. Với khả năng
tích hợp nhiều loại cảm biến như nhiệt độ, độ ẩm, bụi, camera, siêu âm, hồng
ngoại…, robot có khả năng thay thế con người 1 cách hiệu quả trong các cơng
việc có độ nguy hiểm cao.

5

Hình 1.1 Xe tự hành thám hiểm sao hỏa Curiosity
Từ tình hình thực tế đó, việc xây dựng các chương trình hoạt động cho các
xe tự hành là điều thiết yếu. Một vấn đề rất được quan tâm khi thiết kế xe tự hành là
điều khiển làm sao cho xe có thể đi theo một quỹ đạo mong muốn. Bài toán xe tự
hành di động bám tường (wall-following problem) là một trong các bài toán
thường gặp của robot kiểu phản xạ (reactive paradigm), nó đã được giải bằng
nhiều cách khác nhau. Bản báo cáo này trình bày phương pháp giải quyết vấn đề đó
với thuật tốn điều khiển PID sử dụng Arduino.

1.3Tình hình nghiên cứu hiện nay

Khái niệm Robot tự động đang phát triển nhanh chóng về số lượng, Robot tự động và
cấu tạo phức tạp của nó ngày càng nâng cao để phù hợp với từng lĩnh vực khác nhau. Có rất
nhiểu loại điều khiển Robot tự động như: Thiết lập đường đi, định vị GPS,… Robot tránh

vật cản là loại Robot có khả năng tránh va chạm với trở ngại bất ngờ.
1.3.1 Tình hình nghiên cứu quốc tế

Có nhiều hãng xe trên khắp thế giới đã và đang phát triển công nghệ tự động không người
lái cho các dịng xe của họ có thể kể đến như:

- Hãng xe Tesla
- Hãng xe Volvo

6

- Hãng xe Ford

- Hãng xe Waymo

- Hãng xe Audi

1.3.2 Tình hình nghiên cứu trong nước

Một số trường đại học và viện nghiên cứu ở Việt Nam đã bắt đầu nghiên cứu về công
nghệ xe tự lái. Các nhóm nghiên cứu tại các trường đại học đang tiến hành nghiên cứu về hệ
thống điều khiển, trí tuệ nhân tạo và cảm biến cho xe tự lái.

Một số công ty công nghệ trong nước đã bắt đầu tham gia vào lĩnh vực này. Họ
thường tập trung vào phát triển các phần mềm và giải pháp công nghệ liên quan đến xe tự
lái. Việt Nam đã thiết lập mối quan hệ hợp tác với các công ty và tổ chức quốc tế trong lĩnh
vực xe tự lái. Điều này giúp truy cập vào tài liệu nghiên cứu, công nghệ tiên tiến và chuyển
giao kỹ thuật từ các quốc gia phát triển.

1.4Tổng kết chương 1


Chương 1 của đề tài “Xe tự hành né tránh vật vản” đã trình bày các phần quan trọng như Đặt
vấn đề, Tính cấp thiết của đề tài và Tình hình nghiên cứu hiện nay. Chương 1 đã đặt nền
móng cho đề tài và cung cấp một cái nhìn tổng quan về tình hình và cấp thiết của nghiên cứu
về xe tự hành né tránh vật cản. Dự án xe tự hành tránh vật cản được nghiên cứu và thực
nghiệm. Xe được sử dụng bằng Arduino sử dụng cảm biến siêu âm để dị tìm để tránh vật
cản.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ ARDUINO

2.1 Giới thiệu

Arduino là một nền tảng nguyên mẫu (mã nguồn mở) dựa trên nền phần mềm và phần
cứng dễ sử dụng. Nó bao gồm một bo mạch - thứ mà có thể được lập trình (đang đề cập đến
vi điều khiển) và một phần mềm hỗ trợ gọi là Arduino IDE (Mơi trường phát triển tích hợp
cho Arduino), được sử dụng để viết và nạp từ mã máy tính sang bo mạch vật lý.

Những tính năng chính như:

- Các bo mạch Arduino có khả năng đọc các tín hiệu tương tự (analog) hoặc tín
hiệu số (digital) làm đầu vào từ các cảm biến khác nhau và chuyển nó thành đầu ra
như kích hoạt mơ-tơ quay, bật/tắt đèn LED, kế nối mạng Internet hoặc nhiều hoạt
động khác nữa.

7

- Bạn có thể điều khiển các chức năng của bo mạch của mình bằng cách nạp các
tập lệnh đến vi điều khiển trên bo mạch. Thông qua phần mềm hỗ trợ là Arduino
IDE.


- Khơng giống như bo mạch có khả năng lập trình trước kia, Arduino chỉ cần bạn
sử dụng cáp USB để nạp mã vào trong bo mạch.

- Hơn nữa, phần mềm Arduino IDE sử dụng phiên bản giản thể của C++, làm việc
học lập trình nó trở nên dễ dàng hơn rất nhiều.

2.2 Lịch sử ra đời
Năm 2005, một giáo viên ở Ý và nhóm bạn của ông bắt đầu phát triển một nền tảng

phần cứng dựa trên vi điều khiển AVR của Atmel. Họ đã đặt tên nền tàng này là “Arduino”
dựa trên tên của một ngôi làng ở Ý, nơi mà một phần dự án được phát triển. Phiên bản đầu
tiên của Arduino được công bố với tên gọi “Arduino NG”.
2.2.1 Dòng Arduino USB
2.2.1.1 Mạch lập trình đầu tiên (2005)

- Được đặt tên là Arduino Serial
- Sử dụng cổng kết nối RS-232 (Serial) thay vì cổng USB (TTL) Qua thời gian, dòng

mạch Arduino Serial đã được thiết kế đơn giản hơn, và chỉ cần dùng 1 mặt để mọi
nhà phát triển có thể tự làm một cái cho bản thân mình bằng cách rửa mạch PCB. Nổi
bật trong số đó là dịng mạch có tên Severino (Aka S3V3). Dịng sản phẩm này có tên
là Arduino Signle-Sided Seria

8

2.2.1.2Mạch Arduino đầu tiên - Arduino USB (2005)
Dòng mạch Arduino USB được phát triển qua 2 phiên bản (Arduino USB và Arduino

USB v2.0).
Ở mỗi phiên bản cũng khơng có sự khác nhau lắm, chỉ khác nhau về địa chỉ trang


web và sửa một lỗi nhỏ ở phần pinout chỗ đầu USB.

Ở board mạch Arduino USB này, chúng ta đã thấy có sự xuất hiện của cồng USB
Type B, như vậy, nguồn điện nuôi Arduino không phải lúc nào cũng là 12V (thường thường
là 12V), vì khi gắn cổng USB Type B ta lại có thể 5V, như vậy nếu đi qua con LM7805 thì
sẽ khơng đủ điện ni cho con ATmega328. Điều đó khiến những nhà phát triển phần cứng
Arduino phải thích nghi với việc thay đổi header ext or usb mỗi khi thay đổi từ lúc nạp
chương trình sang dùng nguồn ngồi.

9

2.2.1.3 Arduino Extreme (2006)
Ở phiên bản này, chúng ta đã có thêm đèn RX, TX ở 2 chân TX và RX của Arduino.

Các linh kiện trên Arduino phần lớn được thay thế bằng linh kiện dán
Ngoài ra, các chân header male đã được thay thế với chân header female.

Cũng trong năm đó, trang arduino.cc cũng chính thức được ra đời.
Arduino Extreme version 2 ra đời, các dây nối giữa các phần trong mạch cũng được
làm "âm" đất. đã cho thay thế phần lớn điện trở, tụ điện trở thành những linh kiện dán, đẹp
hơn, gọn hơn và hoạt động ổn định hơn nữa. Việc tích hợp bóng đèn LED vốn dùng để chiếu
sáng và đặt vào mạch Arduino để giúp người dùng biết máy tính đã kết nối được với mạch
Arduino và q trình nạp chương trình có hoạt động được hay không.

10

2.2.1.4 Arduino NG (2006)

Ở phiên bàn này, Arduino NG đã thay thế chip FT232BM (chuẩn cũ USB to TTL)

bằng chíp FT232RL - FTDI ( chuẩn mới USB to Serial), điều đó làm cho thiết kế giao diện
phần cứng của Arduino trong thật sự rất tuyệt vời.

Trong board này, họ đã gắn thêm con LED màu xanh tại chân số 13. Đèn LED này
không những giúp ta debug được truyền dữ liệu SPI mà còn có "một cơng cụ" kiểm thử
mạch (vì khi được xuất bán, Arduino NG đã được upload chương trình Blink). Ta chỉ cần
gắn điện vào cổng USB hoặc nguồn ngoài là có thể kiểm thử được mạch NG.

11

Vi điều khiển ATmega168 kể từ phiên bản Arduino NG Rev.C đã được thay thế cho
ATmega8 ở các phiên bản trước đó và có thể xem là phiên bản đệm tương tự Arduino USB
v2.
2.2.1.5. Arduino Diecimila (2007)

Thay đổi chính trong phiên bản này đó là việc đưa vào chức năng "tự động reset"
bằng máy tính khi upload chương trình, nghĩa là lúc bấy giờ chúng ta đã có thể lập trình
Arduino như thời điểm hiện tại (gắn cáp USB vào máy tính, viết chương trình, sau đó tải
chương trình lên và tận hưởng thành quả).

Với việc cải tiến nút reset cũng đã khiến những nhà lập trình thiết kế lại các chân
nguồn, và chân digital pin, cung cấp cho họ nhiều khả năng tùy biến hơn. Ví dụ: thêm chân
AREF, VIN, RESET,...

Trong phiên bản này, Arduino đã sử dụng một mạch "dropout voltage regulator" (khi
điện áp đổi thì điện áp so sánh ở Analog IN vẫn không bị nhiễu), đó là một dự kết hợp hồn
hảo chúng ta không cần phải sử dụng tụ 103, 104 để lọc nhiễu cho các chân Analog nữa.

Các chân nguồn 3.3V, 5V, GND, Vin đã được điều chỉnh lại và thực sự nó rất ổn nên
đến tận bây giờ chúng ta vẫn dùng thiết kế đó và thống nhất đến bây giờ (với các mạch phát

triển khác từ bên thứ 3). Ngoài ra, về vấn đề nguồn, chúng ta đã có một cầu chì dán (có thể
sửa được). Nó giúp mạch được bảo vệ trước sự nguy hiểm của sự sơ xẩy đoản mạch, đó là
một sự thích nghi trước những sự hỏng hóc qua cổng USB.

12

2.2.1.6. Arduino Duemilanove (2008 - 2009)

Mạch Arduino Duemilanove đã có khả tự động nhận biết mỗi khi sử dụng nguồn tử
cổng USB hay nguồn ngồi (khơng cần phải thay đổi jumper nữa). Ngồi ra, trong phiên bản
này, cịn bổ sung một đường chì nhỏ được nối tắt nhằm giúp cho có thể hủy chức năng auto-
reset (tự động reset khi upload chương trình).
2.2.1.7. Arduino UNO 2010 - đến nay

Cái tên UNO nghĩa là "một" trong tiếng Ý, nó được đặt tên như vậy thì lúc này
Arduino IDE cũng đã gần chạm đến mốc 1.0. Nghĩa là, họ muốn nói rằng, UNO sẽ là mạch
tham khảo chính được dùng trong việc hướng dẫn Arduino cho người mới học. Họ mất 5
năm để định hình một thứ mạch lập trình trở thành một thứ kỳ diệu trong giới DIY (Do it
yourself – tự tay làm lấy) và hơn thế nữa, giới nghiên cứu khoa học.

5 năm đủ để biến một bản mạch thô sơ, trở thành một thứ mạch "tuyệt đẹp" và "đa
năng" như hiện tại.

13

Ở mạch này, ngoài việc thay đổi và cách đặt tên cho dễ xác định các chân I/O,
Arduino UNO còn thay con chip FT232RL - FTDI (chuẩn USB to Serial) bằng con chip
ATMega8U2 (chuẩn Serial TTL Converter) nhưng vẫn giữ được pinout cũ của mạch trước
đó. Điều đó làm cho những mạch kế thừa, các dịng phụ trợ cho Arduino USB khơng bị lỗi
thời và dễ hòa nhập với nhau.


Từ phiên bản Arduino UNO này, Arduino USB đã chính thức phân nhánh ra thành 2
nhánh con, đó là Arduino Ethernet và Arduino Leonardo nhằm tối ưu hóa cho các dự án sử
dụng Internet (Arduino Ethernet - cái này không phải là shield Ethernet cho Arduino mà là
một board Arduino tích hợp Internet trong một luôn).

14

Ở các phiên bản Arduino Leonardo, chúng ta có thể được sử dụng như chuột và bàn
phím.

Cũng từ phiên bản này, Arduino Leonardo lại phân nhánh ra 2 phiên bản nhỏ hơn là
Arduino Micro và Arduino Yún.

15

2.2.1.8. Những dòng Arduino khác
Ngồi dịng Arduino USB kinh điểm trên, chúng ta cịn có những dịng Arduino khác

có thể được liệt kê bằng hình ảnh bên dưới.

Mỗi dịng lại có những điểm mạnh và điểm yếu riêng, tuy nhiên, đều là sự sáng tạo
của những con người sáng tạo nên mạch Arduino. Nhờ những sáng tạo này, họ đã tạo nên
một hệ sinh thái vô cùng lớn với Arduino. Chỉ cần một mạch Arduino Mega, bạn đã có thể
tự xây dựng cho mình những cổ máy sáng tạo như máy in 3d, máy khắc laser,... tất cả đều là
nguồn mở “open source” và bạn có thể tự làm cho mình một cái ngay tại nhà. Hay là, với
Arduino Pro mini, những dự án mạng cảm biến chưa bao giờ dễ như thế, hoặc là những dự
án mini robot,...

2.2.2 Arduino MEGA


2.2.2.1. Arduino Mega đầu tiên (2009 - 2010)
Arduino MEGA có rất nhiều chân I/O so với dòng Arduino UNO (54 digital I/O và

16 analog I/O), đồng thời bộ nhớ flash của MEGA rất lớn, gấp 4 lần so với UNO (128kb)

16

với vi điều khiển ATmega1280. Rõ ràng, những dự án cần điều khiển nhiều loại động cơ và
xử lý nhiều luồng dữ liệu song song (3 timer), nhiều ngắt hơn (6 cổng interrupt),... có thể
được phát triển dễ dàng với Arduino MEGA, chẳng hạn như: máy in 3d, quadcopter,...

Các chân digital từ 0 -> 13, analog từ 0 -> 5 và các chân nguồn được thiết kế tương tự
Arduino UNO.

Để có thể thêm được nhiều vùng nhớ hơn, thêm được nhiều chân I/O hơn, nhà phát
triển đã mạnh dạng thay đổi con vi điều khiển ATmega1280.

Cách thiết kế Arduino MEGA tương tự như mạch Arduino UNO nối dài.

Một năm sau đó, với những ý tưởng lớn hơn, hay hơn, nhưng cần phải có một dung
lượng flash lớn hơn... Vì vậy, họ đã thay con ATmega1280 (128kb) bằng con ATmega2560
(256kb) và Arduino MEGA 2560 ra đời

2.2.2.2. Arduino MEGA ADK (2011)
Arduino MEGA ADK giúp bạn có thể giao tiếp với các thiết bị Android thông qua

cổng sạc (USB micro) của các thiết bị Android. Ở phiên bản này, Arduino MEGA có thể
giao tiếp được với điện thoại Android thông qua cổng micro usb (cổng sạc) của Android
(>=4.0)


17

2.2.2.3. Arduino DUE (2012)

Arduino DUE là phiên bản đầu tiên sử dụng một vi điều khiển 32 bit thay vì con vi
điều khiển 8 bit ATmega2560 trước đây. Nó có thể tính toán nhanh hơn 4 lần (nếu so sánh
với mạch 8 bit cùng xung nhịp). Xung nhịp của dòng sản phẩm này cũng cao hơn (84MHz).

18

2.2.2.4. Arduino Yún (2013)

Arduino Yún thực sự là một "super mini computer" vì nó cực kì nhỏ chạy hệ điều
hành linux (bản mod openwrt) và nó có sẵn Wifi, và đó chính là vì sao Intel đầu tư mạnh vào
Arduino và cho ra đời board mạch phát triển IoT Development Kit (códùng ngơn ngữ
Arduino để lập trình).
2.3 Kiến trúc phần cứng Arduino

Kiến trúc phần cứng của một bo mạch chủ Arduino bao gồm các thành phần cơ bản
sau:

- Vi điều khiển: Đây là trái tim của bo mạch Arduino. Vi điều khiển xử lý mã lệnh và
điều khiển các thiết bị khác. Arduino sử dụng các vi điều khiển phổ biến như Atmega328P,
Atmega2560 hoặc SAMD21 tùy thuộc vào phiên bản cụ thể.

- Bộ nhớ: Arduino có bộ nhớ để lưu trữ chương trình và dữ liệu. Bộ nhớ này bao gồm
Flash( cho chương trình) và Ram(cho dữ liệu).

- Cổng giao tiếp USB: Hầu hết các phiên bản Arduino có cổng USB để kết nối với

máy tính và nạp chương trình. Cổng này cũng được sự dụng để giao tiếp với máy tính thơng
qua UART.

- Nguồn cung cấp: Arduino thường được cấp nguồn từ một nguồn DC ngồi hoặc
cổng USB. Bo mạch có mạch chuyển đổi nguồn để điều chỉnh điện áp và dòng điện đầu vào
để phù hợp với yêu cầu của vi điều khiển.

19


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×