1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Xe điều khiển Bluetooth (Arduino)

36 3,7K 19

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 2,6 MB

Nội dung

Đề tài có ý nghĩa như những bước đầu chập chững tiến lên ngành công nghiệp nghiên cứu Robot đang còn yếu của nước ta, góp phần làm “điểm tựa” cho các thế hệ sau tiến lên những nấc thang cao hơn của nghiên cứu chế tạo Robot. Xe Robot 4 bánh có thiết kế nhỏ gọn hoạt động tốt với kết cấu vững chắc và nguồn hoạt động lâu có thể giúp cho con người dễ dàng vận chuyển và triển khai trong phạm vi ứng dụng một cách linh hoạt. Tuy nhiên do thời gian nghiên cứu không nhiều nên đề tài còn nhiều mặt hạn chế chưa áp dụng được nhiều công nghệ như GPS, Camera, Đèn, các cảm biến công nghệ giúp xe Robot trở nên thông minh hơn và có ứng dụng thực tiễn nhiều hơn nữa.

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG: ĐẠI HỌC CÔNG NGHỆ ĐỒNG NAI

KHOA: ĐIỆN, ĐIỆN TỬ- CƠ KHÍ – XÂY DỰNG

Trang 2

LỜI MỞ ĐẦU Ngày nay cùng với sự phát triển của đất nước thì ngành công nghệ kĩ thuật điện tử nói riêng và ngành tin học nói chung đã có những bước phát triển mạnh mẽ không ngừng là chiếc chìa khoá dẫn đến thành công trên nhiều lĩnh vực, hoạt động

Nhiệm vụ của một sinh viên ngành Điện Tử chúng em cần phải nghiên cứu, tìm tòi và phát triển các ứng dụng dựa trên các cơ sở lí thuyết đã được học Để có thể tạo ra những sản phẩm có chất lượng tốt nhất đáp ứng nhu cầu trong cuộc sống hiện đại 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.…

Nhưng điểm hạn chế của các robot thịnh 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í và địa lí khác nhau Chính vì những điểm hạn chế ấy đã đặt ra một câu hỏi :”Làm sao để cho Robot có thể tránh né được vật cản trở ?“ Hầu hết các robot hiện đại đều

có một giải pháp 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

Chúng em xin gửi lời cảm ơn chân thành đến thầy Lê Xuân Vịnh đã

hướng dẫn trong quá trình học tập, thầy đã tận tình quan tâm, chỉ bảo , định hướng cũng như cung cấp các kiến thức lý thuyết và tạo mọi điều kiện thuận lợi và đồng thời hướng dẫn cho chúng em trong suốt quá trình thực hành để chúng em có thể hiểu rõ hơn về Môn Ngôn Ngữ Lập Trình C++ Chúng Em Xin Trân Trọng Cảm Ơn!

Trang 3

MỤC LỤC

Phần I/ GIỚI THIỆU ĐỀ TÀI

1/ Lí Do Chọn Đề Tài………

2/ Mục Tiêu Nghiên Cứu………

3/ Ý Nghĩa Khoa Học & Thực Tiễn Của Đề Tài………

3.1/ Ý Nghĩa Khoa Học………

3.2/ Ý Nghĩa Thực Tiễn………

4/ Những Đóng Góp Mới Của Đề Tài & Những Vấn Đề Mà Đề Tài Chưa Thực Hiện Được………

5/ Ưu Điểm Và Nhược Điểm Của Xe Điều Khiển………

5.1/ Ưu Điểm………

5.2/ Nhược Điểm………

PHẦN II/ GIỚI THIỆU KHÁT QUÁT VỀ MẠCH ARDUINO 1/Giới Thiệu Arduino ………

2/ Phần Cứng………

3/ Phần Mềm………

PHẦN III/ GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C++ 1/ Lịch Sử Hình Thanh………

2/ Đặc Điểm………

3/ Ví Dụ………

PHẦN IV/ TỔNG QUÁT VỀ HỆ THỐNG 1/ Giới Thiệu Chung Về Xe Điều Khiển………

1.1/ Định Nghĩa………

1.2/ Cấu Tạo Xe Điều Khiển………

2/ Hệ Thống Xe Robot 4 Bánh………

2.1/ Các Chức Năng Của Từng Bộ Phận………

2.2/ Chương Trình Chạy Mã Code Cho Arduino………

2.3/ Phần Mềm Điều Khiển Trên Android………

PHẦN V/ NGÔN NGỮ LẬP TRÌNH TRÊN ARDUINO 1/ Giới Thiệu Ngôn Ngữ Lập Trình Trên Arduino………

