Giỏ hàng hiện tại chưa có sản phẩm nào!
Giỏ hàng hiện tại chưa có sản phẩm nào!
Hàm điều kiện if trong lập trình Arduino là một trong những hàm quan trọng. Bất kỳ một điều kiện rẽ nhánh nào chúng ta cũng cần phải sử dụng hàm if. Bản chất hàm if được sử dụng để xét điều kiện của một biến. Trong các ứng dụng để xác định trạng thái của biến để điều khiển chức năng các chân của Arduino thì cần phải sử dụng hàm if. Chẳn hạn như xác định nút nhấn có được nhấn hay không. Hay kiểm tra điều kiện của cảm biến từ đó điều khiển các chức năng I/O của chân digital và analog.
Để thực hiện được chức năng của hàm điều kiện if trong lập trình Arduino, các bạn cần phải biết được các phép toán và các toán tử logic trong lập trình arduino.
NỘI DUNG BÀI VIẾT
|
1. CÁC PHÉP TOÁN SỐ HỌC TRONG LẬP TRÌNH ARDUINO
Kết quả các phép toán sẽ được lưu vào các biến của phép toán.
2. CÁC PHÉP TOÁN SO SÁNH TRONG LẬP TRÌNH ARDUINO
Kết quả của các phép toán so sánh sẽ trả về true (0) hoặc false (1).
3. CÁC PHÉP TOÁN LOGIC TRONG LẬP TRÌNH ARDUINO
Kết quả của các phép toán logic sẽ trả về True (0) hoặc false (1) giống như các phép toán so sánh. Tuy nhiên, khi sử dụng phép toán logic sẽ xét được đồng thời nhiều điều kiện.
4. CẤU TRÚC HÀM IF TRONG LẬP TRÌNH ARDUINO
Cú pháp:
if (<Biểu thức điều kiện >) { Khối lệnh ; }
Ý nghĩa: Nếu biểu thức điều kiện đúng chương trình sẽ thực hiện khối lệnh, còn nếu biểu thức điều kiện trả về kết quả sai thì chương trình sẽ bỏ qua khối lệnh này và thực hiện các lệnh tiếp theo bên ngoài hàm if.
Lưu ý: Biểu thức điều kiện có thể là 1 điều kiện hoặc nhiều điều kiện, nếu nhiểu điều kiện thì cần phải sử dụng hàm logic để kết hợp các điều kiện.
Cú pháp:
if (<Biểu thức điều kiện >) { Khối lệnh 1; } else { Khối lệnh 2; }
Ý nghĩa: Nếu biểu thức điều kiện trả về kết quả đúng thì chương trình sẽ thực hiện khối lệnh 1, còn nếu chương trình trả về kết quả sai thì chương trình thực hiện khối lệnh 2.
Lưu ý: Biểu thức điều kiện có thể là 1 điều kiện hoặc nhiều điều kiện, nếu nhiểu điều kiện thì cần phải sử dụng hàm logic để kết hợp các điều kiện.
Cú pháp:
if (<Biểu thức điều kiện 1>) { Khối lệnh 1; } else if (<Biểu thức điều kiện 2>) { Khối lệnh 2; } else if (<Biểu thức điều kiện n>) { Khối lệnh n; } else { Khối lệnh n+1; }
Ý nghĩa: Nếu biểu thức điều kiện 1 trả về giá trị đúng thì chương trình thực hiện khối lệnh 1 sau đó kết thúc if, ngược lại nếu biểu thức điều kiện 1 sai thì chương trình sẽ kiểm tra biểu thức điều kiện 2. Nếu biểu thức điều kiện 2 mà đúng thì chương trình thực hiện khối lệnh 2, ngược lại nếu biểu thức điều kiện 2 sai thì chương trình sẽ kiểm tra biểu thức điều kiện thứ 3. Cứ như vậy chương trình sẽ kiểm tra tới điều kiện thứ n, và nếu biểu thức điều kiện n vẫn sai thì chương trình sẽ thực hiện khối lệnh n+1.
Lưu ý: Hàm if lồng thì có tính chất ưu tiên nên điều kiện nào có cấp độ ưu tiên cao nhất sẽ được thực hiện trước.
5. ỨNG DỤNG NÚT NHẤN TRONG ARDUINO
Nút nhấn là một đối tượng cơ bản được sử dụng trong mạch điện tử để yêu cầu chương trình thực hiện một chức năng nào đó. Cách thiết kế và nối dây như thế nào để cho arduino có thể biết được trạng thái nút nhấn. Từ đó thực hiện nội dung như mong muốn thì các bạn xem ở bài viết nút nhấn tiếp theo.
Đối với nút nhấn chúng ta có hai cách đấu nối mạch. Hay nói cách khác là chúng ta có 2 dạng mức tích cực. Đó là tích cực mức thấp và tích cực mức cao.
Tích cực mức thấp nghĩa là khi chúng ta chưa nhấn phím thì điện áp tại chân nối với nút nhấn sẽ là 1. Và khi nhấn phím thì điện áp đọc được từ chân tín hiệu là 0. Ngược lại, khi thực hiện nút nhấn với dạng tích cực mức cao, thì khi chưa nhấn tín hiệu đọc được là 0, và khi nhấn thì tín hiệu đọc được là 1.
Ứng với 2 trường hợp sẽ có cách đấu dây khác nhau, tuy nhiên điều cần phải chú ý là dù cách nào đi nữa thì các bạn cần phải có điện trở để tránh tình trạng ngắn mạch khi nhấn phím.
Sơ đồ mạch
Giả sử chúng ta đang sử dụng nút nhấn với tín hiệu tích cực mức cao. Và chân tín hiệu của nút nhấn là chân số 2 thì chúng ta thực hiện code như sau:
int LED = 12; int BUT = 2; int nhannut; string TrangThai = "Tat"; void setup() { pinMode(LED, OUTPUT); pinMode(BUT, INPUT_PULLUP); } void loop() { nhannut = digitalRead(BUT); if (nhannut == 0) //Kiểm tra có nhấn nút hay không { if (TrangThai == "Tat") //Kiểm tra trạng thái của đèn { digitalWrite(LED, HIGH); delay(500); TrangThai = "Sang"; } else { digitalWrite(LED, LOW); delay(500); TrangThai = "Tat"; } } }
Như vậy, nếu có nhấn nút thì tín hiệu đọc được tại chân số 2 của Arduino là 0. Và tín hiệu đó sẽ kết hợp với trạng thái bóng đèn led đang sáng hay tắt. Nếu led đang tắt thì khi nhấn nút, led sẽ sáng và nếu bóng đèn led đang sáng thì nhấn nút đèn sẽ tắt.
Để lại một bình luận