RGB и потенциометр
Как запустить эту программу???
int x=0;
int P1=A5;
int P2=A4;
int P3=A3;
int R1=3;
int G1=5;
int B1=6;
int R2=9;
int G2=10;
int B2=11;
int sValue1;
int sValue2;
int sValue3;
int oValue1;
int oValue2;
int oValue3;
int timer(1000);
void setup() {
pinMode(P1,INPUT);
pinMode(P2,INPUT);
pinMode(P3,INPUT);
pinMode(R1,OUTPUT);
pinMode(G1,OUTPUT);
pinMode(B1,OUTPUT);
pinMode(R2,OUTPUT);
pinMode(G2,OUTPUT);
pinMode(B2,OUTPUT);
}
void loop() {
sValue1=analogRead(P1);
sValue2=analogRead(P2);
sValue3=analogRead(P3);
oValue1=map(sValue1,0,1023,0,255);
oValue2=map(sValue2,0,1023,0,255);
oValue3=map(sValue3,0,1023,0,255);
if ((sValue1=0)&&(sValue2=0)&&(sValue3=0));
{
setColor1(0,255,255);
delay(timer);
setColor2(255,0,0);
}
}
void setColor1(int red1, int green1, int blue1){
{
analogWrite(R1,red1);
analogWrite(G1,green1);
analogWrite(B1,blue1);
}
}
void setColor2(int red2, int green2, int blue2){
{
analogWrite(R2,red2);
analogWrite(G2,green2);
analogWrite(B2,blue2);
}
}
@D3DSEC, 👍1
Обсуждение3 ответа
- Установите Arduino IDE
- Новый скетч
- Вставьте код
- Подключите плату Arduino к компьютеру
- Загрузить скетч
Также я получаю сообщение об ошибке компиляции из этой программы
Очевидно, что B1 уже определен как что-то, как и ваши A5, A4 и A3.
Скорее всего, у вас возникнет такая же проблема с B2.
Смотрите ответ Джота. Похоже, проблема в B1, потому что, очевидно, в библиотеке Arduino есть некоторые двоичные константы. например «B1», «B101» и т. д., @Duncan C
Arduino создал двоичные числа: B1, B101, B00111 и т. д.
Это описано на справочной странице "Целые константы".
>
"B1" определен в "binary.h" .
Они не должны были этого делать. Ни один инженер-программист C++ не считает это хорошим дополнением. Язык C++ прекрасно подходит для создания двоичных значений: 0b1, 0b101, 0b00111 и т. д.
Это не ваша вина, вы можете винить Arduino. По этой причине вам не следует никогда создавать переменные с именами: B1, B101, B00111 и т. д.
Это похоже на источник ошибки в одной строке `int B1=6; Хороший призыв. (проголосовало), @Duncan C
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Также я получаю сообщение об ошибке компиляции из этой программы, которую я запустил, и я не знаю, что не так., @D3DSEC
Добро пожаловать в СО. Вам следует отредактировать свой вопрос, выделить весь блок кода и нажать кнопку «Форматировать как код». (это похоже на открывание и закрывание фигурных скобок
{}
.) Неформатированный код действительно трудно читать. (и никогда не публикуйте в комментариях более короткого фрагмента кода, поскольку они не разрывают строки.), @Duncan CЧто значит «как мне запустить эту программу?» Вы имеете в виду, как установить и запустить его на Arduino?, @Duncan C
Теперь у него ошибка компиляции для платы. Как это исправить?, @D3DSEC
@DuncanC Я так думаю. Вопрос может быть «Как запустить этот скетч из исходного кода», скриншот не имеет значения., @caligari
@D3DSEC Какую ошибку компиляции вы получаете? Кстати: ваша строка if неверна. Замените = на ==. Также удалите ; в конце строки., @mic
интервал B1=6; ^ статус выхода 1 Ошибка компиляции для платы Arduino/Genuino Uno., @D3DSEC
Я не знаю, что не так с моим int B1=6;, @D3DSEC
Чувак, тебе нужно улучшить свой вопрос. Более четко сформулируйте свою проблему, а затем определите, какие именно строки вызывают у вас затруднения, и какие именно сообщения об ошибках вы получаете., @Duncan C
Я думаю, что
int timer(1000);
должен бытьint timer = 1000;
.sValue1=0
должно бытьsValue1==0
или фактически соответствовать назначению <=50%;sValue1<=127
., @GerbenЯ также хотел бы отметить, что использование потенциометров для сбора значений 0 или 1 и последующего управления светодиодом RGB абсурдно. Потенциалы следует использовать в качестве делителей напряжения для подачи на аналоговые входы, а затем настроить Arduino на подачу сигналов ШИМ на различные цветовые каналы светодиода RGB, пропорциональные входам на потенциометры., @Duncan C