Phần này sẽ đưa ra cấu trúc của một chương trình trong Arduino IDE, đồng thời giải thích một số lệnh thường được sử dụng để thuận tiện cho người dùng.

Xét 1 ví dụ đơn giản, ví dụ làm cho led nhấp nháy:

#define led = 13 // khai báo chân led là chân 13

void setup() {

pinMode(led, OUTPUT); //Thiết lập chân led (chân 13) là chân ra (OUTPUT)

}

void loop() {

digitalWrite(led, HIGH); // Ra lệnh mở led

delay(1000); // Mở trong 1s (1000ms), có thể thay đổi giá trị này

digitalWrite(led, LOW); // ra lệnh tắt led

delay(1000); // Tắt trong 1s (1000ms), có thể thay đổi giá trị này

}

Sau đây chúng ta sẽ cùng tìm hiểu cấu trúc của một chương trình trong Arduino IDE qua ví dụ này.

1. Phần 1: Khai báo biến

Đây là phần khai báo kiểu biến trong Arduino IDE, tên các biến, định nghĩa các chân trên board một số kiểu khai báo biến thông dụng:

* #define

Nghĩa của từ define là định nghĩa, hàm #define có tác dụng định nghĩa, hay còn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1 cái tên.

Ví dụ #define led 13

Chú ý: sau #define thì không có dấu “,” (dấy phẩy)

*Khai báo các kiểu biến khác như: int (kiểu số nguyên), float,…

Các bạn có thể tham khảo thêm các kiểu biến cũng như công dụng tại arduino.cc

2. Phần 2: Thiết lập (void setup())

Phần này dùng để thiết lập cho một chương trình Arduino IDE, cần nhớ rõ cấu trúc của nó

void setup()

{
…..
}

Cấu trúc của nó có dấu ngoặc nhọn ở đầu và ở cuối, nếu thiếu phần này khi kiểm tra chương trình thì chương trình sẽ báo lỗi

Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay chân vào. Trong đó:

Serial.begin(9600)Dùng để truyền dữ liệu từ board Arduino lên máy tính
pinMode(bien,kiểu vào hoặc ra);

ví dụ: pinMode(chanD0,INPUT);

Dùng để xác định kiểu chân là vào hay ra

3. Phần 3: Vòng lặp

Dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện các nhiệm vụ mà chúng ta mong muốn, thường bắt đầu bằng:
void loop()
{
……………….
}

Một số câu lệnh, cấu trúc thường gặp

Ký hiệu, câu lệnh

Ý nghĩa Câu lệnh

//Dấu // dùng để giải thích, khi nội dung giải thích nằm trên 1 dòng, khi kiểm tra chương trình thì phần kiểm tra sẽ bỏ qua phần này, không kiểm tra
/*….

….. */

Ký hiệu này cũng dùng để giải thích, nhưng giải thích dành cho 1 đoạn, tức có thể xuống dòng được
#define biến chânDefine nghĩa là định nghĩa, xác định. Câu lệnh này nhằm gán tên 1 biến vào 1 chân nào đó. Ví dụ #define led 13
digitalWrite(chân, trạng thái);Dùng để tắt, mở 1 chân ra. Cú pháp của nó là digitalWrite(chân,trạng thái chân);. Ở đây trạng thái chân có thể là HIGH hoặc LOW. Ví dụ: digital(led,HIGH); , hoặc digital(led,LOW); . Chú dấu chấm phẩy đằng sau câu lệnh.
analogWrite(chân, giá trị);Có ý nghĩa dùng để băm xung (PWM), thường dùng để điều khiển tốc độ động cơ, độ sáng led,
digitalRead(chân);Read nghĩa là đọc, lệnh này dùng để đọc giá trị digital tại chân muốn đọc
analogRead(chân);Read nghĩa là đọc, lệnh này dùng để đọc giá trị analog tại chân muốn đọc
delay(thời gian);Delay nghĩa là chờ, trì hoãn, duy trì. Lệnh này dùng để duy trì trạng thái đang thực hiện chờ một thời gian. Thời gian ở đây được tính bằng mili giây, 1 giây bằng 1 ngàn mili giây
if()

{

Các câu lệnh

}

else ()

{

Các câu lệnh

}

if nghĩa là nếu, sau if là dấu (), bên trong dấu ngoặc là một biểu thứ so sánh. Ví dụ trong bài về cảm biến độ ẩm đất (phần 5) thì:

if (giatriAnalog>500) //nếu giá trị đọc được của biến giatriAnalog lớn hơn 500

{

digitalWrite(Led,HIGH); //Ra lệnh cho led sáng

delay(1000);//chờ 1s

}

else nghĩa là ngược lại

Serial.print()In ra màn hình máy tính, lệnh này in không xuống dòng
Serial.println()In ra màn hình máy tính, in xong xuống dòng, giá trị tiếp theo sẽ được in ở dòng kế tiếp

Hour Of Code Việt Nam