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

Điều khiển 8 đèn LED qua wifi, sử dụng Arduino và ESP8266

Với mục đích giúp các bạn tiếp cận với các thiết bị IOT gần hơn. Hôm nay mình sẽ hướng dẫn các bạn viết chương trình điều khiển 8 LED qua mạng wifi. Và hơn thế nữa, nếu kết hợp với VPN hoặc mở port thì chúng ta có thể làm hơn thế nữa!

lên
48 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

HIGH

 Trong lập trình trên Arduino, HIGH là một hằng số có giá trị nguyên là 1. Trong điện tử, HIGH là một mức điện áp lớn hơn 0V. Giá trị của HIGH được định nghĩa khác nhau trong các mạch điện khác nhau, nhưng thường được quy ước ở các mức như 1.8V, 2.7V, 3.3V 5V, 12V, ...

HIGH là một hằng số có giá trị nguyên là 1

Xét đoạn code ví dụ sau:

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

Điện trở

Điện trở là một đại lượng vật lí biểu thị đặc tính cản trở dòng điện của một vật có khả năng cho dòng điện chạy qua. Vật nào dẫn điện càng tốt thì điện trở của nó càng nhỏ và ngược lại. Trong kĩ thuật, có một loại linh kiện điện tử thụ động cũng được gọi là điện trở mà khả năng cản trở dòng điện của nó đã được xác định (có định lượng rõ ràng).

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