Khác biệt giữa các bản “Lập trình Arduino”
(→setup()) |
|||
Dòng 12: | Dòng 12: | ||
=== setup() === | === setup() === | ||
− | Hàm setup() được gọi khi chương trình bắt đầu. Thường dùng để | + | Hàm setup() được gọi khi chương trình bắt đầu. Thường dùng để khởi tạo giá trị ban đầu cho biến, cài đặt chế độ hoạt động của các chân, khởi động việc sử dụng thư viện... Hàm setup() sẽ chỉ được gọi duy nhất một lần, ngay sau khi bật nguồn hoặc reset bo Arduino. |
=== loop() === | === loop() === |
Phiên bản lúc 10:04, ngày 15 tháng 6 năm 2014
Bài này là một tham khảo cho người viết chương trình trên Arduino. Bạn có thể tham khảo thêm Bắt đầu với Arduino, Tham khảo lập trình Arduino
Bài viết này đang được phát triển hoặc chỉnh sửa lớn. |
Mục lục
Cấu trúc cơ bản
Mô tả
Cấu trúc cơ bản của một chương trình Arduino gồm hai hàm chính setup() và loop(). Hai hàm này là bắt buộc đối với một chương trình Arduino.
setup()
Hàm setup() được gọi khi chương trình bắt đầu. Thường dùng để khởi tạo giá trị ban đầu cho biến, cài đặt chế độ hoạt động của các chân, khởi động việc sử dụng thư viện... Hàm setup() sẽ chỉ được gọi duy nhất một lần, ngay sau khi bật nguồn hoặc reset bo Arduino.
loop()
Sau khi thực hiện xong hàm setup(), hàm loop() sẽ được gọi để thực hiện và sẽ được gọi lặp đi lặp lại liên tục cho đến khi nào tắt hệ thống. Thường thì trong hàm loop() sẽ là chương trình chính, các công việc mà bạn muốn hệ thống Arduino của mình thực hiện.
Cách viết
Một chương trình Arduino với hai hàm setup() và loop() sẽ được viết như sau:
void setup() {
// code khởi tạo sẽ được viết ở đây
}
void loop() {
// code phần công việc mà bạn muốn board Arduino của mình thực hiện sẽ viết ở đây
} |
Chương trình Blink
Chương trình Blink Led là một dạng chương trình "Hello World" rất cơ bản và hữu dụng trong lập trình.
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
} |
Chương trình giao tiếp với máy tính
Arduino có một điểm vô cùng lợi hại là đã kết hợp cổng nạp và giao tiếp trong một, nghĩa là sau khi nạp xong ta có thể ngay lập tức giao tiếp với bo để lấy thông tin Để giao tiếp với máy tính thì đơn giản bạn sử dụng class Serial có sẵn của Arduino:
_ Khởi tạo trong setup:
// Hàm setup chỉ chạy một lần khi bắt đầu khởi động lại
void setup() {
Serial.begin(9600); //Initialize Serial port with baud is 9600
} |
_ Sau đó có thể đọc và truyền dữ liệu từ cổng Serial một cách tuần tự:
void loop() {
if(Serial.available()){ //Check if have data in Serial Buffer
char inMess = Serial.read();//Read data from Serial port
Serial.println(inMess);// Print to Serial port when you want send data to computer
}
delay(100); // wait for a little
} |
Như vậy nếu bạn khéo léo kết hợp thì có thể dùng bàn phím truyền lệnh xuống như kiểu nút nhấn làm cho Arduino có thể lên tới hàng trăm lệnh điều khiển