Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Ý nghĩa các chân của NRF24L01

Module NRF24L01 có một số chân chức năng quan trọng mà bạn cần biết để
kết nối và sử dụng module này. Dưới đây là mô tả của một số chân quan trọng
trên NRF24L01:

1. **VCC (Power Supply)**: Chân này được kết nối đến nguồn cấp điện áp cho
module. NRF24L01 có thể hoạt động với điện áp 3.3V hoặc 5V, tùy thuộc vào
phiên bản cụ thể của module bạn đang sử dụng.

2. **GND (Ground)**: Chân này được kết nối đến chân GND của nguồn cấp
điện áp và phải nối đất với Arduino hoặc MCU khác để tạo mạch đầy đủ.

3. **CE (Chip Enable)**: Chân này điều khiển trạng thái hoạt động của
NRF24L01. Khi CE ở mức Logic HIGH (thường là 3.3V hoặc 5V), module ở
trạng thái hoạt động. Khi CE ở mức Logic LOW, module ở trạng thái chờ.

4. **CSN (Chip Select)**: Chân này được sử dụng để chọn module NRF24L01
khi gửi hoặc nhận dữ liệu. Khi CSN ở mức Logic LOW, module NRF24L01
được kích hoạt để truyền hoặc nhận dữ liệu.

5. **MOSI (Master Out Slave In)**: Chân này được sử dụng trong giao tiếp
SPI để truyền dữ liệu từ MCU (Arduino) đến NRF24L01.

6. **MISO (Master In Slave Out)**: Chân này được sử dụng trong giao tiếp
SPI để nhận dữ liệu từ NRF24L01 đến MCU (Arduino).

7. **SCK (Serial Clock)**: Chân này cung cấp xung đồng hồ cho giao tiếp SPI
giữa MCU và NRF24L01.

8. **IRQ (Interrupt Request)**: Chân này được sử dụng để thông báo khi có dữ
liệu mới sẵn sàng để đọc trên NRF24L01. Bạn có thể sử dụng chân này để tạo
ngắt (interrupt) trên MCU để xử lý dữ liệu mới khi nó sẵn sàng.
9. **NRF24L01 Antenna (Antena)**: NRF24L01 có một antena tích hợp hoặc
kết nối ngoại bổ sung để tăng khả năng truyền thông.

Khái niệm giao tiếp SPI


Giao tiếp SPI (Serial Peripheral Interface) là một giao thức truyền thông đồng
bộ, được sử dụng để truyền dữ liệu giữa các thiết bị điện tử như vi điều khiển,
cảm biến, bộ nhớ, hoặc các chip giao tiếp khác. Giao tiếp SPI sử dụng một số
chân giao tiếp đặc thù, bao gồm:

1. **SCK (Serial Clock)**: Đây là chân đồng hồ, nơi dữ liệu được truyền bằng
các xung đồng hồ. Tần số của xung đồng hồ được quy định bởi master (thiết bị
điều khiển) và phải được cấu hình trước khi giao tiếp bắt đầu.

2. **MOSI (Master Out Slave In)**: Chân này dùng để truyền dữ liệu từ master
đến slave (ví dụ: từ vi điều khiển đến một cảm biến hoặc chip khác). Dữ liệu từ
master được nạp vào MOSI và sau đó truyền qua chân MOSI đến slave.

3. **MISO (Master In Slave Out)**: Chân này dùng để truyền dữ liệu từ slave
đến master. Dữ liệu từ slave được truyền qua chân MISO và sau đó nạp vào
master.

4. **SS/CS (Slave Select/Chip Select)**: Chân này được sử dụng để chọn thiết
bị cụ thể mà master muốn truyền dữ liệu. Khi chân này ở mức Logic LOW, thiết
bị được kích hoạt; khi ở mức Logic HIGH, nó bị vô hiệu hóa.

