Arduino Nano pinout: every pin, its chip pin and its limits
Cơ bản
Hoặc xem mọi bài học.
- 503linh kiện trên bàn làm mạch
- 44bo mạch đang chạy
- 1.00xthời gian thực, trên mọi bo mạch
Arduino Nano là ATmega328P của Uno trên bo mạch cắm được vào breadboard, với hai đầu vào analog mà Uno không có chân nào cho chúng. Trang này liệt kê cả ba mươi chân cùng chân cổng ATmega328P phía sau mỗi chân, chân nào làm PWM và trên timer nào, các chân I2C, SPI và ngắt, các chân nguồn và giới hạn của chúng, và nên dùng chân nào cho việc gì.
Mạch ở trên là một Nano trong Mokxi với một biến trở ở A7, một trong hai chân chỉ analog, làm mờ dần một LED ở chân 9. Bảng được đọc từ cùng mô hình bo mạch mà trình mô phỏng chạy, và ở chỗ trình mô phỏng làm ít hơn bo mạch thật, trang nói rõ.
Mọi chân, kèm chân ATmega328P
Với ổ cắm USB ở trên, header trái đọc là D1, D0, RESET, GND, rồi D2 đến D12. Header phải đọc là VIN, GND, RESET, 5V, A7 xuống A0, AREF, 3V3 và D13. RESET và GND mỗi cái xuất hiện hai lần, ở hai đầu bo mạch trên cùng một đường mạch. Chân 0 đến 7 là cổng D, 8 đến 13 là cổng B và A0 đến A5 là cổng C, giống Uno, nên sketch làm việc ở mức thanh ghi chuyển sang mà không cần sửa.
Trong code, chân số là chính các con số đó còn chân analog là A0 đến A7. A0 đến A5 cũng là chân số 14 đến 19.
| Chân | Chân chip | Nó làm được gì | Cần lưu ý |
|---|---|---|---|
| 1 | PD1 | TX: Serial ra, tới chip USB sang serial. | Hãy để trống, nếu không việc nạp và Serial Monitor sẽ hỏng. |
| 0 | PD0 | RX: Serial vào, từ chip USB sang serial. | Hãy để trống, nếu không việc nạp và Serial Monitor sẽ hỏng. |
| RESET | PC6 | Reset: mức thấp khởi động lại chip. Hai lỗ, một đường mạch. | Not a GPIO. |
| GND | - | GND. Hai lỗ. | - |
| 2 | PD2 | Chân số. INT0: attachInterrupt. | Một lựa chọn đầu tiên tốt cho nút nhấn. |
| 3 | PD3 | PWM trên timer 2, 490 Hz. INT1: attachInterrupt. | tone() chiếm timer 2 trên bo mạch thật. |
| 4 | PD4 | Digital. | - |
| 5 | PD5 | PWM trên timer 0, 976 Hz. | Timer 0 cũng chạy millis(). |
| 6 | PD6 | PWM trên timer 0, 976 Hz. | Timer 0 cũng chạy millis(). |
| 7 | PD7 | Digital. | - |
| 8 | PB0 | Digital. | - |
| 9 | PB1 | PWM trên timer 1, 490 Hz. | Thư viện Servo chiếm timer 1 trên bo mạch thật. |
| 10 | PB2 | PWM trên timer 1, 490 Hz. SPI SS. | Thư viện Servo chiếm timer 1 trên bo mạch thật. |
| 11 | PB3 | PWM trên timer 2, 490 Hz. SPI MOSI, cũng nằm trên header ICSP. | tone() chiếm timer 2 trên bo mạch thật. |
| 12 | PB4 | Chân số. SPI MISO, cũng nằm trên header ICSP. | - |
| VIN | - | Đầu vào nguồn cho mạch ổn áp trên bo mạch, 7 đến 12 V. | Not a GPIO. |
| 5V | - | Đầu ra 5 V từ USB hoặc mạch ổn áp. | Not a GPIO. |
| A7 | ADC7 | Chỉ làm đầu vào analog. | Không đọc hay ghi số được và không có điện trở kéo lên. |
| A6 | ADC6 | Chỉ làm đầu vào analog. | Không đọc hay ghi số được và không có điện trở kéo lên. |
| A5 | PC5 | Analog. Chân số 19. I2C SCL. | Mọi thiết bị I2C đều dùng. |
| A4 | PC4 | Analog. Chân số 18. I2C SDA. | Mọi thiết bị I2C đều dùng. |
| A3 | PC3 | Analog. Chân số 17. | - |
| A2 | PC2 | Analog. Chân số 16. | - |
| A1 | PC1 | Analog. Chân số 15. | - |
| A0 | PC0 | Analog. Chân số 14. | - |
| AREF | - | Đầu vào điện áp tham chiếu analog. | Không phải GPIO. Không bao giờ quá 5 V. |
| 3V3 | - | Một đầu ra 3,3 V nhỏ cho cảm biến. | Không dùng cho động cơ hay servo. |
| 13 | PB5 | Chân số. SPI SCK, cũng nằm trên header ICSP. LED L, sáng khi ở mức HIGH. | LED làm tải lên chân, nên nó là chân input kém. |
Các chân nguồn và giới hạn của chúng
VIN cấp cho mạch ổn áp 5 V trên bo mạch, và Arduino khuyến nghị 7 đến 12 V ở đó. 5V là đường đã ổn áp, từ ổ cắm USB hoặc từ mạch ổn áp, và bạn có thể cấp điện cho bo mạch bằng cách đưa một nguồn 5 V sạch vào đó. 3V3 là một đầu ra 3,3 V nhỏ, đủ cho cảm biến và vô dụng với động cơ. Các lỗ GND là cùng một GND.
Mỗi chân chịu được khoảng 20 mA, và giới hạn tuyệt đối của ATmega328P là 40 mA mỗi chân và 200 mA cho cả chip. Trong Mokxi bo mạch luôn được cấp nguồn từ USB, VIN là đầu vào mà nó bỏ qua, và đường 5 V là nguồn lý tưởng không thể sụt áp, nên một mạch làm sập nguồn Nano thật vẫn chạy trơn tru ở đây.
Các chân PWM và timer của chúng
Chân 3, 5, 6, 9, 10 và 11 làm PWM với analogWrite, và lụa in đánh dấu chúng bằng dấu ngã. Mỗi cặp dùng chung một timer: 5 và 6 là timer 0 ở 976 Hz, 9 và 10 là timer 1, còn 3 và 11 là timer 2, cả hai ở 490 Hz. Mokxi chạy chúng trên cùng các timer ở cùng tốc độ.
Các timer giải thích hai điều hay làm người dùng vấp trên Nano thật. Thư viện Servo chiếm timer 1, nên analogWrite trên 9 và 10 ngừng hoạt động khi có servo được gắn. Và tone() chiếm timer 2, nên buzzer đang chơi một nốt sẽ làm PWM trên 3 và 11 ngừng.
A6 và A7: chỉ analog
Chip của Nano là ATmega328P trong vỏ vuông nhỏ, đưa ra hai kênh bộ chuyển đổi mà chip DIP của Uno không có chân. A6 và A7 chỉ là kênh ADC 6 và 7 chứ không có gì khác: analogRead(A7) chạy được, còn pinMode, digitalRead, digitalWrite và điện trở kéo lên bên trong thì không, trên chip thật cũng như trong Mokxi. Chúng là chỗ tốt để đặt núm xoay, như trong mạch ở trên, và không phải chỗ để đặt nút nhấn.
Mọi chân analog đọc mười bit, 0 đến 1023, so với đường 5 V trừ khi AREF quy định khác. Bộ chuyển đổi của Mokxi không có nhiễu, nên một bộ chia áp đọc ra cùng một giá trị mỗi lần, còn bộ thật dao động một hai đơn vị.
Serial, chip USB, I2C, SPI và header ICSP
Chân 0 và 1 là cổng serial phần cứng, và trên Nano thật chúng đi tới chip USB sang serial, FT232RL trên bản gốc và CH340 trên hầu hết bản nhái. Thứ gì nối vào chúng cũng có thể làm hỏng việc nạp, nên hãy để trống. Mokxi không mô phỏng chip đó: Serial tới thẳng Serial Monitor.
I2C là A4 cho SDA và A5 cho SCL; không có lỗ SDA và SCL riêng. SPI là 10, 11, 12 và 13 cho SS, MOSI, MISO và SCK. Header ICSP sáu chân ở cuối bo mạch mang MISO, SCK, MOSI, RESET, 5V và GND, cùng các tín hiệu SPI, để lập trình trực tiếp chip. Mokxi không vẽ header ICSP thành chân.
Câu hỏi
Nên dùng chân Arduino Nano nào cho nút nhấn?
Chân 2 hoặc 3 nếu bạn muốn dùng ngắt, còn không thì 4, 7, 8 hoặc 12 đều được, với `INPUT_PULLUP` và nút nối xuống GND. Không dùng A6 hoặc A7, vì chúng không đọc số được, và không dùng 13, vì LED kéo nó xuống.
Những chân Nano nào là PWM?
Chân 3, 5, 6, 9, 10 và 11, sáu chân có dấu ngã. 5 và 6 chạy ở 976 Hz còn bốn chân kia ở 490 Hz.
Chân I2C của Arduino Nano là gì?
A4 là SDA và A5 là SCL. `Wire.begin()` dùng chúng, và đó cũng là hai chân giống như trên Uno.
Tôi có thể cấp điện áp bao nhiêu vào chân VIN của Nano?
Arduino khuyến nghị 7 đến 12 V. Thấp hơn thì mạch ổn áp không tạo được 5 V ổn định, cao hơn thì mạch ổn áp nóng lên. Pin 9 V dùng được; USB thì dễ hơn.
Những chân nào là chân SPI của Nano?
SS là 10, MOSI là 11, MISO là 12 và SCK là 13. Ba chân sau cũng nằm trên header ICSP.
Nên dùng chân Nano nào cho servo?
Chân 9 là lựa chọn thông thường. Thư viện Servo điều khiển được mọi chân số, và trên Nano thật nó chiếm timer 1 dù bạn chọn chân nào, đó là điều làm PWM trên 9 và 10 ngừng.
Tôi có dùng A6 và A7 làm chân số được không?
Không. Trên chip, phía sau chúng không có mạch số. Hãy đọc chúng bằng `analogRead` và so sánh con số, nếu bắt buộc, như `analogRead(A6) > 512`.
Tiếp tục nào
Thông tin trên trang này lấy từ đâu
Lắp mạch này ngoài đời
Mở trình soạn thảo, đổi một giá trị và xem con số thay đổi theo. Không cần cài gì, không cần tài khoản.