Tải bản đầy đủ (.doc) (53 trang)

Nguyen van khai dt1 k9

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 (2.81 MB, 53 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ ĐIỆN TỬ

BÁO CÁO THỰC TẬP TỐT NGHIỆP
Đề tài: Điều khiển mô hình ôtô qua Bluetooth
Giảng viên hướng dẫn: Lê Anh Tuấn
Sinh viên thực hiện : Nguyễn Văn Khải
Mã sinh viên : 0941050032
Lớp: Điện tử 1, Khóa 9

Hà Nội, 2018


Nhận xét của giáo viên
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................


...................................................................................................................
...................................................................................................................
Hà Nội, ngày …… tháng …… năm 201…
Giáo viên hướng dẫn
( GV kí tên và ghi rõ họ tên)


MỤC LỤC
DANH MỤC HÌNH ẢNH
CHƯƠNG I : TỔNG QUAN VỀ ARDUINO

Hình 1. 1. Arduino 2005............................................................................................6
Hình 1. 2. ATMEL Programmer A96021000C..........................................................7
Hình 1. 3. Severino (aka S3V3).................................................................................8
Hình 1. 4. Mạch Arduino USB chưa gắn linh kiện....................................................9
Hình 1. 5. Mạch Arduino USB đã gắn linh kiện........................................................9
Hình 1. 6. Cổng USB type B...................................................................................10
Hình 1. 7. Arduino Extreme version 1.....................................................................11
Hình 1. 8. Arduino Extreme version 2.....................................................................12
Hình 1. 9. Arduino NG............................................................................................13
Hình 1. 10. Arduino NG Rev. C...............................................................................13
Hình 1. 11. Arduino Diecimila.................................................................................14
Hình 1. 12. Arduino Duemilanove...........................................................................15
Hình 1. 13. Arduino UNO.......................................................................................16
Hình 1. 14. Arduino Leonardo.................................................................................17
Hình 1. 15. Những dòng Arduino khác.................................................................18
Hình 1. 16. Arduino mega.......................................................................................19
Hình 1. 17. Arduino Mega ADK..............................................................................20
Hình 1. 18. Arduino UNO R3..................................................................................21
Hình 1. 19. Vi điều khiển ATMega328....................................................................21

Hình 1. 20.Các chân vào ra......................................................................................24
Hình 1. 21. Giao diện phần mềm Arduino IDE........................................................31
Hình 1. 22.Vùng thông báo của phần mềm..............................................................33
Hình 1. 23. Cách mở cổng COM khi kết nối với UNO............................................34
Hình 1. 24. Một số câu lệnh, cấu trúc thường gặp...................................................37

CHƯƠNG II : TÌM HIỂU VỀ MODULE BLUETOOTH HC-05
Hình 2. 1. Tai nghe Bluetooth..................................................................................42
Hình 2. 2. Thiết bị truyền dữ liệu.............................................................................43
Hình 2. 3. USB Bluetooth........................................................................................43
Hình 2. 4. Màn hình hiển thị theo giao diện dành cho các cuộc điện thoại..............44
Hình 2. 5. Bluetooth Car kit.....................................................................................45
Hình 2. 6. Máy chụp hình kỹ thuật số có hỗ trợ Bluetooth để truyền hình ảnh........45
Hình 2. 7. Module bluetooth HC-05........................................................................46
Hình 2. 8. Sơ đồ chân Module Bluetooth Hc-05......................................................46


LỜI CẢM ƠN

Trong thời gian làm đề tài nghiên cứu, em đã gặp không ít những khó
khăn do hạn chế về kinh nghiệm, kiến thức cũng như vấn đề về kinh tế. Để
vượt qua tất cả bên cạnh sự nỗ lực của bản thân thì em đã nhận được nhiều
sự giúp đỡ đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn
bè.
Em xin gửi lời cảm ơn chân thành đến thầy Lê Anh Tuấn đã tận tình
hướng dẫn, giúp đỡ và tạo điều kiện thuận lợi trong suốt quá trình để em thực
hiện được đề tài.
Em cũng xin chân thành cảm ơn các thầy cô trong trường Đại Học
Công Nghiệp Hà Nội nói chung, các thầy cô trong Khoa Công Nghệ Kỹ
Thuật Điện Tử nói riêng đã truyền đạt cho em những kiến thức về các môn

đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết
vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo
đều kiện, quan tâm giúp đỡ và động viên em trong suốt quá trình học tập để
em hoàn thành đề tài nghiên cứu


PHẦN MỞ ĐẦU
Lý do chọn đề tài
Trong những năm gần đây người ta nói nhiều đến kỷ nguyên hậu PC,
tức là thời kỳ mà máy tính cỡ lớn sẽ gần như biến mất, thay vào đó nó xuất
hiện trong mọi ngõ ngách của cuộc sống dưới hình thức nhỏ gọn hơn hoặc
tích hợp vào các hệ thống cần sự tính toán, điều khiển, truyền tin. Một trong
những biểu hiện rõ ràng nhất đó là sự bùng nổ của điện thoại thông minh và
máy tính bảng. Một biểu hiện khác đó là sự phát triển mạnh mẽ của hệ thống
nhúng. Các hệ thống này đang có mặt không chỉ trong các hệ thống công
nghiệp, quan trắc, truyền tin, xe cộ .. mà chúng còn hiện hữu ngay trong mỗi
gia đình, trong những thiết bị như tivi, điều hòa, tủ lạnh, máy giặt...các hệ
thống nhúng bao gồm các thành phần phần cứng và phàn mềm, trong đó “bộ
não” của nó là các chip điều khiển, chúng đảm nhận mọi yêu cầu tính toán,
điều khiển, giao tiếp cho hệ thống.
Bên cạnh đó trong những năm gần đây, công nghệ truyền nhận dữ liệu
không dây đang có những bước phát triển mạnh mẽ, góp công lớn trong việc
phát triển các hệ thống điều khiển, điều khiển từ xa, đặc biệt là các hệ thống
thông minh. Hiện nay, có khá nhiều công nghệ truyền nhận dữ liệu không dây
như RF, Wifi, Bluetooth,… Trong đó, Bluetooth là một trong những công
nghệ được phát triển từ lâu và luôn được cải tiến để nâng cao tốc độ cũng như
khả năng bảo mật.
Chính vì lý đo đó mà em quyết định chọn đề tài “ĐIỀU KHIỂN MÔ
HÌNH Ô TÔ QUA BLUETOOTH” .


1


Nội dung đề tài
Ở đề tài này em sẽ tạo ra một ứng dụng trên hệ điều hành android, khi
click vào một button thì phần mềm android sẽ gửi gói tín hiệu thông qua
bluetooth trên điện thoại đến module bluetooth HC-05. Lúc này Module HC05 sẽ nhận gói tin và truyền về board Arduino để đưa ra tín hiệu tới động cơ
và đèn. Mô hình thiết kế gồm 2 động cơ DC có khả năng di chuyển lên,
xuống, trái, phải tùy theo lệnh điều khiển.
Đối tượng và phạm vi nghiên cứu
 Vi điều khiển AVR Atmega328 (họ 8 bit)
 Ứng dụng trên thiết bị Android
 Modul bluetooth HC-05
Ý nghĩa khoa học và tính thực tế của đề tài
Trên vi điều khiển AVR Atmega328 không tích hợp sẵn khả năng
truyền dữ liệu không dây cũng như modul điều khiển động cơ. Trong đó nhu
cầu truyền dữ liệu không dây trong các ứng dụng đo lường, điều khiển và nhu
cầu điều khiển động cơ luôn hiện hữu. Như vậy bài toán đặt ra là cung cấp
khả năng điều khiển động cơ và khả năng truyền và nhận dữ liệu không dây
cho vi điều khiển thông qua một chuẩn không dây phổ biến, giá thành triển
khai thấp, tốc độ truyền cao và khoảng cách không qua ngắn, chẳng hạn như
công nghệ Bluetooth. Yêu cầu đó cho thấy tính thực tế của đề tài.
Nội dung đề tài
-

Tìm hiểu tổng quan về Arduino.
Tìm hiểu tổng quan về Bluetooth và Modul HC-05.
Tìm hiểu về Bluetooth RC Controller.
Xây dựng, thiết kế mô hình.


2


CHƯƠNG I : TỔNG QUAN VỀ ARDUINO
1.1. Giới thiệu tổng quan về Arduino
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 8bit, hoặc ARM 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.
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố
gắng mang đến một phương thức dễ dàng, không tốn kém cho những người
yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả
năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp
hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm
các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng
với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá
nhân thông thường và cho phép người dùng viết các chương trình cho Aduino
bằng ngôn ngữ C hoặc C++.
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh
viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác
Ivrea) tại Ivrea, Italy. Vào thời điểm đó các sinh viên sử dụng một “BASIC
Stamp” (con tem Cơ Bản) có giá khoảng $100, xem như giá dành cho sinh
viên. Massimo Banzi, một trong những người sáng lập, giảng dạy tại Ivrea.
Cái tên “Arduino” đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của
dự án này thường xuyên gặp mặt. Bản thân quán bar này có được lấy tên là
Arduino, Bá tước của Ivrea, và là vua của Italy từ năm 1002 đến 1014.
Lý thuyết phần cứng được đóng góp bởi một sinh viên người

Colombia tên là Hernando Barragan. Sau khi nền tảng Wiring hoàn thành, các
nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ hơn, rẻ hơn, và khả dụng
đối với cộng đồng mã nguồn mở. Trường này cuối cùng bị đóng cửa, vì vậy
3


các nhà nghiên cứu, một trong số đó là David Cuarlielles, đã phổ biến ý tưởng
này.
Giá hiện tại của board mạch này dao động xung quanh $30 và được làm
giả đến mức chỉ còn $9. Một mạch bắt chước đơn giản Arduino Mini Pro có lẽ
được xuất phát từ Trung Quốc có giá rẻ hơn $4, đã trả phí bưu điện.
1.2. Phần cứng.
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện
bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một
khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép
người dùng kết nối với CPU của board với các module thêm vào có thể dễ
dàng chuyển đổi, được gọi là shield. Vài shield truyền thông với board
Arduino trực tiếp thông qua các chân khách nhau, nhưng nhiều shield được
định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếp chồng và
sử dụng dưới dạng song song. Arduino chính thức thường sử dụng các dòng
chip megaAVR, đặc biệt là Atmega 328, Atmega168, Atmega8, Atmega1280.
Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino
tương thích. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một
thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến
thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều
chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị. Một vi điều khiển
Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn
giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác
thường phải cần một bộ nạp bên ngoài. Điều này giúp cho việc sử dụng
Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như

