Các lệnh hữu ích trong code Arduino được tổng hợp dưới đây sẽ giúp bạn nắm khái quát về các hàm, các lệnh, các biến khi lập trình Arduino. Hãy cùng theo dõi để xem bạn đã nắm được bao nhiêu lệnh trong đây nhé.
1. Thanh công cụ trong Arduino IDE
Verify | Quét code và báo cáo bất kỳ lỗi nào |
Upload | Biên dịch code và upload nó lên bo mạch Arduino qua USB |
New | Mở một Arduino sketch trống (chương trình viết bởi Arduino IDE) |
Open | Mở danh sách các sketch đã lưu trong trình duyệt file |
Save | Lưu sketch hiện tại |
Serial Monitor | Mở Serial Monitor trong một cửa sổ mới |
2. Các lệnh hữu ích trong code Arduino
Ngay bắt đầu sử dụng Arduino IDE, bạn sẽ bắt gặp 2 các lệnh đầu tiên là setup() và loop(). Đây là hai ví dụ duy nhất về sketch mà bạn tìm thấy trong hầu hết tất cả các code Arduino.
Hai ví dụ duy nhất về sketch mà bạn tìm thấy trong hầu hết tất cả các code Arduino
-
Setup()
Setup(): Mỗi khi sketch bắt đầu, lệnh setup sẽ giúp bạn khởi tạo các biến và bắt đầu sử dụng các thư viện.
Tham khảo ví dụ về đèn LED kỹ thuật số nhấp nháy không có độ trễ trong bài cài đặt Arduino IDE.
void setup() {
// đặt pin kỹ thuật số làm output:
pinMode(ledPin, OUTPUT);
}
-
Loop()
Loop(): Một vòng lặp theo sau setup và thực sự là trái tim của chương trình, khiến nó phản hồi vô hạn với bất kỳ logic nào.
Ví dụ, đoạn code trên là ví dụ về đèn LED nhấp nháy vô hạn, không có độ trễ.
void loop() {
// đây là nơi bạn đặt code cần chạy mọi lúc.
// kiểm tra xem đã đến lúc nhấp nháy đèn LED chưa…
}
Sau khi làm quen với các sketch, bạn cần biết những lệnh điều khiển. Những lệnh quan trọng nhất là:
-
Break
Nếu bạn muốn thoát khỏi một lệnh, bạn cần nhấn break.
if (sens > threshold) {
// bail out on sensor detect x = 0; break;
}
-
If or else
If or else: Các lệnh logic khởi tạo một hành động mỗi khi một điều kiện được thỏa mãn. Một lần nữa, hãy quay lại ví dụ về đèn LED kỹ thuật số nhấp nháy. Ghi nhớ lệnh loop() trong đó code phải chạy vô hạn.
Các lệnh điều khiển hữu ích khác có thể cung cấp logic nhất định. Những lệnh bạn có thể sử dụng bao gồm:
- return: Trả về một giá trị nhất định.
- while: Một vòng lặp khác diễn ra liên tục trong một điều kiện nhất định. Ví dụ:
- while (dist <3 cm) do something repetitive 200 times)
- goto: Đúng như tên gọi của nó, lệnh này cho phép bạn đi đến một dòng nhất định trong code.
3. Các phép toán hợp nhất
++ (cộng thêm 1 đơn vị)
— (trừ đi 1 đơn vị)
+= (phép rút gọn của phép cộng)
-= (phép rút gọn của phép trừ)
*= (phép rút gọn của phép nhân)
/= (phép rút gọn của phép chia)
4. Các hằng số quan trọng
Trong một số trường hợp, bạn cần đưa ra một vài biến để xử lý những phép toán logic khác nhau.
Những hằng số quan trọng là:
-
HIGH|LOW
HIGH|LOW: Điều này mang lại giá trị cuối cùng cao và thấp cho các hằng số.
// Các biến sẽ thay đổi:
int ledState = LOW;
-
LED_BUILTIN
LED_BUILTIN: Đưa ra số lượng chân LED (LED pin). Trong ví dụ trên về đèn LED nhấp nháy trên Uno, số chân LED là 13.
Các biến quan trọng khác cần nhớ bao gồm True/false, sizeof(), void, int và string. Chúng cũng giống như bất kỳ chương trình thông thường nào khác bao gồm Python, C++, v.v…
5. Các hàm toán học
- min(i, j): Trả về giá trị thấp nhất trong hai giá trị i và j
- max(i, j): Trả về giá trị cao nhất trong hai giá trị i và j
- abs(i): Trả về giá trị tuyệt đối của i
- sin(angle): Trả về sin của một góc tính bằng radian
- cos(angle): Trả về cosin của một góc tính bằng radian
- tan(angle): Trả về tang của một góc tính bằng radian
- sqrt(i): Trả về căn bậc hai của i
- pow(cơ số, số mũ): Tính lũy thừa bậc (số mũ) của (cơ số). Ví dụ: pow (2, 3) == 8
- constrain(i, minval, maxval): Ràng buộc giá trị i giữa minval (giá trị nhỏ nhất) và maxval (giá trị lớn nhất)
- map (val, fromL, fromH, toL, toH): Chuyển đổi val từ phạm vi này sang phạm vi khác
- random(i): Trả về một số nguyên dài ngẫu nhiên nhỏ hơn i
- random(i, j): Trả về một số nguyên dài ngẫu nhiên giữa i và j
- randomSeed(k): Sử dụng giá trị k để seed hàm random()
6. Giao tiếp nối tiếp (serial communication)
- Serial.begin(speed): Bắt đầu giao tiếp nối tiếp ở tốc độ xác định
- Serial.end(): Kết nối giao tiếp nối tiếp
- Serial.print(DATA): Xuất DATA vào cổng nối tiếp. DATA có thể là ký tự, chuỗi, số nguyên và số thực dấu phẩy động (floating point number)
- Serial.available(): Trả về số ký tự có sẵn để đọc trong bộ đệm nối tiếp
- Serial.read(): Đọc ký tự đầu tiên trong bộ đệm nối tiếp (trả về -1 nếu không có dữ liệu)
- Serial.write(DATA): Ghi DATA vào bộ đệm nối tiếp. DATA có thể là một ký tự, số nguyên hoặc array (mảng)
- Serial.flush(): Xóa bộ đệm nối tiếp sau khi giao tiếp chiều đi hoàn tất
>>> Xem thêm: Cấu trúc của một chương trình Arduino? Các bước lập trình