Как совместить 2 скетча в 1

windrayzer
Offline
Зарегистрирован: 11.11.2020

Есть 2 скетча, один меняет цвет rgb ленты в пространстве HSV, а второй является скетчем светомузыки с микрофоном.
Можно ли их совместить чтобы при нажатии одной кнопки менялся режим с одного на другой и как?
Эквалайзер:

Самодельная светомузыка на ардуино
454 просмотра

Nikolas Utkin
3 подписчика
Следующее
Автовоспроизведение

16:06

windrayzer
Offline
Зарегистрирован: 11.11.2020

#include "GyverRGB.h"

GRGB diode(6, 5, 3); // куда подключены цвета (R, G, B)

void setup() {

}

void loop() {

byte H = analogRead(0) / 4;

byte S = analogRead(1) / 4;

byte V = analogRead(2) / 4;

diode.setHSV(H, S, V);

}

windrayzer
Offline
Зарегистрирован: 11.11.2020

И 2:
int MicPin = 0; // порт аналового ввода сигнала
int redPin = 5; // выбираем порты вывода
int greenPin = 4;
int bluePin = 3;

int MicValue = 0; // порт микрофона на 0 пин

void setup() {
Serial.begin(9600); // соеденение и назначение ппинов вывода
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);

analogWrite(redPin, 0); //погасить всё
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
}

void loop() {

MicValue = analogRead(MicPin); //ждем ответа от микрофонной линии

Serial.println(MicValue); // так надо)

if (MicValue > 15) { // верхний уровень чуствительности линии1
analogWrite(bluePin,255); // синий на максимум
delay(15); //задержка
}

if (MicValue > 30) { // верхний уровень чуствительности 2
analogWrite(bluePin,0); // гасим синий
analogWrite(greenPin, 255); // зеленый на максимум
delay(30); //задержка
}

if (MicValue > 56) { //2й верхний уровеь чуствительности 3
analogWrite(greenPin,0); // гасим зеленый
analogWrite(redPin, 255); // красный на максимум
delay(60); // задержка
}

analogWrite(greenPin, 0); //гасим все
analogWrite(redPin, 0);
analogWrite(bluePin,0);
delay(5); //задержка

}

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Можно. (правда, будет замедленная реакция на кнопку)

Если хотите обсуждать здесь, приводите свой вариант (только в соответствии с правилами форума).

Если хотите, чтобы кто-то сделал за Вас - создайте тему в платном разделе "Ищу исполнителя". 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

andriano пишет:

Можно. (правда, будет замедленная реакция на кнопку)

Вы часом не приболели? Ковид там или чего менее модное? А то раньше Вы как-то более адекватно отвечали на вопросы об объединении скетчей :-)

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

ГАЗель купил может? Там и Феррари (ух как рычит) и камаз (до 4,5 тонн если не жалеть машину) и Ламборджини (с горки) )))