là một bộ nạp chương trình.
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các
board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực
hiện lại tùy thuộc vào đời phần cứng. Các board Serial Arduino có chứa một
4


mạch chuyển đổi giữa RS232 sang TTL. Các board Arduino hiện tại được lập
trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-toserial như là FTDI FT232. Vài biến thể, như Arduino Mini và Boarduino
không chính thức, sử dụng một board adapter hoặc cáp nối USB-to-serial có
thể tháo rời được, Bluetooth hoặc các phương thức khác. (Khi sử dụng một
công cụ lập trình vi điều khiển truyền thống thay vì Arduino IDE, công cụ lập
trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử
dụng cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đưa
ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ
rộng xung) và 6 chân input analog, có thể được sử dụng như là 6 chân I/O số.
Những chân này được thiết kế nằm phía trên mặt board, thông qua các header
cái 0.10-inch (2.5 mm). Nhiều shield ứng dụng plug-in cũng được thương mại
hóa. Các board Arduino Nano, và Arduino-compatible Bare Bones Board và
Boarduino có thể cung cấp các chân header đực ở mặt trên của board dùng để
cắm vào các breadboard.
Có nhiều biến thể như Arduino-compatible và Arduino-derived. Một
vài trong số đó có chức năng tương đương với Arduino và có thể sử dụng để
thay thế qua lại. Nhiều mở rộng cho Arduino được thực thiện bằng cách thêm
vào các driver đầu ra, thường sử dụng trong các trường học để đơn giản hóa
các cấu trúc của các ‘con rệp’ và các robot nhỏ. Những board khác thường
tương đương về điện nhưng có thay đổi về hình dạng-đôi khi còn duy trì độ
tương thích với các shield, đôi khi không. Vài biến thể sử dụng bộ vi xử lý
hoàn toàn khác biệt, với các mức độ tương thích khác nhau.

