#1 2020-01-10 15:40:14

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Сделать что-бы каждый хлопок менялся цвет RGB светодиода (red,green,blue) .
В такой последовательности.
На 9 пин подсоеденен красный.

Вот скетч.

const int sensorD0 = 8;  // Пин Arduino к которому подключен выход D0 датчика
const int diod = 9; // Пин Arduino к которому подключен светодиод
int diodState = LOW; // Статус светодиода "выключен"

void setup ()
  {
  pinMode(diod, OUTPUT); // устанавливаем цифровой пин 2 в режим выхода 
  }
   
void loop ()
  {
  int sensorValue = digitalRead(sensorD0); // получаем сигнал с датчика
     
  if (sensorValue == 1 && diodState == LOW) //если порог громкости достигнут и светодиод был ВЫКЛЮЧЕН
    {
    digitalWrite(diod, HIGH); // включаем светодиод
    diodState = HIGH; // устанавливаем статус светодиода "включен"
    delay(100); // небольшая задержка для фильтрации помех
    }
  else // иначе
    {
    if (sensorValue == 1 && diodState == HIGH) // если порог громкости достигнут и светодиод был ВКЛЮЧЕН
      {
      digitalWrite(diod, LOW); // выключаем светодиод
      diodState = LOW; // устанавливаем статус светодиода "выключен"
      delay(100); // небольшая задержка для фильтрации помех
      }
    }   
  }

#2 2020-01-10 16:12:50

vvr
Участник
Зарегистрирован: 2015-04-12
Сообщений: 615

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

светик по хлопку у вас успешно переключается ?

#3 2020-01-10 16:13:16

Kaka
Участник
Зарегистрирован: 2018-03-21
Сообщений: 285

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Даниил пишет:

Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Есть сэр! Разрешите приступить!?

#4 2020-01-10 16:14:37

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

vvr пишет:

светик по хлопку у вас успешно переключается ?

Да.

#5 2020-01-10 16:16:22

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Kaka пишет:
Даниил пишет:

Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Есть сэр! Разрешите приступить!?

Приступайте))

#6 2020-01-10 20:17:37

vvr
Участник
Зарегистрирован: 2015-04-12
Сообщений: 615

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

заведите переменную, значения которой соответствуют цвету и перебирайте её по хлопкам.

byte color = 0;
0-светик выключен
1-красный
2-синий
3-зелёный

зафиксировали хлопок
color ++;
if(color > 3)
color = 0;

#7 2020-01-10 23:41:42

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

можно в код это?

#8 2020-01-11 01:06:51

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

vvr пишет:

заведите переменную, значения которой соответствуют цвету и перебирайте её по хлопкам.

byte color = 0;
0-светик выключен
1-красный
2-синий
3-зелёный

зафиксировали хлопок
color ++;
if(color > 3)
color = 0;

можно в код это?

#9 2020-01-12 00:12:56

renoshnik
Участник
Зарегистрирован: 2017-04-03
Сообщений: 640

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Даниил пишет:
vvr пишет:

заведите переменную, значения которой соответствуют цвету и перебирайте её по хлопкам.

byte color = 0;
0-светик выключен
1-красный
2-синий
3-зелёный

зафиксировали хлопок
color ++;
if(color > 3)
color = 0;

можно в код это?

Да, можно, разрешаю.

#10 2020-01-12 14:53:52

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Я не понял куда это вставить,у меня опыт ардуино - 4 дня,можете помочь?

#11 2020-01-12 18:24:45

vvr
Участник
Зарегистрирован: 2015-04-12
Сообщений: 615

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

const int sensor = 8;     // Пин Arduino к которому подключен выход D0 датчика
const int red = 9;        // Пин Arduino к которому подключен светодиод красный
const int blue = 10;      // Пин Arduino к которому подключен светодиод синий
const int green = 11;     // Пин Arduino к которому подключен светодиод зелёный

int sensorValue = 0;
byte color = 0;
byte flag = 0;

void setup ()
{
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);

  pinMode(sensor, INPUT);
}

void loop ()
{
  sensorValue = digitalRead(sensor); // получаем сигнал с датчика

  if (sensorValue == 1 && flag == 0) //если порог громкости достигнут
  {
    color ++;
    if (color > 3)
    {
      color = 0;
    }
    flag = 1;
  }
  else if (sensorValue == 0 && flag == 1)
  {
    flag = 0;
  }

  ////////  состояния светиков  //////////////

  if (color == 0)                /// все погасли
  {
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
    digitalWrite(blue, LOW);
  }
  else if (color == 1)           /// горит красный
  {
    digitalWrite(red, HIGH);
    digitalWrite(green, LOW);
    digitalWrite(blue, LOW);
  }
  else if (color == 2)           /// горит зелёный
  {
    digitalWrite(red, LOW);
    digitalWrite(green, HIGH);
    digitalWrite(blue, LOW);
  }
  else if (color == 3)           /// горит синий
  {
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
    digitalWrite(blue, HIGH);
  }
}

#12 2020-01-12 20:58:08

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Извините,а можно как нибудь сделать что-бы он по второму хлопку выключался?
Тоесть  раз хлопнул - горит( красный)
раз хлопнул - не горит(красный)
еще хлопнул -  горит(зеленый)
еще хлопнул - не горит(зеленый)
еще хлопнул -  горит(голубой)
еще хлопнул - не горит(голубой)

Редактировался Даниил (2020-01-12 22:09:35)

#13 2020-01-12 21:49:23

renoshnik
Участник
Зарегистрирован: 2017-04-03
Сообщений: 640

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Даниил пишет:

Извините,а можно как нибудь сделать что-бы он по второму хлопку выключался?
Тоесть 1 раз хлопнул - горит( красный)
2 раз хлопнул - не горит(красный)
2 раз хлопнул -  горит(зеленый)
2 раз хлопнул - не горит(зеленый)
2 раз хлопнул -  горит(голубой)
2 раз хлопнул - не горит(голубой)


" 2 раз хлопнул "  - ПЯТЬ раз ....  это за гранью понимания ....

#14 2020-01-12 22:09:48

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Исправил

#15 2020-01-16 23:43:26

Даниил
Участник
Зарегистрирован: 2020-01-10
Сообщений: 10

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

помогите пожалуйста...

#16 2020-01-16 23:47:04

г0сть
Гость

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

чем?

#17 2020-01-17 02:15:10

Kaka
Участник
Зарегистрирован: 2018-03-21
Сообщений: 285

Re: Сделать что-бы каждый хлопок менялся цвет RGB светодиода

Ну как чем. Сначала клянчим, чтобы зажигался, потом чтобы выключался. Потом будем клянчить попу подтереть.

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела