- Giá trị: biến số (variable) và hằng số (constant) (hằng, biến số, kiểu dữ liệu...)
- Cấu trúc (structure) cấu trúc tuần tự (if, for, while,..), phép toán, toán tử,...
- Hàm và thủ tục (function)
Ở phần 1 và 2 hoàn toàn là ngôn ngữ C nên các bạn tham khảo các bài viết về ngôn ngữ C tại Serial về lập trình C. Chỉ riêng phần 3 là Hàm và thủ tục là các hàm dành riêng cho ngôn ngữ lập trình trên Arduino nên các bạn chỉ cần học them phần này sẽ lập trình được. Lưu ý những hàm giới thiệu bên dưới là những gì cơ bản nhất.
==========================================================================
1. Nhập xuất Digital (Digital I/O)
1.1 pinMode()
Giới thiệu
Cấu hình 1 pin quy định hoạt động như là một đầu vào (INPUT) hoặc đầu ra (OUTPUT). Xem mô tả kỹ thuật số (datasheet) để biết chi tiết về các chức năng của các chân.
Như trong phiên bản Arduino 1.0.1, nó có thể kích hoạt các điện trở pullup nội bộ với chế độ INPUT_PULLUP. Ngoài ra, chế độ INPUT vô hiệu hóa một cách rõ ràng điện trở pullups nội bộ.
Cú pháp
pinMode(pin, mode)
Thông số
pin: Số của chân digital mà bạn muốn thiết đặtmode: INPUT, INPUT_PULLUP hoặc OUTPUT
Trả về
khôngVí dụ
int ledPin = 13; // đèn LED được kết nối với chân digital 13
void setup()
{
pinMode(ledPin, OUTPUT); // thiết đặt chân ledPin là OUTPUT
}
void loop()
{
digitalWrite(ledPin, HIGH); // bật đèn led
delay(1000); // dừng trong 1 giây
digitalWrite(ledPin, LOW); // tắt đèn led
delay(1000); // dừng trong 1 giây
}
Ghi chú
Các chân Analog cũng có thể được sử dụng dưới dạng Digital I/O. Ví dụ: A0, A1, ...1.2 digitalWrite()
Giới thiệu
Xuất tín hiệu ra các chân digital, có 2 giá trị là HIGH hoặc là LOW
Nếu một pin được thiết đặt là OUTPUT bởi pinMode(). Và bạn dùng digitalWrite để xuất tín hiệu thì điện thế tại chân này sẽ là 5V (hoặc là 3,3 V trên mạch 3,3 V) nếu được xuất tín hiệu là HIGH, và 0V nếu được xuất tín hiệu là LOW.
Nếu một pin được thiết đặt là INPUT bởi pinMode(). Lúc này digitalWrite sẽ bật (HIGH) hoặc tắt (LOW) hệ thống điện trở pullup nội bộ. Chúng tôi khuyên bạn nên dùng INPUT_PULLUP nếu muốn bật hệ thống điện trở pullup nội bộ.
Cú pháp
digitalWrite(pin,value)
Thông số
pin: Số của chân digital mà bạn muốn thiết đặtvalue: HIGH hoặc LOW
Trả về
khôngVí dụ
int ledPin = 13; // đèn LED được kết nối với chân digital 13 void setup() { pinMode(ledPin, OUTPUT); // thiết đặt chân ledPin là OUTPUT } void loop() { digitalWrite(ledPin, HIGH); // bật đèn led delay(1000); // dừng trong 1 giây digitalWrite(ledPin, LOW); // tắt đèn led delay(1000); // dừng trong 1 giây }
1.3 digitalRead()
Giới thiệu
Đọc tín hiệu điện từ một chân digital (được thiết đặt là INPUT). Trả về 2 giá trị HIGH hoặc LOW.Cú pháp
digitalRead(pin)
Thông số
pin: giá trị của digital muốn đọcTrả về
HIGH hoặc LOWVí dụ
Ví dụ này sẽ làm cho đèn led tại pin 13 nhận giá trị như giá trị tại pin 2int ledPin = 13; // chân led 13 int inPin = 2; // button tại chân 2 int val = 0; // biến "val" dùng để lưu tín hiệu từ digitalRead void setup() { pinMode(ledPin, OUTPUT); // đặt pin digital 13 là output pinMode(inPin, INPUT); // đặt pin digital 2 là input } void loop() { val = digitalRead(inPin); // đọc tín hiệu từ digital2 digitalWrite(ledPin, val); // thay đổi giá trị của đèn LED là giá trị của digital 2 }
Chú ý
Nếu chân input không được kết nối với bất kỳ một thứ gì thì hàm digitalRead() sẽ trả về tín hiệu HIGH hoặc LOW một cách "hên xui"
Các chân Analog cũng có thể dùng được digitalRead với các cổng pin có tên như là: A0, A1,...