1.3. Khả năng của bo mạch Arduino
Bo mạch Arduino sử dụng dòng chíp 8_bit megaAVR của Atmel với
hai chip phổ bến nhất là Atmega328 và Atmega 2560. Các dòng sử lý này cho
phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình
mạnh với các loại bộ nhớ ROM, Ram, và plash, các ngõ vào ra digital I/O
5


trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu
analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).





Xung nhịp : 16MHz
EEPROM : 1KB (Atmega 328) và 4KB (Atmega2560)
SRAM : 2KB (Atmega328) và 8KB (Atmega2560)
FLASH : 32KB (Atmega328) và 256KB (Atmega2560)

1.4. Lịch sử phát triển của các dòng Arduino
1.4.1. Dòng Arduino USB
1.4.1.1. Mạch lập trình đầu tiên (2005)
Khi những mạch lập trình đầu tiên được xây dựng, Arduino vẫn chịu sự
ảnh hưởng của các mạch lập trình AVR lúc bây giờ, đó là sử dụng cổng RS232 (cổng máy in của các dòng máy tính cũ). Điều đó cũng đúng với lịch sử
lúc bấy giờ, các dòng máy tính để bàn khi được sản xuất vẫn còn cổng RS232 này.

Hình 1. 1. Arduino 2005
Vì lý do sử dụng cổng RS-232, nên việc xây dựng một môi trường giao
tiếp giữa máy tính và mạch Arduino vô cùng đơn giản (bạn nên nhớ rằng giao

thức RS-232 thời gian này vô cùng phổ biến). Ngoài ra, các linh kiện trên chỉ
để phục vụ cho việc duy nhất là lập trình con Atmega8 qua máy tính. Điều
đặc biệt của Arduino trong thời gian này, đó là sự đơn giản hơn những mạch
lập trình AVR khác có trên thị trường lúc bấy giờ như: ATMEL Programmer,
6


mikroElektronika,... bán có thể google thêm về từ khóa “avr programmer
2005”.

Hình 1. 2. ATMEL Programmer A96021000C
Arduino ra đời và làm một thứ cực kỳ phức tạp (rất nhiều linh kiện,
bóng đèn LED, cổng kết nối,...) trở thành một mạch nhỏ gọn trong lòng bàn
tay với các kết nối phổ biến và sự tiện lợi trong việc điều khiển thiết bị điện.
Lúc này, mạch Arduino sơ khai đã phân chia các hàng chân digital và analog
như bây giờ. Ngoài ra, các chi tiết khác là theo chuẩn thiết kế mạch lúc bấy
giờ, như: ISP, jack cắm 2.1mm (jack cắm nguồn ngoài), RS-232 connector,...
Qua đó, sự đơn giản về hình thức, cách thức lập trình tương tự như
những mạch AVR khác (lúc này vẫn chưa hoàn thiện bộ thư viện Wiring, và
chúng ta lúc đó vẫn chưa lập trình Arduino như cách thông thường được, vì
vậy nó vẫn chưa có tên thương mại là “Arduino”) đã làm nên sự thích thú
trong thời kỳ này, khiến tên tuổi của mạch lập trình này trở nên rất nóng trong
giới điện tử. Bạn thấy đấy, Arduino ra đời và làm cho những thứ khó nhằn
như lập trình vi điều khiển trở nên dễ dàng và thân thiện với người lập trình
hơn.

7


Có thể nhận ra một điều rõ rằng, mạch Arduino không thể lập trình cho

