Возвращаемые значения
Часть раздела Входные сигналы путешествия по Arduino на Coddy. Урок 21 из 22.
Функция также может возвращать значение. Укажи тип значения вместо void и заверши функцию с помощью return и значения:
int readPercent() {
int reading = analogRead(A0);
return map(reading, 0, 1023, 0, 100);
}Вызов тогда обозначает это значение, как и analogRead(). Ты можешь сохранить его, вывести или сравнить:
int percent = readPercent();
if (readPercent() > 50) {
// ...
}return также сразу завершает функцию: строки после него не выполняются. Переменные, созданные внутри функции, как reading здесь, существуют только во время её выполнения; возвращённое значение позволяет получить результат.
Задание
ЛегкоПотенциометр подключён к A0, а LED — к пину 13:
- напиши
int readPercent(), которая считывает значение с A0 и возвращает его, преобразованное в диапазон от 0 до 100 - в
loop()сохрани результат вызоваreadPercent()в переменную и выведи его - включай LED, когда процент больше 50, иначе выключай его; жди 100 мс
Нажми Run, поверни ручку, затем нажми Check.
Попробуйте сами
const int ledPin = 13;
// напишите здесь int readPercent()
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// int percent = readPercent();
// выведите значение, включите светодиод, если оно больше 50, подождите 100 мс
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Входные сигналы
Потренируйтесь самостоятельно: Песочница Arduino