Arduino Thẻ nhớ Micro SD
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng thẻ nhớ Micro SD với Arduino. Cụ thể, chúng ta sẽ học:
- Arduino - Cách mở một tệp trên thẻ nhớ Micro SD và tạo nếu chưa tồn tại
- Arduino - Cách ghi dữ liệu vào một tệp trên thẻ nhớ Micro SD
- Arduino - Cách đọc một tệp trên thẻ nhớ Micro SD theo từng ký tự
- Arduino - Cách đọc một tệp trên thẻ nhớ Micro SD theo từng dòng
- Arduino - Cách thêm nội dung vào một tệp hiện có trên thẻ nhớ Micro SD
- Arduino - Cách ghi đè lên một tệp trên thẻ nhớ Micro SD

Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | Micro SD Card | ||
| 1 | × | Micro SD Card Module | ||
| 1 | × | dây jumper | ||
| 1 | × | (Tùy chọn) MicroSD to SD Memory Card Adapter | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về mô-đun thẻ nhớ microSD
Module thẻ Micro SD có thể giao tiếp với Arduino và nó có thể chứa một thẻ Micro SD. Nói cách khác, Module thẻ Micro SD là một cầu nối giữa Arduino và thẻ Micro SD.
Bố trí chân

Mô-đun thẻ nhớ Micro SD gồm 6 chân:
- Chân VCC: kết nối với chân 5V của Arduino.
- Chân GND: kết nối chân này với GND của Arduino.
- Chân MISO: (Master In Slave Out) kết nối chân này với chân MISO của Arduino.
- Chân MOSI: (Master Out Slave In) kết nối chân này với chân MOSI của Arduino.
- Chân SCK: kết nối chân này với chân SCK của Arduino.
- Chân SS: (Slave Select) kết nối chân này với chân được chỉ định trong mã Arduino là một chân SS.
Chuẩn bị
- Kết nối thẻ nhớ Micro SD với PC qua đầu đọc thẻ SD USB 3.0
- Đảm bảo thẻ nhớ Micro SD được định dạng FAT16 hoặc FAT32 (tìm trên Google để biết)
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
※ Lưu ý:
Nếu bạn sử dụng một shield Ethernet hoặc bất kỳ shield nào có khe cắm thẻ Micro SD, bạn sẽ không cần dùng mô-đun thẻ Micro SD. Bạn chỉ cần chèn thẻ Micro SD vào khe cắm thẻ Micro SD trên shield.
Arduino - Cách mở một tập tin trên thẻ nhớ Micro SD và tạo nếu chưa tồn tại
Mã Arduino
Hướng dẫn từng bước
- Chèn thẻ Micro SD vào module thẻ Micro SD
- Thực hiện nối dây giữa module Micro SD và Arduino theo sơ đồ kết nối ở trên
- Kết nối Arduino với PC bằng cáp USB
- Mở Arduino IDE, chọn board và cổng phù hợp
- Mở Serial Monitor trên Arduino IDE
- Sao chép mã dưới đây và dán vào Arduino IDE
- Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino
- Kết quả trên Serial Monitor ở lần chạy đầu tiên
- Kết quả trên Serial Monitor cho các lần chạy tiếp theo.
※ Lưu ý:
Bạn có thể sẽ không thấy đầu ra trên Serial Monitor cho lần chạy đầu tiên của lần tải lên đầu tiên của bạn, được thực hiện trước khi mở Serial Monitor.
- Rút thẻ Micro SD khỏi mô-đun
- Gắn thẻ Micro SD vào đầu đọc thẻ SD USB
- Kết nối đầu đọc thẻ SD USB với máy tính
- Kiểm tra xem tệp tin có tồn tại hay không
Arduino - Cách ghi và đọc dữ liệu vào/ra từ một tệp trên thẻ nhớ Micro SD
Đoạn mã dưới đây thực hiện những gì:
- Ghi dữ liệu vào một tệp tin
- Đọc nội dung của một tệp tin từng ký tự một và in nó ra Serial Monitor
- Serial Monitor hiển thị nội dung của tệp
※ Lưu ý:
Dữ liệu sẽ được thêm vào cuối tập tin theo mặc định. Nếu bạn khởi động lại Arduino bằng mã ở trên, văn bản sẽ được thêm vào tập tin một lần nữa ⇒ Serial Monitor sẽ hiển thị nhiều dòng hơn như dưới đây:
Bạn cũng có thể tháo thẻ Micro SD khỏi module và mở nó trên máy tính của bạn để kiểm tra nội dung (cần một đầu đọc thẻ SD USB).
Arduino - Cách đọc một tệp tin trên thẻ nhớ Micro SD theo từng dòng
- Kết quả trên Serial Monitor
※ Lưu ý:
Bạn có thể thấy nhiều dòng hơn trên Serial Monitor nếu nội dung của tập tin chưa bị xóa trước.
Arduino - Cách ghi đè lên một tệp tin trên thẻ microSD
Theo mặc định, nội dung sẽ được thêm vào cuối tệp. Cách đơn giản nhất để ghi đè lên một tệp là: xóa tệp hiện có và tạo một tệp mới có cùng tên.
- Kết quả trên Serial Monitor
- Khởi động lại Arduino
- Kiểm tra xem nội dung của tập tin trên Serial Monitor có được thêm vào hay không.
Bạn cũng có thể tháo thẻ nhớ Micro SD khỏi mô-đun và mở nó trên máy tính để kiểm tra nội dung (cần đầu đọc thẻ SD USB).
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.