những con AVR có kích thước to hơn con Atmega328. Nhưng thực tế cho
thấy rằng, một con Atmega8 chỉ với 8KB flash là quá “rộng” cho những dự án
Do It Yourself. Bạn cần nhận định rằng, lúc này chúng ta vẫn lập trình thuần
như AVR hiện nay, vì chưa hoàn thiện bộ thư viện Wiring, nên việc lập trình
không tốn nhiều bộ nhớ và những bạn sinh viên không cần cứ phải tháo ra lắp
vô con IC của mình từ mạch lập trình sang dự án cá nhân.
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. Và 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 SignleSided Serial.

Hình 1. 3. Severino (aka S3V3)
1.4.1.2. Mạch Arduino đầu tiên với thương hiệu Arduino : 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. Phần lớn mạch Arduino USB được bán dưới dạng mạch phát triển
chưa gắn linh kiện, như vậy bạn vừa phải mua mạch vừa phải có sẵn (mua
thêm) linh kiện để hoàn thiện cho mình một mạch Arduino. Tuy nhiên, cũng
8


có một số chỗ người ta bán luôn mạch Arduino USB đã được gắn sẵn linh
kiện. Dưới đây là một số hình ảnh về mạch Arduino USB v2.0.

Hình 1. 4. Mạch Arduino USB chưa gắn linh kiện

Hình 1. 5. Mạch Arduino USB đã gắn linh kiện
Arduino đã thay thế (Substitute) cổng Serial (xuất hiện ở Arduino

Serial) bằng cổng USB Type B (cổng máy in để bàn thời bấy giờ). Điều đó
đồng nghĩa, phải có sự thích nghi (Adapt) là con IC chuyển giao thức từ TTL
sang Serial nhỏ nhỏ nằm gần cổng USB. Vì sao phải làm như vậy, bởi vì, thời
gian này, máy điện xách tay đang dần dần phổ biến trên toàn thế giới, khiến
chúng phải càng ngày càng nhẹ, cảng nhỏ, càng đẹp hơn. Như vậy, phải loại
bỏ cổng Serial (COM1) ra khỏi mainboard, điều đó khiến cho những nhà phát
9


triển phần cứng cảm thấy cần có sự thay đổi với board Arduino Serial. Và từ
đó, ta đã có mạch Arduino với cổng USB đầu tiên!
Ở board mạch Arduino USB này, đã 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 TypeB ta lại có thể 5V, như vậy
nếu đi qua con LM7805 thì sẽ không đủ điện nuôi 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 ngoài.

Hình 1. 6. Cổng USB type B
Như vậy, mạch Arduino USB vẫn không có nhiều sự thay đổi so với
mạch Arduino Serial, ta có thể xem nó như là một phiên bản Arduino không
sử dụng cổng RS-232 mà dùng cổng USB. Tiện cho người lập trình rất nhiều
trong thời kỳ này đấy.
1.4.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 và điều đó có nghĩa là Arduino cần phải được bán với đầy đủ các
10



linh kiện đã được hạn đầy đủ. Ngoài ra, các chân header male đã được thay
thế với chân header female.

Hình 1. 7. Arduino Extreme version 1
Cũng trong năm đó, trang arduino.cc cũng chính thức được ra đời, và
các dây nối giữa các phần trong mạch cũng được làm “âm” đất.
Ở đây, Arduino Extreme đã thích nghi (Adapt) với thị hiếu người sử
dụng đó là nét đẹp của mạch Arduino, nên đã 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 (Put)
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à quá trình nạp chương trình có hoạt động được hay không.
Nếu đã trải nghiệm với việc lập trình Arduino, bạn sẽ thấy có nhiều lúc chúng
ta đã gắn Arduino vào máy tính nhưng nó vẫn không lập trình được,... và việc
có bóng đèn TX, RX làm cho mọi thứ trở nên dễ dàng hơn.
Với việc thay đổi male header bằng female header đã giúp cho việc gắn
dây nối giữa Arduino và breadboard trở nên dễ dàng hơn, bạn có thể sử dụng
dây breadboard đực hoặc dùng một sợi dây đồng một lõi cứng nối giữa
Arduino và breadboard.

