Menu
CoddyTech

Giá trị trả về

Thuộc phần Đầu vào trong hành trình Arduino của Coddy. Bài học 21 trên 22.

Hàm (function) cũng có thể trả về một giá trị. Viết kiểu dữ liệu của giá trị thay cho void, rồi kết thúc bằng return và giá trị đó:

int readPercent() {
  int reading = analogRead(A0);
  return map(reading, 0, 1023, 0, 100);
}

Khi đó, lời gọi hàm đại diện cho giá trị ấy, giống như analogRead(). Bạn có thể lưu giá trị đó, in ra hoặc so sánh:

int percent = readPercent();
if (readPercent() > 50) {
  // ...
}

return cũng kết thúc hàm ngay lập tức: các dòng sau nó sẽ không chạy. Những biến được tạo bên trong hàm, như reading ở đây, chỉ tồn tại trong khi hàm chạy; giá trị trả về là cách đưa kết quả ra ngoài.

challenge icon

Thử thách

Dễ

Núm xoay nối với A0 và đèn LED nối với chân 13:

  • viết int readPercent() để đọc A0 và ánh xạ giá trị đọc được từ 0 đến 100
  • trong loop(), lưu readPercent() vào một biến rồi in ra
  • bật đèn LED khi phần trăm lớn hơn 50, nếu không thì tắt đèn; chờ 100 ms

Nhấn Chạy, xoay núm, rồi nhấn Kiểm tra.

Tự làm thử

const int ledPin = 13;

// viết hàm (function) int readPercent() ở đây

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // int percent = readPercent();
  // in giá trị ra, bật đèn LED nếu giá trị lớn hơn 50, đợi 100 ms
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Đầu vào

Tự luyện tập: Playground Arduino