Lập trình Arduino – hướng dẫn tự học lập trình Arduino.

Trong bài viết này, chúng ta sẽ tìm hiểu về lập trình Arduino và cách học nó một cách tự nhiên và hiệu quả.

Arduino là gì?

Để hiểu về Arduino, trước tiên chúng ta cần tìm hiểu về khái niệm chuỗi. Chuỗi đơn giản là một mảng ký tự kết thúc bằng null (ký tự ”), thể hiện việc kết thúc một chuỗi. Ví dụ, để khai báo một chuỗi là “Việt Nam”, bạn có thể sử dụng cú pháp sau:

char ch[] = "Việt Nam";

Arduino cung cấp một kiểu dữ liệu mới gọi là String, có tính năng mở rộng so với chuỗi thông thường. Một ưu điểm duy nhất của String so với chuỗi là nó có thể tự động tạo và quản lý bộ nhớ cho chuỗi. Tuy nhiên, điều này đồng nghĩa với việc sử dụng nhiều tài nguyên hơn so với việc sử dụng chuỗi thông thường.

Cách tạo một String

Để tạo một String, bạn có thể làm như sau:

String str; // Tạo một String rỗng.
String str("Việt Nam"); // Tạo một String với nội dung là "Việt Nam".

Ngoài ra, bạn cũng có thể tạo một String từ số nguyên hoặc số thực:

String str(123); // Tạo String từ số nguyên 123.
String str(123, HEX); // Chuyển số 123 sang hệ hex và tạo String từ nội dung đó ("7b").
String str(123, BIN); // Chuyển số 123 sang hệ bin và tạo String từ nội dung đó ("1111011").
String str(123.456789, 4); // Tạo String từ số thực 123.456789 với 4 chữ số sau dấu phẩy ("123.4568").

Một số thao tác trên String

charAt()

Hàm charAt() được sử dụng để lấy ký tự tại vị trí chỉ định trong String. Ví dụ:

String("Việt Nam").charAt(3); // Trả về ký tự 't'.

compareTo()

Hàm compareTo() dùng để so sánh hai String với nhau. Nó trả về hiệu giá trị của hai chuỗi. Ví dụ:

String("Việt Nam").compareTo("Việt Nam"); // Trả về giá trị 0.
String("Việt Nam").compareTo("ViệtaNam"); // Trả về giá trị khác 0.

concat()

Hàm concat() được sử dụng để nối hai String với nhau. Ví dụ:

String ch("Việt Nam");
ch.concat(" vo dich"); // ch lúc này có nội dung "Việt Nam vo dich".

c_str()

Hàm c_str() dùng để chuyển String thành chuỗi (mảng ký tự). Nó thường được sử dụng để tương thích với một số hàm không hỗ trợ String hoặc khi không cần những chức năng phức tạp của String. Ví dụ:

String str("Việt Nam");
char *ch;
ch = str.c_str(); // ch lúc này trỏ đến buffer của str.
ch[4] = 'a'; // Thay đổi giá trị tại vị trí 4 của ch sẽ tác động đến str ("Việt Nam" -> "Viet Nam").

startsWith()

Hàm startsWith() được sử dụng để kiểm tra xem String có bắt đầu bằng một chuỗi con nhất định hay không. Ví dụ:

String("Việt Nam").startsWith("Vi"); // Trả về true.
String("Việt Nam").startsWith("iet"); // Trả về false.

endsWith()

Hàm endsWith() được sử dụng để kiểm tra xem String có kết thúc bằng một chuỗi con nhất định hay không. Ví dụ:

String("Việt Nam").endsWith("Nam"); // Trả về true.
String("Việt Nam").endsWith("Na"); // Trả về false.

equals()

Hàm equals() được sử dụng để so sánh hai chuỗi với nhau. Nó phân biệt chữ hoa và chữ thường. Ví dụ:

String("Việt Nam").equals("viet nam"); // Trả về false.
String("Việt Nam").equals("Việt Nam"); // Trả về true.

equalsIgnoreCase()

Hàm equalsIgnoreCase() được sử dụng để so sánh hai chuỗi với nhau. Nó không phân biệt chữ hoa và chữ thường. Ví dụ:

String("Việt Nam").equalsIgnoreCase("viet nam"); // Trả về true.
String("Việt Nam").equalsIgnoreCase("Việt Nam"); // Trả về true.

getBytes()

Hàm getBytes() được sử dụng để sao chép dữ liệu của String vào một mảng ký tự. Ví dụ:

char ch[100];
String str("Việt Nam");
str.getBytes(ch, 3); // ch lúc này bao gồm ký tự 'V', 'i' và '' (null).
ch[1] = 'N'; // Thay đổi giá trị tại vị trí 1 của ch sẽ không tác động đến str ("Việt Nam" -> "Viet Nam").

indexOf()

Hàm indexOf() được sử dụng để tìm vị trí đầu tiên của một ký tự hoặc một chuỗi trong String. Ví dụ:

String("Viet Nam").indexOf('m'); // Trả về số 4.
String("Viet Nam").indexOf("etm"); // Trả về số 2.

lastIndexOf()

Hàm lastIndexOf() được sử dụng để tìm vị trí cuối cùng của một ký tự hoặc một chuỗi trong String. Ví dụ:

String("Viet Nam").lastIndexOf('m'); // Trả về số 8.
String("Viet Nam").lastIndexOf("etm"); // Trả về số 2.

length()

Hàm length() được sử dụng để lấy chiều dài của String. Ví dụ:

String("Viet Nam").length(); // Trả về số 8.

remove()

Hàm remove() được sử dụng để loại bỏ một phần của String. Ví dụ:

String tmp("Viet Nam");
tmp.remove(2); // Lúc này nội dung của tmp là "Vi".

replace()

Hàm replace() được sử dụng để thay thế một phần của String bằng một chuỗi mới. Ví dụ:

String tmp("Viet Nam");
tmp.replace("iet", "IET"); // Lúc này nội dung của tmp là "VIET Nam".

reserve()

Hàm reserve() được sử dụng để cấp phát trước một vùng nhớ cho String. Việc này đảm bảo rằng việc nối chuỗi hoặc thao tác khác sẽ luôn thành công với kích thước đã cấp phát, nhưng có thể lãng phí tài nguyên nếu không sử dụng hết kích thước đã cấp phát. Hàm này không quan trọng với các ứng dụng cơ bản.

setCharAt()

Hàm setCharAt() được sử dụng để gán một ký tự vào một vị trí cụ thể trong String. Ví dụ:

String tmp("Viet Nam");
tmp.setCharAt(6, 'a'); // Lúc này nội dung của tmp là "Viet Nam".

substring()

Hàm substring() được sử dụng để trích xuất một phần của String dựa trên vị trí bắt đầu và vị trí kết thúc. Ví dụ:

String tmp("Viet Nam");
String sub = tmp.substring(1, 3); // Lúc này nội dung của sub là "ie".
tmp = "tao lao"; // Nội dung của sub không thay đổi.

toCharArray()

Hàm toCharArray() được sử dụng để chuyển String thành một mảng ký tự. Ví dụ:

String str("Viet Nam");
char ch[100];
str.toCharArray(ch, 3); // Lúc này ch bao gồm ký tự 'V', 'i' và '' (null).
ch[1] = 'N'; // Thay đổi giá trị tại vị trí 1 của ch sẽ không tác động đến str ("Viet Nam" -> "Viet Nam").

toInt()

Hàm toInt() được sử dụng để chuyển String thành số nguyên. Hàm này duyệt từ trái qua phải trong String và chuyển các ký tự thành số đến khi nào gặp ký tự không phải số. Lưu ý là nếu ký tự đầu tiên không phải số, hàm này sẽ trả về 0. Ví dụ:

String str("+123-2Viet Nam123");
str.toInt(); // Trả về số 123.

toFloat()

Hàm toFloat() được sử dụng để chuyển String thành số thực. Hàm này duyệt từ trái qua phải trong String và chuyển các ký tự thành số đến khi nào gặp ký tự không phải số. Số thực trả về có chính xác hai chữ số sau dấu phẩy và sẽ được làm tròn. Lưu ý là nếu ký tự đầu tiên không phải số, hàm này sẽ trả về 0.00. Ví dụ:

String str("+123.456789-2Viet Nam123");
str.toFloat(); // Trả về số 123.46.

toLowerCase()

Hàm toLowerCase() được sử dụng để chuyển tất cả các ký tự trong String thành chữ thường.

toUpperCase()

Hàm toUpperCase() được sử dụng để chuyển tất cả các ký tự trong String thành chữ HOA.

trim()

Hàm trim() được sử dụng để loại bỏ các khoảng trắng ở hai bên của String.

Arduino là một công cụ lập trình mạnh mẽ và mang lại nhiều lợi ích cho việc phát triển ứng dụng điện tử. Hãy truy cập hefc.edu.vn để biết thêm thông tin và cập nhật mới nhất về Arduino.

HEFC – Trường Đại học Công nghệ Điện – Đại học Quốc gia Hà Nội

Related Posts

Glutaraldehyde – Chất Sát Trùng Phổ Rộng

Ngày 03/05/2019 | Đã đọc 32,183 lần | Tác giả: TS. Huỳnh Trường Giang – Khoa Thuỷ sản – Đại học Cần Thơ 1. Glutaraldehyde là gì…

VỐN ĐIỀU LỆ TIẾNG ANH LÀ GÌ?

1. Vốn điều lệ tiếng Anh là gì? Charter là gì? Vốn điều lệ tiếng Anh được dịch là “Charter capital” hoặc có trường hợp khác được…

Thuế khoán là gì? Đối tượng áp dụng và cách tính thế nào?

1. Thuế khoán là gì? Thuế khoán là một loại thuế trọn gói dành cho các hộ kinh doanh và cá nhân kinh doanh. Do mức thuế…

Những điều cần biết về thuốc giảm đau thần kinh pregabalin (Lyrica)

Pregabalin (Lyrica) là gì? Cơ chế hoạt động của thuốc là gì? Cần lưu ý những điều gì khi dùng thuốc? Hãy cùng YouMed phân tích bài…

Mặt trái xoan là gì? Cách nhận biết và tướng số nam nữ

Mặt trái xoan luôn là một hình mẫu mà nhiều người ưu ái, đặc biệt là phụ nữ. Tuy nhiên, có rất nhiều điều thú vị xoay…

CỔNG GIAO DỊCH BẢO HIỂM XÃ HỘI ĐIỆN TỬ

Thông tin về mã bảo hiểm y tế và quyền lợi người tham gia qua các ký tự trên thẻ BHYT được quy định như thế nào?…