2/ Ý Nghĩa Các Hàm Sử Dụng Trong Điều Khiển………

PHẦN VI/ KẾT LUẬN & KIẾN NGHỊ 1/ Kết Luận………

2/ Kiến Nghị………

3/ Nhận Xét Của Giảng Viên………

Trang 4

PHẦN I/ KHÁI QUÁT VỀ CHỦ ĐỀ ĐIỀU KHIỂN XE BẰNG

BLUETOOTH VÀ TỰ HÀNH TRÁNH VẬT CẢN

1/ Lí Do Để Chọn Đề Tài

- Nắm bắt từ thực tế hiện nay nhiều nước trên thế giới đã ứng

dụng Robot để phục vụ trong nhiều lĩnh vực như: công nghiệp, nông

nghiệp trong quân sự và trong cuộc sống sinh hoạt hằng ngày Trong tương lai Robot sẽ là một công cụ hỗ trợ đắc lực cho con người và giúp con người vươn đến những tầm cao mới Nhận thức được xu hướng và tầm quan

trọng của Robot trong tương lai, nhằm góp phần xây dựng và phát triển

công nghệ Robot ở Việt Nam, nhóm sinh viên đã quyết định chọn thực

hiện đề tài

“ Điều khiển xe bằng Bluetooth và tự hành tránh vật cản”

2/Mục tiêu nghiên cứu:

- Đối với nhóm sinh viên, đề tài là bước đầu tìm hiểu, thi công

sản phẩm Robot ứng dụng trong thực tế, đồng thời cũng là bước triển khai những kiến thức đã được học Thông qua việc nghiên cứu và làm việc

nghiêm túc để rèn luyện tác phong, tinh thần khoa học, cũng như hoàn

thiện phương pháp, tư duy nghiên cứu, giải quyết một vấn đề thực tiễn

Quan trọng hơn, đề tài còn là bước “tổng kết và hoàn thiện” những kỹ năng còn thiếu sót trước khi thực sự trở thành người kỹ sư Về mặt ứng dụng

thực tiễn, đề tài có thể sử dụng hỗ trợ trong việc điều khiển hoặc tự động

tránh né vật cản trong những khu vực phức tạp nhằm tránh va chạm với

vật

3/ Ý Nghĩa Khoa Học & Thực Tiễn Của Đề Tài

3.1/ Ý Nghĩa Khoa Học:

- Ứng dụng các kết quả nghiên cứu lý thuyết, đề tài sẽ xây dựng

mô hình xe điều khiển 4 bánh thông qua thiết bị bluetooth và phụ kiện cảm biến để né tránh vật cản Đề tài minh chứng tı́nh đúng đắn của hướng

nghiên cứu , khẳng đi ̣nh độ tin câ ̣y của các kết quả nghiên cứu khoa học

3.2/ Ý Nghĩa Thực Tiễn:

-Xây dựng một xe vừa có thể điều khiển bằng bluetooth thông qua điện thoại android và có thể tự hành khi mất kết nối Điểm mới của xe

là có khả năng tránh vật cản trong quá trình di chuyển Nhóm chúng em

dừng lại ở việc tìm hiểu cấu trúc tổng quang của robot, đồng thời tìm hiểu

Trang 5

các khối phục vụ cho việc điều khiển robot và các giao thức truyền thông giữa máy tính và mạch Arduino

người dễ dàng vận chuyển và triển khai trong phạm vi ứng dụng một cách linh hoạt Tuy nhiên do thời gian nghiên cứu không nhiều nên đề tài còn nhiều mặt hạn chế chưa áp dụng được nhiều công nghệ như GPS, Camera, Đèn, các cảm biến công nghệ giúp xe Robot trở nên thông minh hơn và có ứng dụng thực tiễn nhiều hơn nữa

5/ Những Ưu Điểm & Nhược Điểm Của Xe Điều Khiển

5.1/ Ưu Điểm:

- Không ô nhiễm, sử dụng pin và có thể sạc pin được

- Sử dụng trong không gian hiệu quả, đa năng ( sử dụng trong nhà hoặc ngoài phố)

- Dễ dàng điều khiển bằng Điện thoại thông minh thông qua Bluetooth

- Như một phương tiện vận chuyển hàng hoá hoặc có thể giám sát

- Gía thành thấp hơn những robot khác

- Tốc độ di chuyển nhanh chóng tiện lợi

- Tránh né mọi vật xung quanh một cách linh hoạt

- Không thể vượt qua các địa hình xấu

- Tiêu hao năng lượng nhiều

- Khoảng cách điều khiển ngắn

- Các bánh xe khi chạy chưa đều

Trang 6

PHẦN II/ GIỚI THIỆU KHÁI QUÁT VỀ ARDUINO

1/Giới Thiệu 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 nhiế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++

Giá của các board Arduino dao động xung quanh €20, hoặc $27 hoặc

574 468VNĐ, nếu được "làm giả" thì giá có thể giảm xuống thấp hơn $9 Các board Arduino có thể được đặt hàng ở dạng được lắp sẵn hoặc dưới dạng các kit tự-làm-lấy Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở) Người ta ước tính khoảng giữa năm 2011

có trên 300 ngàn mạch Arduino chính thức đã được sản xuất thương mại,

và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tới tay người dùng

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à ATmega8, ATmega168,

Trang 7

ATmega328, ATmega1280, và ATmega2560 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 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-to-serial 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ì ArduinoIDE, 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 3/Phần Mềm

Trang 8

Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng

project Wiring Nó được thiết kế để dành cho các nghệ sĩ và những người mới tập tành 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ú click chuột Một chương trình hoặc code viết cho Arduino được gọi là một sketch.[5]

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 Một chương trình điển hình cho một bộ vi điều khiển đơn giản chỉ là làm cho một bóng đèn Led sáng/tắt Trong môi trường Arduino, ta sẽ phải viết một chương trình giống như sau:[6]

Đèn LED tích hợp với chân 13

digitalWrite (LED_PIN, HIGH); // Bật LED on

delay (1000); // chờ trong 1 giây (1000 mili giây)

digitalWrite (LED_PIN, LOW); // Tắt LED off

delay (1000); // chờ trong 1s

}

Một đặc điểm của hầu hết các board Arduino là chúng có một đèn LED và điện trở nối giữa chân 13 với đất; một đặc điểm thuận tiện cho nhiều ứng dụng đơn giản.[6] Đoạn code ở trên không thể đọc được bởi

Trang 9

vào nút "Upload to I/O board" trong IDE này, một bản copy của đoạn code này sẽ được ghi vào một file tạm với một extra include header ở phía trên cùng và một hàm main () đơn giản nằm ở phía đáy, để làm cho thàn một chương trình C++ khả dụng

Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch

chương trình, và sử dụng avrdude để upload chương trình lên board

Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi

trường phát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio mới hơn, cũng có thể được sử dụng để làm phần mềm phát triển cho

là toán tử tăng thêm 1 của C

C++ được biết đến như là ngôn ngữ lập trình hướng sự vật hay hướng đối tượng - OOP (Object Oriented Programming)

2/ Đặc Điểm:

-C là một ngôn ngữ mạnh và linh hoạt C được sử dụng trong nhiều

dự án khác nhau, như viết hệ điều hành, chương trình xử lý văn bản, đồ hoạ, bảng tính, và thậm chí cả chương trình dịch cho các ngôn ngữ khác

C có sẵn rất nhiều các trình biên dịch (compiler) và các thư viện được viết sẵn khác

C là một ngôn ngữ khả chuyển (portable language) Nghĩa là một chương trình viết bằng C cho một hệ máy tính (ví dụ như IBM PC) có thể được dịch và chạy trên hệ máy tính khác (chẳng hạn như DEC VAX) chỉ với rất

ít các sử đổi Tính khả chuyển đã được bởi chuẩn ANSI cho C

C chỉ gồm một số ít từ khoá (keywords) làm nền tảng để xây dựng các các chức năng của ngôn ngữ

C là ngôn ngữ lập trình theo modul Mã chương trình C có thể (và nên) được viết thành các thủ tục gọi là function Những function này có thể

Trang 10

được sử dụng lại trong các ứng dụng (application) và chương trình khác nhau Tuy nhiên C không cho phép khai báo hàm trong hàm

C++ bao trùm lên C nên mọi đặc điểm của C đều có trong C++ Ngoài ra, C++ còn có một số đặc điểm khác như:

C++ là ngôn ngữ hướng đối tượng

C++ là ngôn ngữ định kiểu rất mạnh

C++ cung cấp cách truyền tham số bằng tham chiếu cho hàm

C++ cung cấp cơ cấu thư viện để người lập trình có thể tự tạo thêm hàm thông dụng vào thư viện và có thể tái sử dụng sau này

C++ cung cấp một cơ chế đa dạng hóa tên hàm và toán tử

C++ cung cấp các class là loại cấu trúc mới đóng gói chung cho cả dữ liệu lẫn các hàm trong một chủ thể được bảo vệ một cách chặt chẽ

Cấu trúc của một chương trình C++

(1): Khai báo thư viện

(2): [Khai báo các nguyên mẫu hàm của người dùng]

