Giới thiệu Arduino Mega 2560
Trước hết, tại sao tại sao chúng ta nên lựa chọn Arduino Mega 2560?
Vì đây là một bo mạch được tích hợp nhiều tính năng nổi bật. Tính năng đầu tiên là thiết kế hệ thống I / O lớn với 16 bộ chuyển đổi tương tự và 54 bộ chuyển đổi digital hỗ trợ UART và các chế độ giao tiếp khác. Thứ hai, Arduino Mega 2560 có sẵn RTC và các tính năng khác như bộ so sánh, timer, ngắt để điều khiển hoạt động, tiết kiệm điện năng và tốc độ nhanh hơn với xung thạch anh16 Mhz.
Các tính năng khác bao gồm hỗ trợ JTAG để lập trình, gỡ lỗi và xử lý sự cố. Với bộ nhớ FLASH lớn và SRAM, bo này có thể xử lý chương trình hệ thống lớn một cách dễ dàng. Nó cũng tương thích với các loại bo mạch khác nhau như tín hiệu mức cao (5V) hoặc tín hiệu mức thấp (3.3V) với chân nạp I / O.
Brownout và watchdog giúp hệ thống đáng tin cậy và mạnh mẽ hơn. Nó hỗ trợ ICSP cũng như lập trình vi điều khiển USB với PC.
Arduino Mega 2560 là một sự thay thế của Arduino Mega cũ. Nó thường được sử dụng cho các dự án rất phức tạp.
Các Đặc Điểm Kỹ Thuật
Arduino Mega |
Tính năng, đặc điểm |
Vi điều khiển |
AVR ATmega 2560 (8bit) |
Nguồn cung cấp |
7-12V (Bộ điều chỉnh sẵn có cho bộ điều khiển) |
Số chân I/O số |
54 |
Số chân I/O tương tự |
16 |
Xung clock |
16 MHz ( nhà sản xuất cài đặt là 1MHz) |
Bộ nhớ flash |
128 KB |
SRAM |
8 KB |
Giao tiếp |
USB (Lập trình với ATmega 8), ICSP (lập trình), SPI, I2C và USART |
Bộ Timer |
2 (8bit) + 4 (16bit) = 6 Timer |
PWM |
12 (2-16 bit) |
ADC |
16 (10 bit) |
USART
|
4
|
Ngắt thay đổi chân
|
24 |
Arduino Mega 2560 cũng được tích hợp các tính năng bổ sung như bộ so sánh, ngắt, chế độ tiết kiệm điện, cảm biến nhiệt độ, RTC và nhiều tính năng khác.
Chân nguồn:
VIN |
Cung cấp điện áp (7-12V) |
GND |
Chân nối đất |
Nguồn 5V |
Đối với nguồn cung cấp thiết bị phần cứng bên ngoài |
Nguồn 3.3V |
Đối với thiết bị phần cứng điện áp thấp bên ngoài |
Sơ đồ chân Arduino Mega
Chân điều khiển:
RESET: Arduino Mega Mega 2560 có sẵn mạch reset với nút ấn để thiết lập lại hệ thống và chân này có thể được sử dụng khi kết nối các thiết bị khác để thiết lập lại bộ điều khiển.
XTAL1, XTAL2: Thạch anh(16Mhz) được kết nối với xung clock cung cấp cho bộ điều khiển.
AREF: Chân này được dùng khi sử dụng ADC để chuyển đổi tín hiệu với điện áp tham chiếu bên ngoài mà không muốn sử dụng điện áp tham chiếu nội bộ 1.1V hoặc 5V.
Các chân Digital (70):
Chân số: Từ 0-53 (số) và 0-15 (tương tự) có thể được sử dụng làm đầu vào hoặc đầu ra cho thiết bị được thiết lập bằng các hàm Mode (), digtalWrite (), digitalRead ().
Ứng dụng:
Thiết bị đầu ra: Relay, LED, buzzer, LCD và các thiết bị khác.
Thiết bị đầu vào: Nút ấn, cảm biến siêu âm, cần điều khiển và các thiết bị khác
Thí dụ:
Đầu ra tín hiệu thấp trên Arduino mega
pinMode (0, OUTPUT);
digitalWrite (0, LOW);
Đầu vào đọc tín hiệu trên Arduino mega
pinMode (0, INPUT);
digitalRead (0);
Chân tương tự (16):
Từ 0-15 (analog) có thể được sử dụng như chân đầu vào tương tự cho bộ ADC, nếu không sử dụng nó hoạt động như chân digital bình thường. Nó được thiết lập bởi các hàm pinMode () khai báo chân, analogRead () để đọc trạng thái chân và nhận giá trị kỹ thuật số cho tín hiệu analog. Lưu ý phải cẩn thận để lựa chọn điện áp tham chiếu bên trong hoặc bên ngoài và chân Aref.
Ứng dụng :
Thiết bị đầu vào: Cảm biến nhiệt độ, cảm biến (như ldr, irled và độ ẩm) và các thiết bị khác
Thí dụ :
pinMode (0, INPUT);
analogRead (0);
Chân có Chức năng thay thế:
Chân SPI: Chân 22-SS, 23_SCK, 24-MOSI, 25-MISO
Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc giữa 2 thiết bị trở lên. SPI cho phép bit phải được thiết lập để bắt đầu giao tiếp với các thiết bị khác.
Ứng dụng: Lập trình điều khiển AVR, giao tiếp với những người khác ngoại vi như LCD và thẻ SD.
Chân I2C:
Chân 20 cho SDA và 21 cho SCK (Tốc độ 400khz) để cho phép liên lạc hai dây với các thiết bị khác. Hàm được sử dụng là wire.begin () để bắt đầu chuyển đổi I2C, với wire.Read () để đọc dữ liệu i2c và wire.Write () để ghi dữ liệu i2c.
Ứng dụng:
Thiết bị đầu ra: LCD và liên lạc giữa nhiều thiết bị với hai dây.
Thiết bị đầu vào: RTC và các thiết bị khác.
Thí dụ:
I2c chỉ đọc dữ liệu
Wire.begin ();
Wire.requestTừ (2, 1); // dữ liệu 1byte
Wire.Read ();
PWM chân :
Chân 2-13 có thể được sử dụng như đầu ra PWM với hàm analogWrite () để ghi giá trị pwm từ 0-255.
Ứng dụng:
Thiết bị đầu ra: Điều khiển tốc độ của động cơ, ánh sáng mờ, pid cho hệ thống điều khiển hiệu quả.
Thí dụ:
Ngõ ra tín hiệu tương tự trên bảng mạch Arduino
pinMode (0, OUTPUT);
analogWrite (0,255);
Chân USART:
Chân 0 - RXD0, chân 1 - TXD0
Chân 19 - RXD1, chân 18 - TXD1
Chân 17 - RXD2, chân 16 - TXD2
Chân 15 - RXD3, chân 14 - TXD3
Chân này được sử dụng cho giao tiếp nối tiếp giữa bo mạch với máy tính hoặc hệ thống khác để chia sẻ và ghi dữ liệu. Nó được sử dụng với hàm serialBegin () để cài đặt tốc độ truyền và bắt đầu truyền thông với serial.Println () để in mảng ký tự (mảng char) ra thiết bị khác.
Ứng dụng:
Bộ điều khiển truyền thông và máy tính
Ví dụ :
Serial.begin (9600);
Serial.Println (“hello”);
Chân ngắt :
Chân digital: 0,22,23,24,25,10,11,12,13,15,14
Chân analog: 6,7,8,9,10,11,12,13,14,15
Chân này được sử dụng để ngắt. Để kích hoạt chân ngắt phải cài đặt bật ngắt toàn cục.
Ứng dụng :
Bộ mã hóa vòng quay, nút bấm dựa trên ngắt và các nút khác.
Thí dụ :
pinMode (0, OUTPUT);
pinMode (1, INPUT_PULLUP);
attachInterrupt (digitalpinToInterrupt (1), LOW, CHANGE);
Chân ngắt phần cứng:
Chân 18 - 21,2,3 ngắt phần cứng được sử dụng cho các ứng dụng ngắt. Ngắt phần cứng phải được bật với tính năng ngắt toàn cục để ngắt quãng từ các thiết bị khác.
Ứng dụng:
Nhấn nút cho chương trình ISR, đánh thức bộ điều khiển bằng thiết bị bên ngoài như cảm biến siêu âm và các thiết bị khác.
Thí dụ:
pinMode (0, OUTPUT);
pinMode (1, INPUT_PULLUP);
attachInterrupt (digitalpinToInterrupt (1), LOW, LOW);
Các phần của Arduino Mega:
Giắc cắm nguồn DC:
Cấp nguồn cho Arduino Mega từ 7-12V qua cổng này. Arduino Mega R3 có bộ điều chỉnh điện áp nguồn cấp 5V và 3.3V cho bộ điều khiển Arduino và bộ cảm biến.
AVR 2560:
Đây là vi điều khiển chính được sử dụng để lập trình và chạy tác vụ cho hệ thống. Đây là bộ não của hệ thống để điều khiển tất cả các thiết bị khác trên mạch.
ATmega8:
Vi điều khiển này được sử dụng để liên lạc giữa bộ điều khiển chính và các thiết bị khác. Bộ điều khiển này được lập trình cho giao tiếp USB và các tính năng lập trình nối tiếp.
ICSP 1 (ATmega8) và 2 (AVR 2560):
Nó có các tính năng của lập trình sử dụng bus nối tiếp với lập trình AVR sử dụng giao tiếp SPI. AVR 2560 được lập trình để chạy hệ thống và ATmega 8 được lập trình để liên lạc và lập trình nối tiếp.
Một số chương trình đơn giản để thử trên Arduino Mega 2560
Chương trình 1: Đèn LED nhấp nháy
/ *Bật đèn LED trong hai giây, sau đó tắt trong hai giây trên chân 13, nhiều lần.
*// chức năng cài đặt chạy một lần khi bạn nhấn đặt lại hoặc bật bảng
void setup () {
// khởi tạo ghim số 13 làm đầu ra.
pinMode (13, OUTPUT);
}
// chức năng vòng lặp chạy lặp đi lặp lại
void loop () {
digitalWrite (13, CAO); // bật đèn LED (HIGH là mức điện áp)
Delay (2000); // chờ hai giây
digitalWrite (13, LOW); // tắt đèn LED
delay (2000); // chờ hai giây
}
Chương trình 2: Ánh sáng Led mờ (PWM):
int brightness = 0; // giá trị pwm
void setup ()
{
pinMode (3, OUTPUT);
}
Void loop ()
{
analogWrite (3, brightness); // pwm viết trên chân 3
brightness ++; // độ sáng được tăng thêm 1
if (brightness <= 0 || brightness > = 255) {
brightness = 0; // độ sáng giới hạn ở 0-255
}
delay (10)
}
Chương trình 3: Analog đọc điện áp (Analog chân với USART):
Void setup ()
{
Serial.begin (9600); // chức năng bắt đầu giao tiếp usart với baudrate được đặt thành 9600
}
Void loop ()
{
int sensorValue = analogRead (A0); // dữ liệu analog chân 0 được đọc và chuyển đổi thành giá trị số được lưu trữ trong sensorValue.
Serial.println (sensorValue); // usart để đầu ra giá trị cảm biến trên màn hình nối tiếp
Hotline: 0979 466 469