#1 2020-12-30 00:47:22

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

нужна помощь с DFPlayer

Доброго времени суток! Есть dfplaer и arduino nano, нужно чтоб при поступлении первого сигнала включался трек №0001, а при поступлении второго №0002 и наоборот. Вопрос, могу ли я использовать при своих задачах DF плеер без Ардуино и как при этом его прошить? roll

Неактивний

#2 2020-12-30 01:30:47

leonss
Гість

Re: нужна помощь с DFPlayer

Можнобез ардуино   https://www.youtube.com/watch?v=8T7tAux2fek&t=299s

#3 2020-12-30 03:59:16

leonss
Гість

Re: нужна помощь с DFPlayer

leonss пише:

Можнобез ардуино   https://www.youtube.com/watch?v=8T7tAux2fek&t=299s

Это немного не то мне сигнал получить нужно не с кнопки а с датчика, в общем я попробовал с ардуинкой, но почему то не хочет падла работать)
P.S. Вот скетч, может это я ошибок допустил

#define Trig 4
#define Echo 5
#define ledPin 3
#include <SoftwareSerial.h>   
#include <DFPlayer_Mini_Mp3.h>

void setup()

  pinMode(Trig, OUTPUT);
  pinMode(Echo, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  mp3_set_serial(Serial);
  delay(1);               
  mp3_set_volume(25);   

}
unsigned int impulseTime=0;
unsigned int distance_sm=0;

void loop()

  digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
  impulseTime=pulseIn(Echo, HIGH);
  distance_sm=impulseTime/58;
  Serial.println(distance_sm);
  if (distance_sm<150)
  {     
    digitalWrite(ledPin, HIGH);
    mp3_play(1);
  } 
  else
  {   
    digitalWrite(ledPin, LOW);
  }   
  delay(100);
}

#4 2020-12-30 09:14:09

г0сть
Гість

Re: нужна помощь с DFPlayer

Olejaa leonss раздвоение личности? Сам задаю вопрос, сам себе отвечаю, только ники разные?

#5 2020-12-30 15:55:54

leons
Учасник
Зареєстрований: 2019-10-14
Повідомлень: 40

Re: нужна помощь с DFPlayer

г0сть это новогодняя шутка но не моя, мой ник с одной буквой S

Остання редакція leons (2020-12-30 15:59:56)

Неактивний

#6 2020-12-30 18:53:01

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

г0сть пише:

Olejaa leonss раздвоение личности? Сам задаю вопрос, сам себе отвечаю, только ники разные?

Случайно, я редко на форумах big_smile

Неактивний

#7 2020-12-30 20:36:46

гIсть
Гість

Re: нужна помощь с DFPlayer

мне сигнал получить нужно не с кнопки а с датчика,

А что мешает подать с датчика низкий уровень сымитировав таким образом замыкание кнопки? Или использовать ключ на транзисторе?

#8 2020-12-30 22:00:22

leons
Учасник
Зареєстрований: 2019-10-14
Повідомлень: 40

Re: нужна помощь с DFPlayer

Olejaa, а какой у вас датчик , и вам  важен код написаный C++  или собрать устройство по инструкции и не вникать в тонкости ?

Неактивний

#9 2020-12-30 22:46:14

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

гIсть пише:

мне сигнал получить нужно не с кнопки а с датчика,

А что мешает подать с датчика низкий уровень сымитировав таким образом замыкание кнопки? Или использовать ключ на транзисторе?

я думал над этим, но решил не усложнять! По идее должно и так отрабатывать

Неактивний

#10 2020-12-30 22:52:55

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

leons пише:

Olejaa, а какой у вас датчик , и вам  важен код написаный C++  или собрать устройство по инструкции и не вникать в тонкости ?

я использую ультразвуковой датчик HC-SR04 их должно быть 2 штуки, при срабатывание первого должно запускаться "mp3 001" и соответственно при срабатывании второго "002" . Я думаю не важно на чем написан код, но хотелось бы немного в этом разобраться а то чего я за это все взялся big_smile  big_smile  big_smile

Неактивний

#11 2020-12-30 23:34:01

leons
Учасник
Зареєстрований: 2019-10-14
Повідомлень: 40

Re: нужна помощь с DFPlayer

Давайте к нам на форум и в группу в телеграмм               
   https://forum.flprog.ru

Неактивний

#12 2020-12-31 09:27:00

гIсть
Гість

Re: нужна помощь с DFPlayer

Olejaa пише:
гIсть пише:

мне сигнал получить нужно не с кнопки а с датчика,

А что мешает подать с датчика низкий уровень сымитировав таким образом замыкание кнопки? Или использовать ключ на транзисторе?

я думал над этим, но решил не усложнять! По идее должно и так отрабатывать

Т.е. решили использовать ардуину? В таком случае вернемся к вашему коду. Вы куда подключили плеер? К железному сериалу или к software?

#13 2020-12-31 09:43:46

гIсть
Гість

Re: нужна помощь с DFPlayer

Синяя изолента закончилась, поэтому за работоспособность не ручаюсь. Могут быть разные библиотеки

#define Trig   4 /* Обозначаем пин подачи импульса*/ 
#define Echo 5 /* Обозначаем пин приема импульса*/ 
#define ledPin 3

#include <SoftwareSerial.h>               // Подключаем библиотеку SoftwareSerial
#include <DFPlayer_Mini_Mp3.h>             // Подключаем библиотеку DFPlayer
 
SoftwareSerial mySerial(10, 11);          // Указываем к какими портам подключен DFPlayer


void setup() 
{ 
pinMode (Trig, OUTPUT); /*инициируем как выход */ 
pinMode (Echo, INPUT);   /*инициируем как вход */ 
Serial.begin (9600);           /* устанавливаем скорость порта */ 
mySerial.begin(9600);                   // Открываем последовательную связь
mp3_set_serial(mySerial);                  // инициализация
mp3_set_volume(20);     
} 
unsigned int impulseTime=0; 
unsigned int distance_sm=0; 

void loop()
 { 
digitalWrite (Trig, HIGH);                       /* Подаем импульс на вход trig дальномера */ 
delayMicroseconds (10);                       /* Импульс длится 10 микросекунд */ 
digitalWrite (Trig, LOW);                        // Отключаем подачу импульса 
impulseTime=pulseIn (Echo, HIGH);    /* Принимаем импульс и подсчитываем его длину*/ 
distance_sm =impulseTime/58;           /* Пересчитываем его значение в сантиметры */ 
Serial.println( distance_sm);                 /* Выводим значение на порт программы */ 

Serial.println(distance_sm);
  if (distance_sm<150)
  {     
    digitalWrite(ledPin, HIGH);
    mp3_play(1);
  } 
  else
  {   
    digitalWrite(ledPin, LOW);
  }   

delay (200); 
}

#14 2021-01-07 02:59:51

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

гIсть пише:

Т.е. решили использовать ардуину? В таком случае вернемся к вашему коду. Вы куда подключили плеер? К железному сериалу или к software?

Да, решил использовать ардуинку. Плеер подключил к RX/TX Разьемам

Неактивний

#15 2021-01-07 03:04:10

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

гIсть пише:

Синяя изолента закончилась, поэтому за работоспособность не ручаюсь. Могут быть разные библиотеки

#define Trig   4 /* Обозначаем пин подачи импульса*/ 
#define Echo 5 /* Обозначаем пин приема импульса*/ 
#define ledPin 3

#include <SoftwareSerial.h>               // Подключаем библиотеку SoftwareSerial
#include <DFPlayer_Mini_Mp3.h>             // Подключаем библиотеку DFPlayer
 
SoftwareSerial mySerial(10, 11);          // Указываем к какими портам подключен DFPlayer


void setup() 
{ 
pinMode (Trig, OUTPUT); /*инициируем как выход */ 
pinMode (Echo, INPUT);   /*инициируем как вход */ 
Serial.begin (9600);           /* устанавливаем скорость порта */ 
mySerial.begin(9600);                   // Открываем последовательную связь
mp3_set_serial(mySerial);                  // инициализация
mp3_set_volume(20);     
} 
unsigned int impulseTime=0; 
unsigned int distance_sm=0; 

void loop()
 { 
digitalWrite (Trig, HIGH);                       /* Подаем импульс на вход trig дальномера */ 
delayMicroseconds (10);                       /* Импульс длится 10 микросекунд */ 
digitalWrite (Trig, LOW);                        // Отключаем подачу импульса 
impulseTime=pulseIn (Echo, HIGH);    /* Принимаем импульс и подсчитываем его длину*/ 
distance_sm =impulseTime/58;           /* Пересчитываем его значение в сантиметры */ 
Serial.println( distance_sm);                 /* Выводим значение на порт программы */ 

Serial.println(distance_sm);
  if (distance_sm<150)
  {     
    digitalWrite(ledPin, HIGH);
    mp3_play(1);
  } 
  else
  {   
    digitalWrite(ledPin, LOW);
  }   

delay (200); 
}

