Bài 7: Cấu trúc điều kiện switch/ case trong lập trình Arduino

    Cấu trúc điều kiện switch/ case trong lập trình arduino giải quyết được những yêu cầu cao hơn của hàm if. Khi các bạn sử dụng hàm if thì tối đa các bạn chỉ sử dụng được 12 biểu thức điều kiện, tương ứng với 13 giá trị trả về. Do đó, nếu với những ứng dụng cần nhiều điều kiện hơn cho 1 biến thì các bạn hãy chọn đến switch/ case. 

    Bài viết này sẽ giúp các bạn hiểu được cấu trúc và các ứng dụng của switch/ case. Từ đó bạn sẽ nhận xét được khi nào sử dụng cấu trúc if hoặc switch/ case phù hợp với ứng dụng của bạn.

  NỘI DUNG BÀI VIẾT  

  • Cú pháp của cấu trúc điều kiện switch/ case
  • Ứng dụng cấu trúc điều kiện switch/ case

  1.  CÚ PHÁP CỦA CẤU TRÚC ĐIỀU KIỆN SWITCH/ CASE  

Cú pháp:

switch (<Biến điều kiện>) {
case <giá trị 1>: khối lệnh 1;
                  break;
case <giá trị 2>: khối lệnh 2;
                  break;
.......
case <giá trị n>: khối lệnh n;
                  break;
default: khối lệnh n+1;
}

Trong đó:

+ Biến điều kiện: có thể là một biểu thức hoặc biến trả về các giá trị điều kiện.

+ Giá trị điều kiện: là giá trị để biểu thức điều kiện so sánh, nếu đúng thì chương trình thực hiện khối lệnh tương ứng.

+ Khối lệnh: là những lệnh thực thi khi chương trình so sánh đúng những giá trị điều kiện.

+ break: là lệnh được sử dụng để thoát ra khỏi cấu trúc switch/ case khi đã thực hiện xong khối lệnh yêu cầu.

+ default: khi tất các các giá trị điều kiện đều không đúng với biểu thức điều kiện thì chương trình sẽ thực hiện các lệnh trong nhóm default. Default có thể có hoặc không có trong chương trình tùy vào mục đính của chương trình mà có sử dụng default hay không.

  2. ỨNG DỤNG CẤU TRÚC ĐIỀU KIỆN SWITCH/ CASE  

    Viết chương trình đọc nút 1 nút nhấn để thực hiện chức năng của máy giặt. Trong đó, khi nhấn nút 1 lần sẽ tiến hành thực hiện chương trình giặt thông thường. Nhấn nút 2 lần sẽ thực hiện chương trình giặt nhẹ. Nhấn nút 3 lần sẽ thực hiện chương trình giặt mạnh. Nhấn nút 4 lần sẽ thực hiện chương trình vắt. Nhấn nút 5 lần sẽ thực hiện chương trình vắt cực khô. Nhấn nút lần thứ 6 sẽ thực hiện chương trình vệ sinh lồng giặt. Nhấn nút lần thứ 7 sẽ quay lại trạng thái giặt thông thường (theo hình thức vòng tròn).

int BUT=12;
int Dem=0, NUTNHAN;

void setup(){
 pinMode(BUT, INPUT_PULLUP);
 Serial.begin(9600);
}

void loop(){
NUTNHAN = digitalRead(BUT);  
  if (NUTNHAN == 0) 
   {
    if (Dem < 7)
      Dem = Dem + 1;
    else
      Dem = 0;
    }

  switch (Dem) 
 { case 1: Serial.println("Giặt thông thường");
           delay(200); 
           break; 
   case 2: Serial.println("Giặt nhẹ"); 
           delay(200);
           break; 
   case 3: Serial.println("Giặt mạnh"); 
           delay(200);
           break; 
   case 4: Serial.println("Vắt");
           delay(200);
           break; 
   case 5: Serial.println("Vắt cực khô"); 
           delay(200);
           break;
   case 6: Serial.println("vệ sinh lồng giặt");
           delay(200);
           break;  
  }
}

     Theo đoạn chương trình trên, tùy theo giá trị trong biến Dem sẽ thực hiện tương ứng các nội dung. Với bài viết hiện tại nhằm giúp các bạn hiểu được cấu trúc switch/ case. Do vậy tôi chỉ in cho bạn dòng chữ trên màn hình serial để bạn theo dõi. Khi các bạn đã học xong chương trình con, tôi sẽ viết đầy đủ nội dung điều khiển cho các bạn tham khảo.

 

 


Categories:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *