Управление питанием DFplayer mini

Это требование для меня сложное. Рисовать схему мне долго потому что нет, ориентированных на Arduino, программ, фото ничего не объяснит. Собрано все, крайне, компактно и больше половины соединений невидно. И еще пучок МГТФ на иллюминацию вообще все запутает.

ездить я умею только синих машинах, а эта - зеленая…

Зачем вам “программа, ориентированная на ардуино”? Схему можно нарисовать в любой программе, обозначив Ардуину просто блоком с номерами пинов.
Да хотел бы, давно бы уже просто от руки на листочке бумажном нарисовал и сфоткал.

Тем не менее, с вашей помощью два прошлых проекта я закончил, а вам советую проявлять лояльность к таким, как я, ибо где мне еще учиться как не у вас, разве что у Гайвера…

У Димы Осипова попробуйте.

чисто конкретный вопрос - в данной самоделке случаем не используются ваши наработки по подключению двух девайсов к одному УАРТу , что обсуждались в вашей второй ветке? А то, может, проблема-то как раз в этом?

По крайней мере, это грамотней (похожее управление питанием я встречал в промышленной и бытовой схемотехнике), чем на некоторых англоязычных форумах мосфетом отключают GND от плеера, как будто это не плеер, а лампочка…

Нет. Аппаратный UART временный, что бы видеть диапазон изменений акселерометра в терминале для воспроизведения массива записанных треков по изменениям на осях. Потом я его отключу когда все настрою. Софтовый работает на плеер, акселерометр сидит на I2C. В принципе, в коде все видно…

Вот не хотел встревать, но как тут промолчать-то? Правила форума прямо запрещают указывать старожилам, как им следует себя вести :wink:

Мосфеты - шасметы - две ноги свободных в параллель и на питание плеера.

Все 250мА или скока он там жрёть - схемы то никто не видел :grinning_face: Больше интересно как на выключенном плеере TX генерит, а на включенном нет.

На плеере есть усилитель 3W и в пике на максимальной громкости ток доходит до 200мА. В библиотеке есть функция sleep();, но даже с ней плеер жрет 25мА. при питании от аккумулятора это не приемлемо. С этого все и началось…

Из за разности потенциалов. При постоянном питании на VCC плеера напряжение выше чем на линии Rx. Есть подозрение, что на линии есть подтягивающий резистор и если на VCC ничего то высокий уровень на Rx появится на и на VCC и плеер попытается включиться…

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

До этого только про 25мА видел. 3 Вт на 5 вольт и к.п.д. 50% это ни как ни 200 мА а раз в 5 больше. А так да, с ног питание не вытянет. Я б для начала на двух n-p-n p-n-p построил.

Это прерывание для пробуждения на пине 2. Акселерометр запитан постоянно, он много не жрет и выдает высокий уровень при обнаружении пороговых изменений

Wire.beginTransmission(ADXL345);
 Wire.write(0x31); // ENABLE sensivity  register (0x24)
 Wire.write(0x03); // sensivity 8g
 Wire.endTransmission();

 Wire.beginTransmission(ADXL345);
 Wire.write(0x24); // ENABLE active acceleration  register (0x24)
 Wire.write(0x0F); // 0xXX*62.5
 Wire.endTransmission();

 Wire.beginTransmission(ADXL345);
 Wire.write(0x27); // ENABLE activity for axes XYZ  register (0x27)
 Wire.write(0xF0); // Enable activity XYZ
 Wire.endTransmission();

 Wire.beginTransmission(ADXL345);
 Wire.write(0x2E); // Access the INT_ENABLE register (0x2E)
 Wire.write(0x10); // Enable activity interrupt (bit 4)
 Wire.endTransmission();

 Wire.beginTransmission(ADXL345);
 Wire.write(0x2F); // Access the INT_MAP register (0x2F)
 Wire.write(0x00); // Map data-ready interrupt to INT1 pin (bit 0)
 Wire.endTransmission();

Вот настройки регистров ускорений и прерывания

Wire.beginTransmission(ADXL345);
  Wire.write(0x30); // Start with register 0x30 (INT_SOURCE)
  Wire.endTransmission(false);
  Wire.requestFrom(ADXL345, 1);
  Wire.read();

…а здесь сбрасывается флаг прерывания чтением состояния регистра.

Это всё, конечно, замечательно, но повторю вопрос: - А аргумент может быть HIGH?


Еще раньше задавался вопросом, а не поплохеет ли МК при включении каждый раз уже включенного светодиода. А тут у вас на каждом проходе сначало прерывание подключается и тут-же выключается :slightly_smiling_face: Но может это тоже норм. Нинаю, Но бесит.
И в догонку - никаких полумер!

Да. Странно, но компилятор не против такого аргумента и он работает, а “в догонку” - таймер подбирался опытным путем для корректного воспроизведения треков…

Можно я спать пойду. Завтра еще пока пятница. На работе поговорим. Заодно и проверю теорию о 4-ом пине…

А зачем Вы пишете на форум вопросы, если не собираетесь читать ответы?

  1. Схему надо рисовать ДО начала сборки, поэтому непонятно, почем е у Вас до сих пор нет.
  2. Никто не мешает нарисовать схему в том же Paint’е.
  3. По поводу “долго” - мы никуда не спешим, поэтому у нас есть время подождать, когда Вы нарисуете схему.

Оно ничуть не сложнее вопроса, который Вы здесь задаете.

Компилятор не отслеживает логические ошибки - только синтаксические, да и то - весьма посредственно: язык Си вообще слабо защищен от ошибок, он разрабатывался в предположении “программист знает, что делает”.

…вы даже не понимаете, о чем речь

Ну, в этом, видимо, мы виноваты?

Вы бы определились, Вы сюда пришли получить совет(ы) или раздавать?