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.
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ưureadPercent()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
}
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
3Nhập liệu qua cổng nối tiếp
Đọc một ký tự qua cổng nối tiếpLệnh bằng từĐiều chỉnh tốc độ nhấp nháy qua cổng nối tiếpNhấp nháy theo lệnhTự luyện tập: Playground Arduino