(10): Các định nghĩa hàm của người dùng

Chú ý: Các thành phần trong cặp ngoặc vuông [] có thể có hoặc không trong chương trình

(3): Định nghĩa kiểu mới

Ngoài những kiểu chuẩn đã được cung cấp sẵn của ngôn ngữ, người lập trình có thể định nghĩa ra các kiểu mới từ những kiểu đã có bằng cách sử dụng từ khóa typedef

(4): Định nghĩa Macro

Trang 11

(5): Các định nghĩa biến, hằng: Các biến và hằng được định nghĩa tại đây

sẽ trở thành biến và hằng toàn cục

(6) – (9): Hàm main():Đây là thành phần bắt buộc trong một chương trình C++, thân của hàm main bắt đầu từ sau dấu mở móc { (dòng 7) cho tới dấu đóng móc } (dòng 9)

(10): Các định nghĩa hàm của người dùng: Một định nghĩa hàm bao gồm tiêu đề của hàm, thân hàm với cú pháp như sau:

<Kiểu hàm> <Tên hàm> ([Khai báo các đối])

//Nhập vào 3 điểm Toán, Lý, Hóa

cout<<"Diem toan la:";

cin>>dt;

cout<<"diem ly la:"; cin>>dl;

cout<<"Diem hoa la:"; cin>>dh;

Trang 12

PHẦN IV/ TỔNG QUÁT VỀ HỆ THỐNG XE ĐIỀU KHIỂN

là đất Địa hình bề mặt mà robot di chuyển có thể bằng phẳng hoặc thay đổi , lồi lõm

Bộ phận thực hiện chuyển động bằng bánh

Hình 1

1.2/ Cấu tạo xe điều khiển:

- Các Bộ phận của xe điều khiển bao gồm:

Trang 13

*Cảm biến siêu âm HC-SCR4

Hình 2 Cảm biến sử dụng sóng siêu âm và có thể đo khoảng cách từ 2 đến 300cm với độ chính xác gần như chỉ phụ thuoccj vào việc lập trình Cảm biến HC-SR04 có 4 chân là Vcc, Trig, Echo và GND

Nguyên lí hoạt động : Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds ) từ chân Trig Sau đó, cảm biến sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này Chiều rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và quay trở lại

Tốc độ của âm thanh trong không khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)) Khi đã tính được thời gian, ta sẽ chia cho 29,412 để nhận được khoảng cách

*Module Bluetooth HC-06

Hình 3

Trang 14

Để giao tiếp với với Module ở đây nhóm em lựa chọn ứng dụng Arduino Bluetooth RC Car khi chạy ứng dụng sẽ tìm kiếm địa chỉ của module HC-06 (ở đây đã có sẵn các phím điều khiển ) Khi ấn phím , điện thoại sẽ truyền mã tương ứng qua Bluetooth đến module HC-06 Sử dụng

vi điều khiển ATMEGA328P để nhận mã và tiến hành điều khiển các động

cơ thực hiện chức năng tương ứng của phím Kết nối giữa module và vi điều khiển như sau :

ra nguồn 5V để cung cấp cho các thiết bị khác

Thông số kĩ thuật :

Driver: L298N tích hợp hai mạch cầu H

-Điện áp điều khiển: +5 V ~ +35 V

- Dòng tối đa cho mỗi cầu H là: 2A

- Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

- Dòng của tín hiệu điều khiển: 0 ~ 36mA

- Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)

Các chân tín hiệu :

Trang 15

1 DC motor 1 và 2 "+"

2 DC motor 1 và 2 "-"

3 12V jumper Jumper này dùng để cấp nguồn cho IC ổn áp tạo ra nguồn 5V nếu nguồn trên 12V sẽ làm cháy IC Nguồn

4 cằm dây nguồn cung cấp điện áp cho motor vào đây từ 6V đến 35V

5 cắm chân GND của nguồn

Trang 16

 Một vài thông số của Arduino UNO R3

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân

vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

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

Trang 17

 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xung PWM

với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng

hàm analogWrite()

 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát

dữ liệu bằng giao thức SPI với các thiết bị khác

 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L)

Khi bấm nút Reset, sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối

với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu

10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI

với các thiết bị khác

Lập trình cho Arduino

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng

Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói

chung Và Wiring lại là một biến thể của C/C++

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm

phát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập

trình Arduino được gọi là Arduino IDE

(IntergratedDevelopment Environment) như hình dưới đây

Trang 18

Hình 5 Đoạn mã nguồn trong hình vẽ dùng để điều khiển xe

Ngày đăng: 13/04/2017, 13:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w