Học

Arduino Uno pinout: every pin on the R3, and the chip pin behind it

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 Uno: một núm xoay ở A0live0.000 s 0.00x
Nhấp để mở trong trình soạn thảo
Một biến trở ở A0 chỉnh độ sáng của LED ở chân PWM 9, in ra giá trị đọc được.

Đây là sơ đồ chân của Arduino Uno R3, bo mạch mà hầu hết bộ kit bán kèm, với một ATmega328P trong đế cắm và một chip thứ hai, ATmega16U2, nằm giữa nó và cổng USB. Mọi lỗ trên hai hàng header của nó đều có trong bảng dưới đây cùng chân chip phía sau, những gì nó làm được và điều cần lưu ý. Sau bảng là các chân nguồn và giới hạn của chúng, các chân PWM và timer phía sau, Serial, I2C, SPI và các header ICSP, và danh sách nên dùng chân nào cho việc gì.

Mạch ở trên là một Uno trong Mokxi với một biến trở ở A0 chỉnh độ sáng LED ở chân 9, in ra giá trị đọc được. 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õ. Uno R4 giữ các lỗ này và đổi chip phía sau chúng; sơ đồ chân của nó có liên kết ở cuối trang.

Mọi chân, kèm chân ATmega328P

Header trên đọc từ trái sang phải là SCL, SDA, AREF, GND, rồi 13 xuống 0. Header dưới đọc là IOREF, RESET, 3V3, 5V, GND, GND, VIN, rồi A0 đến A5. SDA và SCL cạnh AREF là cùng hai đường mạch với A4 và A5, được thêm vào trên R3 để shield tìm thấy I2C ở cùng một chỗ trên mọi bo 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, điều cần biết nếu sketch tự ghi PORTB.

Trong code, chân số là chính các con số đó còn chân analog là A0 đến A5, cũng là chân số 14 đến 19. Nano là cùng chip với cùng các con số, thêm A6 và A7.

Arduino Uno R3: header trên từ trái sang phải, rồi header dưới
ChânChân chipNó làm được gìCần lưu ý
SCLPC5I2C SCL: cùng đường mạch với A5.Mọi thiết bị I2C đều dùng.
SDAPC4I2C SDA: cùng đường mạch với A4.Mọi thiết bị I2C đều dùng.
AREF-Đầu vào điện áp tham chiếu analog.Không phải GPIO. Không bao giờ quá 5 V.
GND-GND. Ba lỗ.-
13PB5Chân số. SPI SCK, cũng nằm trên header ICSP. LED L, sáng khi ở mức HIGH.-
12PB4Chân số. SPI MISO, cũng nằm trên header ICSP.-
11PB3PWM 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.
10PB2PWM trên timer 1, 490 Hz. SPI SS.Thư viện Servo chiếm timer 1 trên bo mạch thật.
9PB1PWM trên timer 1, 490 Hz.Thư viện Servo chiếm timer 1 trên bo mạch thật.
8PB0Digital.-
7PD7Digital.-
6PD6PWM trên timer 0, 976 Hz.Timer 0 cũng chạy millis().
5PD5PWM trên timer 0, 976 Hz.Timer 0 cũng chạy millis().
4PD4Digital.-
3PD3PWM trên timer 2, 490 Hz. INT1: attachInterrupt.tone() chiếm timer 2 trên bo mạch thật.
2PD2Chân số. INT0: attachInterrupt.Một lựa chọn đầu tiên tốt cho nút nhấn.
1PD1TX: 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.
0PD0RX: 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.
IOREF-Báo cho shield biết mức logic của bo mạch: 5 V.Not a GPIO.
RESETPC6Reset: mức thấp khởi động lại chip, giống như nút nhấn.Not a GPIO.
3V3-Một đầu ra 3,3 V nhỏ cho cảm biến, tối đa 50 mA.Không dùng cho động cơ hay servo.
5V-Đầu ra 5 V, từ USB hoặc mạch ổn áp.Not a GPIO.
VIN-Đầu vào nguồn cho mạch ổn áp trên bo mạch, 7 đến 12 V.Mokxi bỏ qua nó; bo mạch được cấp nguồn qua USB.
A0PC0Analog. Chân số 14.-
A1PC1Analog. Chân số 15.-
A2PC2Analog. Chân số 16.-
A3PC3Analog. Chân số 17.-
A4PC4Analog. Chân số 18. I2C SDA.Mọi thiết bị I2C đều dùng.
A5PC5Analog. Chân số 19. I2C SCL.Mọi thiết bị I2C đều dùng.

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, giống như giắc tròn, 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à một nguồn 5 V sạch cấp vào đó cũng cấp điện cho bo mạch. 3V3 đến từ một mạch ổn áp nhỏ riêng, định mức 50 mA, đủ cho cảm biến và vô dụng với động cơ. IOREF báo cho shield mức logic, 5 V trên bo mạch này. Ba lỗ GND là cùng một GND.

Arduino định mức mỗi chân 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 Uno 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 Uno 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.

Serial, chip USB, I2C, SPI và các header ICSP

Chân 0 và 1 là cổng serial phần cứng, và trên Uno thật chúng đi tới ATmega16U2, chip biến chúng thành USB. 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 16U2: Serial tới thẳng Serial Monitor.

I2C là A4 cho SDA và A5 cho SCL, và các lỗ SDA và SCL cạnh AREF mang cùng hai tín hiệu đó. SPI là 10, 11, 12 và 13 cho SS, MOSI, MISO và SCK. Header ICSP sáu chân ở đầu xa của 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 ATmega328P; header ICSP thứ hai, cạnh ổ cắm USB, là của 16U2. Trong Mokxi cả hai bus chạy bằng phần mềm trên các chân của chúng, vì khối I2C và SPI của chip không được mô phỏng, và các header ICSP không được vẽ thành chân.

Ngắt, các chân analog và R4

attachInterrupt hoạt động trên chân 2 và 3, INT0 và INT1, và Mokxi mô phỏng cả hai, cùng ngắt thay đổi chân đứng sau mọi chân khác. 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ị.

Uno R4 Minima và WiFi giữ nguyên mọi lỗ này và đổi thứ nằm phía sau chúng: một Renesas RA4M1, 8 mA mỗi chân thay vì 20, Serial trên ổ cắm USB và Serial1 trên chân 0 và 1. Một shield vừa cả hai bo mạch; một chương trình R3 đã biên dịch chỉ chạy trên R3.

Câu hỏi

Những chân Arduino Uno 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 Uno là gì?

A4 là SDA và A5 là SCL. Các lỗ SDA và SCL cạnh AREF là cùng hai đường mạch, nên shield dùng cái nào cũng được. `Wire.begin()` dùng chúng.

Những chân nào là SPI trên Arduino Uno?

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 Uno 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 0 hoặc 1, vì đó là Serial.

Một chân Arduino Uno cấp được bao nhiêu dòng?

20 mA là mức nên thiết kế theo, và 40 mA là giới hạn tuyệt đối, vượt qua đó chân sẽ hỏng. Cả chip chỉ được phép chịu 200 mA, nên một hàng LED mỗi cái 20 mA sẽ nhanh chóng hết dòng.

Tôi có thể cấp điện áp bao nhiêu vào chân VIN của Uno?

7 đến 12 V, mức Arduino khuyến nghị. Nguồn 9 V dùng được; dưới 7 V mạch ổn áp không tạo được 5 V ổn định, còn trên 12 V thì nó nóng lên.

Tôi có dùng chân analog của Uno làm chân số được không?

Được. A0 đến A5 là chân số 14 đến 19, nên `digitalWrite(A0, HIGH)` chạy được. Uno không có A6 và A7; đó là của Nano.

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.