Giới thiệu Arduino Mega 2560

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 = 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

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *