помогите новичку пожалуйста !!!
- Войдите на сайт для отправки комментариев
ПОЖАЛУЙСТА помогите с примером кода
есть код
int ledPin = 13;
int pwm = 10;
bool state = 0;
int gol = true;
void setup()
{
Serial.begin(9600);
Serial.println("HELLO WORLD!!!");
pinMode (ledPin, OUTPUT);
pinMode (pwm,OUTPUT);
}
void loop(){
while (Serial.available() > 0)
{
char val = Serial.read();
if (val == '1') state = !state;
if(state)
{
Serial.println("ON");
digitalWrite(ledPin, HIGH);
gol=false;
}
else
{
Serial.println("OFF");
digitalWrite(ledPin, LOW);
gol=true;
}
if (gol== true)
{
for(int i=0;i<=255;i++){
analogWrite(pwm,i);
delay(10);
}
for(int i=255;i>=0;i--){
analogWrite(pwm,i);
delay(10);
}
}
}
}
мне нужно чтобы циклы "for" повторялись до тех пор пока на измениться переменная "gol".
а в данном случаи циклы "for" выполняется 1 раз
если ставить оператор “while “ то циклы выполняются без конца и нет возможности выхода из цикла!!!
Новичок!!!! Помоги нам пожалуйста разобрать твое творенье, вставь код правильно!!!!
Это как?
Этотак: http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
вставить в цикл while(gol==true)
тогда цикл for не останавливается при помощи клавиши 1!
Тогда дополнительно for поменять на while и вставить проверку gol в них доп условием выхода. Ну и сериал проверять на каждом проходе каждого цикла. Это если в лоб делать.
Во-первых. Приучись давать переменным осмысленные имена.
Во-вторых. Попробуй простыми, понятными словами описать, что ты делаешь, и что хочешь получить.
Тогда дополнительно for поменять на while и вставить проверку gol в них доп условием выхода. Ну и сериал проверять на каждом проходе каждого цикла. Это если в лоб делать.
а можно пример что-то я не понял???
Во-первых. Приучись давать переменным осмысленные имена.
Во-вторых. Попробуй простыми, понятными словами описать, что ты делаешь, и что хочешь получить.
когда нажимаешь кнопку 1 то загораеться лед на пину 13
когда нажимаешь ещё раз конпку 1 то пин 13 тужнет и начинает плавно моргать светодиод на пину pwm 10
у меня с оператором if pwm плавно моргнёт 1 раз
а с оператором while моргает Бесконечно и не останавливаеться при помощи кнопки1!!!
мне надо чтобы после того когда пин 13 погаснет начинал плавно моргать pwm и после того как я нажму кнопку 1 загорался пин 13 и перестовал моргать pwm!
Вместо for делаем такой цикл (это первый, второй тоже надо переделать):
Но сразу говорю, это решение "влоб". Вашу задачу можно решить значительно лучше. И методов тому вагон и маленькая тележка.
когда нажимаешь кнопку 1 то загораеться лед на пину 13
когда нажимаешь ещё раз конпку 1 то пин 13 тужнет и начинает плавно моргать светодиод на пину pwm 10
у меня с оператором if pwm плавно моргнёт 1 раз
а с оператором while моргает Бесконечно и не останавливаеться при помощи кнопки1!!!
мне надо чтобы после того когда пин 13 погаснет начинал плавно моргать pwm и после того как я нажму кнопку 1 загорался пин 13 и перестовал моргать pwm!
надо изучить вот эту тему
И пока не выучите - новых вопросов не задавать
СПАСИБО буду пробовать! Просто я новичёк и не знаю всех тонкостей
Вместо for делаем такой цикл (это первый, второй тоже надо переделать):
Но сразу говорю, это решение "влоб". Вашу задачу можно решить значительно лучше. И методов тому вагон и маленькая тележка.
А какие есть ещё методы если не сложно?