Есть ошибка, не знаю как исправить
arduino-uno
loop
По сути, у меня есть макет со светодиодом RGB и зуммером Peizo с фотоэлементом.
У меня есть коды для обоих. Если я ввожу код для RGB, он работает. Если я ставлю код для пейзо, то всё работает. Как только я вставляю в него оба кода, он говорит, что произошла ошибка, поскольку «void setup» и «void Loop» уже определены. Что мне сделать, чтобы обе вещи работали?
Код светодиода RGB:
/*
Adafruit Arduino - Lesson 7. RGB Fader
*/
int redLEDPin = 11;
int greenLEDPin = 10;
int blueLEDPin = 9;
int redSwitchPin = 7;
int greenSwitchPin = 6;
int blueSwitchPin = 5;
int red = 0;
int blue = 0;
int green = 0;
void setup()
{
pinMode(redLEDPin, OUTPUT);
pinMode(greenLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
pinMode(redSwitchPin, INPUT_PULLUP);
pinMode(greenSwitchPin, INPUT_PULLUP);
pinMode(blueSwitchPin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(redSwitchPin) == LOW)
{
red ++;
if (red > 255) red = 0;
}
if (digitalRead(greenSwitchPin) == LOW)
{
green ++;
if (green > 255) green = 0;
}
if (digitalRead(blueSwitchPin) == LOW)
{
blue ++;
if (blue > 255) blue = 0;
}
analogWrite(redLEDPin, red);
analogWrite(greenLEDPin, green);
analogWrite(blueLEDPin, blue);
delay(10);
}
Код Пейзо:
int speakerPin = 12;
int photocellPin = 0;
void setup()
{
}
void loop()
{
int reading = analogRead(photocellPin);
int pitch = 200 + reading / 4;
tone(speakerPin, pitch);
}
@Gurleen .S, 👍0
Обсуждение1 ответ
▲ 2
Оставляя в стороне все другие возможные проблемы, такие как конфликты выводов и синхронизации.
Переименуйте функции скетча setup()
и loop()
, например, rgb_led_setup()
и rgb_led_loop()
и peizo_setup()
и peizo_loop()
, затем перепишите:
void setup() {
rgb_led_setup();
peizo_setup();
}
void loop() {
rgb_led_loop();
peizo_loop();
}
Удачи!
,
@Mikael Patel
Смотрите также:
- Мигните светодиодом 5 раз с помощью цикла for
- Как остановить цикл в последовательном мониторе?
- Объектно-ориентированное программирование Arduino
- Как повторить другое действие внутри цикла?
- Что не так с бесконечными циклами внутри loop()?
- Обнаружение нажатия кнопки в цикле
- Использование одной и той же переменной между операторами if в loop()
- Программирование Arduino с несколькими циклами
у вас может быть только один блок
setup()
и только один блокloop()
.... вам нужно объединить код из каждой пары блоков в один блок, @jsotola