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 (8.14 MB, 62 trang )
Hình 2.1 Robot nhện
2.2 Giới thiệu các linh kiện được sử dụng trong đề tài
2.2.1 Mạch vi điều khiển Arduino Uno R3
Tổng quan về Arduino Uno R3
1. Nút reset
2. Ổ cấm usb
3. Giắt cấm nguồn
5. Các chân digital
4. Nguồn điện
6. Các chân analog
Hình 2.2 Sơ đồ chân Arduino
Sơ đồ nguyên lý Arduino Uno
4
Hình 2.3 Sơ đồ nguyên lý mạch Arduino Uno R3
5
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.
Arduino có thể tương tác với mơi trường xung quanh, nó có thể kết nối với:
Hệ thống cảm biến đa dạng về chủng loại: cảm biến nhiệt độ, gia tốc, vận tốc,
cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiện
kim loại,…
Các thiết bị hiển thị: màn hình LCD, đèn Led,…
Các module chức năng (shield) hỗ trợ kết nối có dây với các thiết bị khác hặc
các kết nối không dây thông dụng như: 3G, GPRS, Wifi, Bluetooth, 315/433MHz,
2.4GHz,…
Kết nối với các module khác như module điều khiển động cơ L298…..
Arduino Uno R3 là 1 board mạch thiết kế với bộ xử lý trung tâm là vi điểu
khiển AVR Atmega328P.
Một số thông số của Arduino Uno R3:
Bảng 2.1 Thông số kỹ thuật của Arduino Uno R3
Vi điều khiển
ATmega328P họ 8 bit
Điện áp hoạt động
5V DC (Chỉ cấp qua cổng USB)
Tàn số hoạt động
16 Mhz
Dòng tiêu thụ
Khoảng 30 mA
Đ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
6 (chân hardware PWM)
Số chân Analog
6 (độ phân giải 10 bit)
Dòng tối đa trên mỗi chân I/O
30mA
Dòng ra tối đa (5V)
500mA
Dòng ra tối đa (3.3V)
50mA
Bộ nhớ flash
32 KB (ATmega328P) với 0.5 dùng bởi
bootloader
SRAM
EEPROM
2 KB (ATmega328P)
1 KB (ATmega328P)
6
Chiều dài board
68.6 mm
Chiều rộng board
Khối lượng
53.4 mm
25 g
Sơ đồ chân của Arduino Uno R3
Cổng kết nối usb:
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thơng qua cáp USB ta có
thể Upload chương trình cho Arduino hoạt động, ngồi ra USB còn là nguồn cho
Arduino.
Các chân năng lượng:
GND (Ground): Cực âm của nguồn điện cấp cho Arduino Uno R3. Khi chúng ta
sử dụng những nguồn riêng biệt thì những chân này được nối với nhau.
5V: Cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
3.3V: Cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin: Để cấp nguồn ngoài cho Arduino Uno R3, ta nối cực dương của nguồn với
chân này và cực âm của nguồn với chân GND.
Các cổng vào và ra
Arduino có 14 chân digital dùng để đọc và xuất tín hiệu. Chúng chỉ có 2 mức
điện áp là 0V và 5V với dòng vào hoặc ra tối đa trên mỗi chân là 40mA. Ở đây mỗi
chân đều có các điện trở từ được cài đặt ngay trong 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 có các chức năng đặc biệt sau:
Có 2 chân Serial 0 (RX) và 1 (TX): dùng để gửi và nhận dữ liệu TTL serial.
Arduino Uno R3 có thể giao tiếp với các thiết bị linh kiện khác thông qua 2 chân này.
Kết nối bluetooth thường thấy đó chính là kiểu kết nối Serial khơng dây. Nếu khơng
cần giao tiếp serial thì chúng ta không nên sử dụng 2 chân này nếu không cần thiết.
Chân PWM (~): 3, 5, 6, 7, 9, 10, và 11: cho phép xuất ra xung PWM với độ
phân giải 8 bit bằng hàm analogWrite(). Chúng ta có thể điều chỉnh điện áp ra ở chân
này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngồi 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.
Ardunio Uno có 6 chân analog (A0-A5) cung cấp độ phân giải tín hiệu 10bit để
đọc giá trị điện áp trong khoảng 0V-5V. Với chân AREF trên board, chúng ta có thể
7
đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu chúng ta cấp điện
áp 2.5V vào chân này thì chúng ta có thể sử dụng các chân analog để đo điện áp trong
khoảng từ 0V - 2.5V với độ phân giải vẫn là 10 bit.
Đặc biệt, Arduino Uno R3 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.
2.2.2 Cảm biến khoảng cách SRF-05
Hình 2.4 Cảm biến khoảng cách SRF-05
Sóng siêu âm là những dao động đàn hồi truyền trong các môi trường vật chất
đàn hồi như: rắn, lỏng, khí, khơng truyền trong chân khơng. Nói cách khác, sóng siêu
âm là âm thanh có tần số cao hơn tần số tối đa mà con người nghe thấy được. Tuy
nhiên thì có thể thấy được sự hiện diện của sóng siêu âm ở khắp mọi nơi trong tự
nhiên. Có thể bắt gặp một số lồi động vật dùng sóng siêu âm để truyền tín hiệu nhận
biết cho nhau hay săn mồi như cá voi, dơi…
Dựa vào kỹ thuật công nghệ và khoa học hiện đại thấy được ứng dụng trong
cuộc sống của sóng siêu âm rất nhiều, có thể kể đến như thiết bị định vị dưới biển của
tàu ngầm, thiết bị ra-đa, các thiết bị đo khoảng cách của mơi trường…
Cấu tạo cảm biến khoảng cách SRF05 gồm có: 2 loa thu và phát cùng với 5
chân để kết nối với Arduino. Theo thông số tài liệu của nhà sản xuất thì tầm hoạt động
tối đa của cảm biến này tầm khoảng 2-300 cm.
Thông số kĩ thuật của cảm biến khoảng cách SRF-05
Điện áp hoạt động: 5VDC
Dòng cấp: <200mA
Góc quét: <150
8
Phát hiện vật cản trong khoảng: 2-300cm
Kích thước: L43mm * W20mm * H17mm
Chức năng của các chân này như sau:
VCC: cấp nguồn cho cảm biến.
Trigger: kích hoạt q trình phát sóng siêu âm. Q trình kích hoạt khi một chu
kì điện cao hoặc thấp diễn ra.
Echo: bình thường sẽ ở trạng thái 0V, được kích hoạt lên ngay 5V ngay có tín
hiệu trở về, sau đó trả về 0V.
GND: Cấp mass của mạch.
OUT: Khơng sử dụng.
Ngun lí hoạt động của cảm biến khoảng cách SRF05:
Để đo khoảng cách sẽ phát ra 1 xung rất ngắn từ chân Trigger. Sau đó, cảm biến
sẽ tạo ra một xung HIGH ở chân Echo cho đến khi nhận được sóng phản xạ từ chân
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 độ âm thanh trong khơng khí là 340 m/s tương đương với 29,412 ms/cm
(106/(340*100)). Khi đã tính thời gian, ta sẽ chia cho 29,412 để nhận được khoảng
cách.
Lắp đặt cảm biến ta tiến hành lắp đặt cảm biến như sau:
VCC: Nối với nguồn 5V của Arduino.
GND: Nối với chân GND.
Trigger: Nối với chân số 8 của Arduino Uno R3.
Echo: Nối với chân số 7 của Arduino Uno R3.
2.2.3 Module bluetooth HC-05
Hình 2.5 Module bluetooth HC-05
9
Bluetooth là chuẩn truyền thơng không dây để trao đổi dữ liệu ở khoảng cách
ngắn. Chuẩn truyền thơng này sử dụng sóng radio ngắn (UHF radio) trong dải tần số
ISM (2.4 – 2.485 GHz). Khoảng cách truyền của module bluetooth HC-05 tầm khoảng
10m.
Module HC05 dùng để thiết lập kết nối Serial giữa 2 thiết bị bằng sóng
bluetooth, được thiết kế dựa trên IC BC417, con IC này sử dụng bộ nhớ flash ngoài
8bit.
Sơ đồ chân HC05 gồm có:
KEY: Chân này để chọn chế độ hoạt động AT Mode hoặc DATA Mode.
VCC: Chân này có thể cấp nguồn từ 3.6V – 6V, bên trong module đã có một IC
nguồn để truyền điện áp về 3.3V và cấp cho IC BC417.
GND: Nối với chân nguồn GND.
TXD, RXD: Là hai chân UART để giao tiếp module hoạt động ở mức 3.3V.
Các chế độ hoạt động:
Module HC-05 hoạt động ở hai chế độ là Command Mode và Data Mode. Ở
chế độ Command Mode ta có thể giao tiếp với Module thông qua cổng serial trên
module bằng tập lệnh AT. Ở chế độ Data Mode module có thể truyền nhận dữ liệu tới
module bluetooth khác. Chân KEY dùng để chuyển đổi qua lại giữa 2 chế độ này. Có
hai cách chuyển module hoạt động trong chế độ Data Mode:
Nếu đưa chân này lên mức logic cao trước khi cấp nguồn module sẽ đưa vào
chế độ Command Mode với baudrate mặc định 38400. Chế độ này khá hữu ích khi
chúng ta không biết baudrate trong module được thiết lập ở tốc độ bao nhiêu. Khi
chuyển sang chế độ này đèn LED trên module sẽ nhát chậm (khoảng 2s) và ngược lại
khi chân KEY nối ở mức logic thấp trước khi cấp nguồn module sẽ hoạt động chế độ
Data Mode.
Nếu module đang hoạt dộng ở chế độ Data Mode để có thể đưa vào hoạt động ở
chế độ Command Mode thì chúng ta cần đưa chân KEY lên mức cao. Lúc này module
sẽ vào chế độ Command Mode nhưng với tốc độ Baud Rate được chúng ta thiết lập lần
cuối cùng. Vì vậy chúng ta cần biết Baudrate hiện tại của thiết bị để có thể tương tác
với nó.
Nếu chưa thiết lập lại lần nào thì mặc định như sau:
Baud Rate 9600, data 8 Bits, stop bits 1, parity: none, handshake: none.
Passkey: 1234.
10
Device Name: HC-05.
Chế độ Data Mode HC-05 có thể hoạt động như một Master hoặc Slave tùy vào
việc cấu hình:
Ở chế độ SLAVE: Chúng ta cần thiết lập kết nối từ smartphone, laptop, usb
bluetooth để dò tìm module sau đó kết nối với mã PIN là 1234. Sau khi kết nối, có 1
cổng serial từ xa hoạt động ở Baud Rate là 9600.
Ở chế độ MASTER: Module sẽ tự động dò tìm thiết bị bluetooth khác (1
module bluetooth khác, usb bluetooth, bluetooth của laptop…) và tiến hành kết nối
chủ động mà khơng cần thiết lập gì từ máy tính hoặc smartphone.
Tập lệnh AT thường dùng:
AT: lệnh test, nó sẽ trả về OK nếu module đã hoạt động ở chế độ Command
Mode.
AT + VERSION: Trả về Firmware hiện tại của module.
AT + UART = 9600, 0, 0: Thiết lập baudrate (9600, 1 bit stop, no parity).
Các lệnh ở chế độ Master:
AT + RMAAD: Ngắt kết nối với các thiết bị đã ghép.
AT + ROLE = 1: Đặt module ở chế độ Master.
AT + RESET: Khởi động lại thiết bị.
AT + CMODE = 0: Cho phép kết nối với bất kì địa chỉ nào.
AT + INQM = 0, 5, 5: Dừng tìm kiếm thết bị khi đã tìm được 5 thiết bị hoặc sau
5 giây.
At + PSWD = 1234: Set Pin cho thiết bị.
AT + INQ: Bắt đầu tìm kiếm thiết bị để thay đổi ghép nối. Sau lệnh này một
loạt các thiết bị tìm thấy được hiển thị. Định kết quả ra sau lệnh này như sau:
INQ: address, type, signal.
Phần địa chỉ sẽ có định dạng như sau: 0123:4:567890. Để sử dụng địa chỉ này
trong các lệnh tiếp theo ta phải thay dấu “:” thành dấu “,”, ví dụ như: 0123:4:567890 –
0123, 4, 567890.
AT + PAIR =