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ả

Bài 4: Đọc điện áp điều chỉnh bởi biến trở

Bài ví dụ này sẽ giới thiệu cho các bạn cách đọc giá trị của một biến trở. Biến trở chỉ đơn giản chỉ là một điện trở có thể thay đổi được trị số. Mạch Arduino không đọc điện trở này mà đọc điện áp do biến trở tạo ra. Một vài IC cũng sử dụng mức điện áp để biểu thị thông tin tương tự như biến trở.

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

Bài 6: Sử dụng Terminal trên Intel Galileo

Điều làm nên sự độc đáo của Intel Galileo đó có cả một hệ điều hành Linux chạy ngầm trong hệ thống, trong khi Galileo lại có thể hoạt động như một mạch Arduino thông thường. Bạn có thể tương tác với hệ điều hành này thông qua Terminal, chạy các câu lệnh qua giao diện dòng lệnh kiểu như MS-DOS. So sánh với việc tải các chương trình Arduino lên bo mạch, việc giap tiếp qua giao diện dòng lệnh là một công việc đòi hỏi nhiều kiến thức và kĩ năng hơn, tuy nhiên nó lại là một nơi tốt để bạn khởi đầu và có thể nhanh chóng tiến bộ hơn.

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