11


Hình 1. 8. Arduino Extreme version 2
1.4.1.4. Arduino NG (Nuova Generazione) (2006)
Ở phiên bàn này, Arduino NG của chúng ta đã thay thế USB-to-TTL cũ
(FT232BM) bằng chíp FTDI FT232RL USB-to-Serial mới với yêu cầu ít phần
cứng ngoài hơn. Trong board này, họ đã gắn thêm con LED màu xanh tại chân
số 13 . Ngoài ra, một phần doanh số bán ra với con vi điều khiển Atmega168

thay cho con Atmega8. Tuy nhiên, cả 2 con này đều hoạt động tốt trên mạch
Arduino NG
Trong mạch Arduino NG, sự sáng tạo đáng kể đó là sự thay thế con chíp
FT232BM bằng con FTDI FT232RL 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, cứ như Facebook
của thế giới điện tử vậy. Ngoài ra, với việc đặt (Put) một bé đèn LED lại chân
số 13, 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. Ngoài ra, nó còn có một sự thích nghi
(Adapt) mở đường. Vì các dự án càng ngày càng to, người đam mê DIY với
Arduino ngày càng nhiều, và để thích nghi với điều kiện đó, Atmega168 đã
thay thế cho Atmega8.
12


Cũng trong năm này thì bản Arduino NG Rev. C cũng ra đời nhưng lại chưa
hàn sẵn con LED 13, bản này được bán với vi điều khiển Atmega168. Thực
ra, Arduino bản bán này nhằm mục đích trong tương lai họ sẽ sử dụng vi điều
khiển Atmega168 thay vì Atmega8 là vi điều khiển chính. Bản này có thể xem
là phiên bản đệm tương tự Arduino USB v2.

Hình 1. 9. Arduino NG

Hình 1. 10. Arduino NG Rev. C
13


1.4.1.5. Arduino Diecimila (2007)


Hình 1. 11. Arduino Diecimila
Điều 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. Như vậy, đã có sự
thích nghi (Adapt) vì lắng nghe ý kiến người dùng. Vì có nhiều phản hồi cho
rằng gắn chồng board lên mạch Arduino, và không có cách nào nhấn nút reset
ở những board Arduino cũ (ở những board được gắn chồng lên), như vậy 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 (tiếp tục
thích nghi Adapt) các chân nguồn, và chân digital pin, chung 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” (nôm na là khi điện án đổi thì điện áp so sánh ở Analog IN vẫn
không bị nhiễu). Điều đó, là một dự kết hợp hoàn hảo (Combine), 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.
Hàng 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
14


sự nguy hiểm của sự sơ xẩy đoản mạch. Đó là một sự thích nghi (Adapt)
trước những sự hỏng hóc qua cổng USB. .
1.4.1.6. Arduino Duemilanove (2008-2009)

Hình 1. 12. Arduino Duemilanove
Trong phiên bản này, mạch Arduino đã có khả tự động nhận biết mỗi
khi sử dụng nguồn tử cổng USB hay nguồn ngoài (bạn không phải thay đổi
jumper nữa – đó là sự thích nghi Adapt). Ngoài ra, trong phiên bản này, còn
bố trung một đường chì nhỏ được nối tắt nhằm giúp bán có thể hủy chức năng

auto-reset (tự động reset khi upload chương trình). Trong phiên bản này, ngoài
những sự thay đổi trên thì không còn điều gì đáng nói nữa, trừ việc, sự ra đời
của mạch này là sự kết thúc của nhánh mạch Arduino USB...

15


1.4.1.7. Arduino UNO (2010 đến nay)

Hình 1. 13. Arduino UNO
Ở 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 IO, Arduino UNO còn thay con chip FTDI bằng con chip ATMega8U2
(Serial TTL Converter). Chúng ta thấy rằng nó trông đẹp hơn hẳn nhưng vẫn
giữ được pinout cũ của mạch trước đó. Điều đó làm cho những mạch con em,
họ hàng phụ trợ cho dòng Arduino USB không bị lỗi thời và khiến Arduino dễ
hòa nhập với những anh chị em của nó hơn. Arduino UNO có 3 phiên bản
mới, đó là: R2, R3 và SMD. Trong phiên bản R3 (hiện tại), Arduino đã sử
dụng con chip ATMega16U2, giúp việc nạp những chương trình lớn nhanh
hơn.
Những linh kiện nào có thể thu gọn lại thì nhà phát triển đã thu gọn hết
cỡ, và đặc biệt là các nhà sản xuất Trung Quốc sản xuất ra giá thành chỉ 4$
(hàng fake) nhưng hàng chính hãng 20$ vẫn sống và sống một cách trường
tồn hơn 5 năm nay (2010 – 2015).

16


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 .


Hình 1. 14. Arduino Leonardo
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. 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,..
Cùng với thời gian, sự sáng tạo của Arduino càng ngày càng lan rộng
và những nhà sản xuất IC hàng đầu thế giới đã xây dựng nên những máy tính
thật sự và bạn có thể dùng Arduino để lập trình chúng, như là Intel Edison hay
Intel Galileo.

17


Hình 1. 15. Những dòng Arduino khác

18


1.4.2. Arduino MEGA

1.4.2.1. Những board Arduino đầu tiên (2009-2010)

Hình 1. 16. Arduino mega
Arduino MEGA có rất nhiều chân IO so với dòng Arduino UNO (54
digital IO và 16 analog IO), đồng thời bộ nhớ flash của MEGA rất lớn, gấp 4
lần so với UNO (128kb) 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,...
Chúng ta dễ dàng nhận thấy rằng, 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. Như vậy, ta
có thể thừa kế những mạch phát triển khác kiểu plugin gắn lên Arduino
MEGA.
Ở phiên bản Arduino MEGA, chúng ta đã thấy được sự thay đổi
(Modify) trong việc suy nghĩ về thiết kế mạch Arduino. Cụ thể, để có thể
thêm được nhiều vùng nhớ hơn, thêm được nhiều chân IO hơn, những nhà
phát triển đã mạnh dạng thay đổi con vi điều khiển Atmega1280. Nhưng như
vậy, sẽ làm cho việc thiết kế giao diện mạch Arduino Mega trở nên khó khăn,
19


vì có quá nhiều chân. Với khó khăn như vậy, họ đã thích nghi (Adapt) bằng
cách thiết kế Arduino MEGA tương tự như mạch Arduino UNO nối dài.
1.4.2.2. Arduino MEGA ADK (2011)
Đây là phiên bản Arduino MEGA 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).

Hình 1. 17. Arduino Mega ADK
Ở phiên bản này Arduino MEGA, với sự đồ sộ về cơ số lượng chân IO.
Người ta muốn nó làm được nhiều hơn việc làm ra một cái máy đơn thuần, họ
muốn một thứ gì đó ngầu hơn, ví dụ như điều khiển điện thoại Android hoặc
dùng Android điều khiển trực tiếp mạch Arduino. Nói nôm na, giống như việc
ta giao tiếp giữa máy tính và Arduino với Processing, bây giờ, với Arduino
MEGA SDK, ta có thể làm điều tương tự trên Android.

Như vậy, Arduino đã phát triển lên từ một mạch đơn giản và có phần
hơi xấu và trở thành một mạch điện tử hướng đến sự tinh tế, tinh vi và không
20


kém phần quyến rũ. Mọi thứ cứ phát triển từ từ, từ từ, nhưng không có sự
dậm chân. Trong chu kì 1 năm, Arduino luôn ra mắt ít nhất một sản phẩm mới
để làn sóng Arduino không bao giờ bị lãnh quên.
1.5. Tìm hiểu về Arduino UNO R3
Khi nhắc đến Arduino dùng để lập trình, cái đầu tiên người ta thường
nói tới đó là dòng Arduino UNO. Hiện dòng này đã phát triển đến thế hệ thứ
3(R3).

Hình 1. 18. Arduino UNO R3
1.5.1. Vi điều khiển

Hình 1. 19. Vi điều khiển ATMega328

21


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

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