Giao tiếp SPI thường hoạt động theo nguyên tắc master-slave, trong đó master
điều khiển quy trình truyền dữ liệu và có thể nối nhiều thiết bị slave thông qua
các chân SS/CS riêng biệt.

Quá trình giao tiếp SPI diễn ra theo các chu kỳ truyền dữ liệu (bit) và thường đi
kèm với quy tắc xác định trước về cách dữ liệu được truyền và nhận. Giao tiếp
SPI có thể là Full-Duplex, có nghĩa là master và slave có thể truyền và nhận dữ
liệu cùng một lúc.
Kết hợp Arduino và NRF24L01
Arduino và module NRF24L01 là một cặp lý tưởng để tạo kết nối không dây
giữa hai hoặc nhiều thiết bị Arduino. Module NRF24L01 sử dụng giao thức
truyền thông không dây 2.4GHz để truyền và nhận dữ liệu. Dưới đây là hướng
dẫn cơ bản để kết hợp Arduino với NRF24L01:

**Bước 1: Kết nối NRF24L01 với Arduino**

Kết nối module NRF24L01 với Arduino bằng các chân sau:

- VCC: Kết nối đến nguồn 3.3V hoặc 5V của Arduino (tùy theo phiên bản của
NRF24L01 bạn đang sử dụng).
- GND: Kết nối đến chân GND của Arduino.
- CE (Chip Enable): Kết nối đến chân số 9 trên Arduino (có thể sử dụng chân số
khác nếu cần).
- CSN (Chip Select): Kết nối đến chân số 10 trên Arduino (có thể sử dụng chân
số khác nếu cần).
- MOSI: Kết nối đến chân số 11 trên Arduino.
- MISO: Kết nối đến chân số 12 trên Arduino.
- SCK: Kết nối đến chân số 13 trên Arduino.

Khi nào logic HIGH và khi nào logic LOW


Trạng thái của các chân trong giao tiếp SPI (MOSI, MISO, SCK, và SS/CS) phụ
thuộc vào thiết kế cụ thể của thiết bị và việc truyền dữ liệu cụ thể. Tuy nhiên, có
một số quy tắc chung:

1. **SCK (Serial Clock)**:


- Khi không hoạt động hoặc trong trạng thái chờ, SCK thường ở mức Logic
LOW (0).
- SCK sẽ chuyển đổi giữa mức Logic LOW và Logic HIGH theo tần số xung
đồng hồ đã cấu hình. Dữ liệu thay đổi vào mỗi xung SCK.

2. **MOSI (Master Out Slave In)**:


- Khi master gửi dữ liệu đến slave, MOSI sẽ ở mức Logic HIGH (1) hoặc
Logic LOW (0) tùy thuộc vào giá trị dữ liệu được truyền.
- MOSI thường ở mức Logic LOW khi không hoạt động hoặc trong trạng thái
chờ.

3. **MISO (Master In Slave Out)**:


- Khi slave trả lời dữ liệu cho master, MISO sẽ ở mức Logic HIGH (1) hoặc
Logic LOW (0) tùy thuộc vào giá trị dữ liệu được truyền từ slave đến master.
- MISO thường ở mức Logic LOW khi không hoạt động hoặc trong trạng thái
chờ.

4. **SS/CS (Slave Select/Chip Select)**:


- Chân này được sử dụng để chọn thiết bị cụ thể mà master muốn truyền dữ
liệu. Khi ở mức Logic LOW, thiết bị được kích hoạt; khi ở mức Logic HIGH,
nó bị vô hiệu hóa.
- Khi không truyền dữ liệu đến thiết bị cụ thể, SS/CS thường ở mức Logic
HIGH. Khi master muốn truyền dữ liệu, nó chuyển SS/CS xuống mức Logic
LOW để kích hoạt thiết bị cụ thể.

Arduino
 Ngắt ngoài: Chân 2 và 3.
 PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8
bit bằng hàm analogWrite ().
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ giao
tiếp SPI bằng thư viện SPI.

You might also like