Помогите разобраться...
- Войдите на сайт для отправки комментариев
Пнд, 09/04/2012 - 18:15
Доброго времени суток! Собрал себе Arduino,на 328-й меге, помигал светодиодом, возник вопрос в написании кода для двух
светодиодов. Задача такая, один светодиод плавно зажигается, другой в это время, плавно тухнет и по достижении крайних пределов, всё плавно меняется наоборот и так по кольцу. Голову сломал, как это реализовать? Получилось только плавно зажечь один и в это время плавно потушить второй, но потом тот который зажегся, резко тухнет, а которыый потух, резко вспыхивает.
int RedledPin = 9; // RedLED connected to digital pin 9
int GreenledPin = 10; // GreenLED connected to digital pin 10
int Redled = 5;
int Greenled = 250;
int i = 5;
void setup() {
// nothing happens in setup
}
void loop() {
if (Redled > 0 || Greenled < 255) {
analogWrite(RedledPin, Redled);
analogWrite(GreenledPin, Greenled);
Redled = Redled + i;
Greenled = Greenled - i;
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
}
Попробуйте так:
int RedledPin = 9; // RedLED connected to digital pin 9 int GreenledPin = 10; // GreenLED connected to digital pin 10 int Redled = 5; int Greenled = 250; int i = 5; int stepRed=5,stepGreen=-5; void setup() { // nothing happens in setup } void loop() { analogWrite(RedledPin, Redled); analogWrite(GreenledPin, Greenled); Redled = Redled + stepRed; Greenled = Greenled + stepGreen; if(Redled<=5 || Redled>=250) stepRed=-stepRed; if(Greenled<=5 || Greenled>=250) stepGreen=-stepGreen; // wait for 30 milliseconds to see the dimming effect delay(30); }Спасибо за помошь! Всё замечательно работает, Мне было не понятно, как организовать псевдо-параллельную работу, а везде простые примеры в основном с одним диодом. Ещё раз большое спасибо!!!