DFROBOT
#11
А на флейте она умеет играть? 10
#12
(23-07-2025, 01:00)Sam : флейте
На зурне 1

Sam,
А вообще прикольный модуль, много что умеет.
Можно "научить" понимать пение птиц или лай собаки, так же и муз.инструменты различать.
Был у меня попугай Жако, гад ещё тот....когда один остается в комнате, то орет так, что фиг поспишь днем. Приходилось себе в комнату заносить, а иной раз с брызгалки ему прямо в глаз, что бы заткнулся. Можно было бы его крик записать и включать ему радио минут на 5 !!! Он бы отвлекался. Или когда кричал, включать какой нибудь насосик с водой...
Не, я его любил и редко так делал с водой, но иной раз выбешивал.
Ну, вообщем эта приблуда, работает с разными звуками, не только с человеческой речью. Тут, на что фантазии хватит в применении.

Хотя, можно ли прописать третью фразу крика попугая, что бы выводить модуль из спячки??? Модуль же понимает команды, после слова...хелоу робот или наташа(можно другое имя прописать).
#13
Сделал себе пока 4 канала чисто для теста. Вроде работает.
Скетч правда смешной получился, но мне так проще по цветам.
https://disk.yandex.ru/i/PCy8PgQxcWc21A

...

Код:
#define RED 2    // Красный светодиод RED подключен ко 2 пину,это индикация Света.
#define GREEN 3  // Зеленый светодиод GREEN подключен ко 3 пину,это индикация Радио.
#define BLUE 4    // Синий светодиод BLU подключен ко 4 пину,это индикация Вентилятора.
#define YELLOW 5  // Желтый светодиод YELLOW подключен ко 5 пину,это индикация Бра.

// подключаем библиотеку
#include "DFRobot_DF2301Q.h"
//Подключение по интерфейсу I2C
DFRobot_DF2301Q_I2C DF2301Q;

void setup() {
  Serial.begin(115200);
  pinMode(RED, OUTPUT);      //  Использую порт 2 как вывод под Свет.
  pinMode(GREEN, OUTPUT);    //  Использую порт 3 как вывод под Радио.
  pinMode(BLUE, OUTPUT);    //  Использую порт 4 как вывод под Вентилятор.
  pinMode(YELLOW, OUTPUT);  //  Использую порт 5 как вывод под Бра.
  digitalWrite(RED, LOW);    //  Выключаем красный светодиод и свет.
  digitalWrite(GREEN, LOW);  //  Выключаем зеленый светодиод и радио.
  digitalWrite(BLUE, LOW);  //  Выключаем синий светодиод и вентилятор.
  digitalWrite(YELLOW, LOW); //  Выключаем желтый светодиод и бра.
  // Проверяем доступен ли датчик и инициализируем его
  while (!(DF2301Q.begin())) {
    Serial.println("Communication with device failed");
    delay(3000);
  }
  Serial.println("Begin ok!");
  // Громкость динамика (1~7)
  DF2301Q.setVolume(7);
  // 1 включить звук 0 отключить
  DF2301Q.setMuteMode(0);
  // время (с) до перехода в спящий режим (0-255)
  DF2301Q.setWakeTime(15);
  // Для режима I2C можно разбудить модуля командой
  //DF2301Q.playByCMDID(1);  // Wake-up command
}

void loop() {
  uint8_t CMDID = DF2301Q.getCMDID();
  switch (CMDID) {

    case 5: // включаем красный светодиод и включаем в комнате свет.
      digitalWrite(RED, HIGH);
      Serial.println("received'включи свет',command flag'5'");
      break;

    case 6: // выключаем красный светодиод и выключаем в комнате свет.
      digitalWrite(RED, LOW);
      Serial.println("received'выключи свет',command flag'6'");
      break;

      case 7: // включаем зеленый светодиод и включаем в комнате радио.
      digitalWrite(GREEN, HIGH);
      Serial.println("received'включи радио',command flag'7'");
      break;
     
      case 8: // выключаем зеленый светодиод и выключаем в комнате радио.
      digitalWrite(GREEN, LOW);
      Serial.println("received'выключи радио',command flag'8'");
      break;
   
    case 9: // включаем синий светодиод и включаем в комнате вентилятор.
      digitalWrite(BLUE, HIGH);
      Serial.println("received'включи вентилятор',command flag'9'");
      break;
     
      case 10: // выключаем синий светодиод и выключаем в комнате вентилятор.
      digitalWrite(BLUE, LOW);
      Serial.println("received'выключи вентилятор',command flag'10'");
      break;
     
    case 11: // включаем желтый светодиод и включаем в комнате бра.
      digitalWrite(YELLOW, HIGH);
      Serial.println("received'включи бра',command flag'11'");
      break;

    case 12: // выключаем желтый светодиод и выключаем в комнате бра.
      digitalWrite(YELLOW, LOW);
      Serial.println("received'выключи бра',command flag'12'");
      break;

    default:  // какая-то другая команда
      if (CMDID != 0) {
        Serial.print("CMDID = ");  //Printing command ID
        Serial.println(CMDID);
      }
  }
  delay(300);
}
#14
Есть готовое решение,заказал.
https://ozon.ru/t/dhyNKfO
Этот модуль будет запускать мощные нагрузки до 10Ам 220v.
В будущем можно ещё такой модуль заказать,так как до 17 пользовательских команд (17 реле) можно прописать.
#15
Наверное пока 11 сделаю (D2-D12).
Там надо доработать по I2C, по другому наверное ни как?
#16
(25-07-2025, 08:15)-vlad- : по другому наверное ни как?
Аналоговые входы A0, A1, и т.д. без проблем можно сконфигурировать как выходы.
#17
KEN, буду честен, так как я изучаю платформу по книжке(когда есть время) и этот урок я ещё плохо изучил на практике. Сейчас как собака понимаю, но сказать как правильнее будет затрудняюсь и подтягивающий резистор меня пока в ступор заводит.
Примерно так наверное? Я тренируюсь на светодиодах, мне так проще,но я понимаю, что если использовать все пины, то у меня цветных светодиодов и не хватит и надо в #define их менять на другое название ...если А1, это 15 пин, то
Сразу присваиваю
#define WHITE 15 //белый
светодиод к 15 пину.
PinMode(WHITE;OUTPUT);
DigitalWrite(WHITE,HIGH);
//Тут я подключаю 10 ком подтяжку?

Спасибо за направление, буду думать.
#18
Сегодня на ozon должен получить 8 канальный и 4 канальный модули реле 5v.
Ими то я забью все цифровые выходы. А в будущем конечно допилю и аналог, минус конечно а4,а5(sda,scl) они заняты у меня. Что пинам пропадать, пускай работают.
Сегодня после работы перепишу скетч под 11 каналов и уже буду "что на что меняем" #define не
red,blue... а как то по другому пропишу.
#19
(26-07-2025, 06:13)-vlad- : //Тут я подключаю 10 ком подтяжку?
Вывод А1 был назначен как OUTPUT, поэтому нет, будет просто HIGH на выводе А1.
Подключение подтяжки будет если вывод был установлен как INPUT.
#20
KEN, Чуть попозже потренируюсь с аналогом. Спасибо.

Попробовал 4 команды на модуле реле.     
https://disk.yandex.ru/i/k5IMC4OEFt_aGQ

Модуль 8 канальный универсальный(LOW,HIGH), там оптрон хитрый и желтые джамперы надо включить на минус.