Nạp bootloader cho vi điều khiển trên Arduino

1. Tại sao ta cần bootloader ?

Bootloader là một chương trình nhỏ được nạp sẵn vào chip vi điều (VĐK) khiển trên Arduino. Bạn lập trình cho Arduino một cách dễ dàng được là nhờ thứ này. Nếu không có bootloader, bạn sẽ không thể upload chương trình lên vi điều khiển trên Arduino theo cách thông thường được, mà phải cần một số phần cứng khác hỗ trợ (gọi là Programmer)

Trên thực tế, vi điều khiển trên mạch Arduino đã có sẵn bootloader rồi nên bạn không cần thao tác gì cả. Tuy nhiên, với một số trường hợp cần nạp bootloader, bạn sẽ cần đọc bài viết này để biết cách thực hiện.

2. Nối dây

Bạn hãy nối dây trước theo sơ đồ sau (minh họa giữa 2 mạch Arduino sử dụng vi điều khiển ATmega328)

Bạn nên chú ý mạch Arduino của mình sử dụng vi điều khiển nào để nối dây cho đúng. 

Arduino có bootloader

Arduino chưa có bootloader

(ATmega328/168/8)

Arduino chưa có bootloader

(ATmega32u4)

Arduino chưa có bootloader

(ATmega1280/2560)

GND GND GND GND
5V 5V 5V 5V
D10 (SS) RESET RESET RESET
D11 (MOSI) D11 (MOSI) D16 (MOSI)  D51 (MOSI)
D12 (MISO) D12 (MISO) D14 (MISO) D50 (MISO)
D13 (SCK) D13 (SCK) D15 (SCK) D52 (SCK)

3. Tiến hành thực hiện

Bước 1: Mở Arduino IDE

Bước 2: Mở chương trình mẫu Arduino ISP

Bước 3: Nạp chương trình mẫu Arduino ISP lên mạch Arduino đang có bootloader

  • Vào menu Tools -> Boards để chọn mạch Arduino đang có bootloader
  • Vào menu Tools -> Serial Port để chọn cổng Serial đang sử dụng
  • Vào menu Tools -> Programmer chọn AVR ISP
  • Bấm Ctrl + U để upload chương trình

Bước 4: Nạp bootloader

  • Vào menu Tool -> Boards để chọn mạch Arduino cần được nạp bootloader
  • Vào menu Tool -> Programmer chọn Arduino as ISP
  • Vào menu Tools chọn Burn Bootloader
  • ... bạn hãy đợi một lát là xong.

Sau khi nạp bootloader xong, bạn sẽ thấy đèn LED 13 trên cả 2 mạch Arduino nhấp nháy báo hiệu bootloader đã được nạp thành công.

lên
18 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

analogWrite()

analogWrite() là lệnh xuất ra từ một chân trên mạch Arduino một mức tín hiệu analog (phát xung PWM). Người ta thường điều khiển mức sáng tối của đèn LED hay hướng quay của động cơ servo bằng cách phát xung PWM như thế này.

lên
31 thành viên đã đánh giá bài viết này hữu ích.

Cài đặt driver và Arduino IDE

Để lập trình được cho các board Arduino, các bạn cần phải có một công cụ gọi là Intergrated Development Environment (IDE). Công cụ này được đội ngũ kĩ sư của Arduino phát triển và có thể chạy trên Windows , MAC OS X và Linux. Ở đây mình sẽ hướng dẫn các bạn cài đặt nó trên Windows. Các bạn cũng làm tương tự các bước này cho các nền tảng khác

lên
145 thành viên đã đánh giá bài viết này hữu ích.