Это все как у меня, кроме указание портов, так-как я подключил к разъемам RX/TX и оно не работает так)) Может проблема в этом?
Я уже задумываюсь о том что, действительно, с ардуино послать сигнал на реле а с реле через сопротивление к управляющим разъемам DFmini)

Неактивний

#16 2021-01-07 03:08:06

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

P.S. Всех поздравляю с Новым Годом и Рождеством Христовым! Здоровья нам в этом году и грандиозных проэктов! smile

Неактивний

#17 2021-01-07 11:13:35

г0сть
Гість

Re: нужна помощь с DFPlayer

Olejaa пише:

Это все как у меня, кроме указание портов, так-как я подключил к разъемам RX/TX и оно не работает так)) Может проблема в этом?

Хрустальный шар после всех этих праздников помутнел, поэтому схему подключения и код (ПОЛНЫЙ) в студию.

#18 2021-01-07 15:29:14

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: нужна помощь с DFPlayer

Olejaa пише:
гIсть пише:

Т.е. решили использовать ардуину? В таком случае вернемся к вашему коду. Вы куда подключили плеер? К железному сериалу или к software?

Да, решил использовать ардуинку. Плеер подключил к RX/TX Разьемам

Тогда зачем вам DFPlayer ?
Ардуина сама справится с воспроизведением звуковых файлов с СДкарты.

Неактивний

#19 2021-01-12 21:15:55

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

В общем на сегодняшний день ситуация такая: я подключил через реле к управляющим контактам плеера все получилось, но smile  каждый раз когда срабатывает датчик трек запускается с начала, думаю это можно исправить задержкой, все таки хочется сделать максимально просто wink  Вот прилагаю скетч:
*нет второго датчика, поэтому скетч не дописан)

#include <SoftwareSerial.h>   
#include <DFPlayer_Mini_Mp3.h>
#define Trig 4
#define Echo 5
#define ledPin 3
#define ledPin2 2
#define Ctrl1 6
#define Ctrl2 7


void setup()

 
  Serial.begin(9600);
  mp3_set_serial (Serial);
  delay (100);
  mp3_set_volume (25);             
  pinMode(Trig, OUTPUT);
  pinMode(Echo, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(Ctrl1, OUTPUT);
  pinMode(Ctrl2, OUTPUT);

}
unsigned int impulseTime=0;
unsigned int distance_sm=0;

void loop()

  digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
  impulseTime=pulseIn(Echo, HIGH);
  distance_sm=impulseTime/58;
  Serial.println(distance_sm);
  if (distance_sm<150)
  {     
    digitalWrite(ledPin, HIGH);
    digitalWrite(Ctrl1, HIGH);
    delay (100);
 
  } 
  else
  {   
    digitalWrite(ledPin, LOW);
    digitalWrite(Ctrl1, LOW);
 
  }   
  delay(100);
}

Неактивний

#20 2021-01-12 21:23:05

Olejaa
Учасник
Зареєстрований: 2020-12-30
Повідомлень: 9

Re: нужна помощь с DFPlayer

renoshnik пише:
Olejaa пише:
гIсть пише:

Т.е. решили использовать ардуину? В таком случае вернемся к вашему коду. Вы куда подключили плеер? К железному сериалу или к software?

Да, решил использовать ардуинку. Плеер подключил к RX/TX Разьемам

Тогда зачем вам DFPlayer ?
Ардуина сама справится с воспроизведением звуковых файлов с СДкарты.

Где можно почитать информацию по этому поводу?

Неактивний

#21 2021-01-13 14:26:45

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: нужна помощь с DFPlayer

Olejaa пише:
renoshnik пише:
Olejaa пише:

Да, решил использовать ардуинку. Плеер подключил к RX/TX Разьемам

Тогда зачем вам DFPlayer ?
Ардуина сама справится с воспроизведением звуковых файлов с СДкарты.

Где можно почитать информацию по этому поводу?

https://www.drive2.ru/b/2684104/

https://www.drive2.ru/b/3098242/

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму