Помощь с кодом и rgb led
- Войдите на сайт для отправки комментариев
Чт, 30/03/2017 - 11:17
День добрый. С ардуино я только знакомлюсь, и ошибок в коде мне не избежать, посему прошу помощи. Проблема такая: мне нужно rgb led плавно меняющий цвет с одного на другой (цвета в коде выделил жирным). Код вроде как безошибочен, но на практике схема отказывается работать. Так как с другим кодом она работала, следовательно ошибка в нем. Прикреплю его ниже, помогите найти ошибку, буду признателен.
const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
int i, r, g, b;
r=228;
g=141;
b=28;
color(r, g, b);
for(i=0; i<200; i++) {
r=r-1;
b=b+1;
color(r, g, b);
//delay(1000);
}
color(28, 141, 228);
for(i=0; i<200; i++) {
r=r+1;
b=b-1;
color(r, g, b);
//delay(1000);
}
color(228, 141, 28);
}
void color (unsigned char red, unsigned char green, unsigned char blue) // the color generating function
{
analogWrite(redPin, red);
analogWrite(bluePin, blue);
analogWrite(greenPin, green);
}
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment... (в том виде, как у Вас читать будет мало кто).
Код вроде как безошибочен
Никогда больше так не говорите. Даже если пока не понимаете почему, просто никогда не говорите о безошибочных кодах и всё.
но на практике схема отказывается работать.
в чем это выражается?
Маленький вопросик: а за какое время пролетают циклы изменения цвета?
Прошу прощения. Зарегистрировался только сейчас только ради этого вопроса. Буду знать
А насчет безошибочности - я имел в виду, что встроенная в программу проверка грубых ошибок не выявила, вот и все
в чем это выражается?
В полном отсутствии света на диоде
На маленький вопрос не отвечу, так как не знаю, за какое время ардуино выполняет один свой шаг.
Ну вопросик был задан Вам для подумать, а не для ответа мне :)
Ну да ладно. Начнем отладку:
1. Сравниваем типы переменных r,g,b в loop и в вызываемой процедурке. Ничего не настораживает?
2. Если мы в отладке - то обычно смотрим то что непонятно методом вывода в Serial. Переменные r,g,b принимают правильные значения?
Зарегистрировался только сейчас только ради этого вопроса. Буду знать
Мне всё равно будете Вы знать или нет. Я Вам сказал, что в таком виде Ваш код не будут читать 90% тех, кто мог бы помочь (я вот не читал). Вам нужна помощь? Так выложите код нормально!
нормально код, схему соединений, фото своего изделия, на котором видны соединения и марка диода.
Кто ж вас, новичков знает, может вы там 2801 или 2811, как аналоговый подключаете?