Обобщение повторяющегося кода в функции цикла пустоты
Как мне обобщить десятки строк кода для мигания красным светодиодом в Arduino Rich Shield? Есть ли способ или метод исключить хотя бы половину кода для повторяющихся сценариев?
const int redPin = 4;
void setup()
{
pinMode(redPin, OUTPUT);
}
void loop()
{
digitalWrite(redPin, HIGH);
delay(250);
digitalWrite(redPin, LOW);
delay(250);
digitalWrite(redPin, HIGH);
delay(250);
digitalWrite(redPin, LOW);
delay(250);
digitalWrite(redPin, HIGH);
delay(250);
digitalWrite(redPin, LOW);
}
@Ryan johnson, 👍-1
1 ответ
Лучший ответ:
▲ 1
void loop()
{
digitalWrite(redPin, HIGH);
delay(250);
digitalWrite(redPin, LOW);
delay(250);
}
Я не совсем понимаю, что вам нужно, но это короче и даст вам аналогичные результаты. Поскольку цикл все равно будет повторяться, нет необходимости повторяться внутри цикла.
Судя по комментариям, это не особо полезно...
const int redPin = 4;
int counter = 0;
void setup()
{
pinMode(redPin, OUTPUT);
}
void loop()
{
if(counter < 4) {
digitalWrite(redPin, HIGH);
delay(250);
digitalWrite(redPin, LOW);
delay(250);
counter++;
}
}
,
@Delta_G
Смотрите также:
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Arduino IDE Отказано В Разрешении На Загрузку, Ubuntu
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Связь Arduino master/slave с использованием RS485
хорошо, я этого не знал, но что, если я хочу мигнуть от 3 до 5, а затем погасить красный светодиод? приведет ли это к изменению кода?, @Ryan johnson
Если вы хотите остановить его (и больше ничего не делать), переместите код в
setup
, который выполняется только один раз., @Michel Keijzersспасибо за ваш ответ, но я хочу, чтобы он работал в циклической функции, чтобы он не мигал, например, после 3–5 миганий., @Ryan johnson
Суть цикла в том, что он постоянно повторяется. Если вы хотите, чтобы он останавливался после стольких морганий, вам нужна переменная, которая начинается с нуля и добавляет единицу каждый раз, когда цикл выполняется. Поместите часть, которая мигает светом, внутрь оператора if, который проверяет, не находится ли это число ниже какого-либо предела., @Delta_G
Ага, теперь я понимаю логику остановки определенного цикла, большое спасибо, Дельта, вы очень помогли!, @Ryan johnson