Переделка блютуз ушей
Хочу сделать из старых блютуз ушей блютуз в автомагнитолу, с питанием от usb самой магнитолы, но для этого нужно понизить напряжение с 5в, до 3.3в, не меняя силу тока, как это проще всего сделать?
Хочу сделать из старых блютуз ушей блютуз в автомагнитолу, с питанием от usb самой магнитолы, но для этого нужно понизить напряжение с 5в, до 3.3в, не меняя силу тока, как это проще всего сделать?
По просьбам трудящихся Михаил добавил акселерометр в недавний проект. И заодно расскажет, как он работает.
Приятного просмотра и с наступившим Новым 2020 годом!
Также можете подписаться на наш канал, чтобы не пропустить новые видео: http://youtube.com/arturostv
5 августа 2019 г в 19-32 на частоте семь мгц провел связь с UA6YT Сергей около Майкопа
4 августа 2019 года в 17-52 на частоте семь мгц провел связь в телеграф с RM5W оператор Юрий
4 августа 2019 года в 16-21 мsk на частоте семь мгц провел саязь с RX3AQW Александр Московская область
3 августа 2019 года в 10-02 мsk на частоте семь мгц провел связь с R4RO
29 июля 2019 года в 19-03 мsk на частоте семь мгц в режиме CW провел связь с UA9CES
28 июля 2019 года в 19-00 мsk на частоте семь мгц провел связь в CW с UT2IY
28 июля 2019 г ода в 18-37 мsk на частоте семь мгц проведена связь в CW с RT6DF оператор Иван Горячий Ключ
28 июля 2019 года в 17-11 мsk в CW на частоте семь мгц была проведена связь с RB5VLZ
28 июля 2019 года в 16-36 мsk в режиме телеграф на частоте семь мгц провел двухсторонюю связь с радиостанцией UB4WBD
27 июля 2019 год в 13-54 мsk в режиме SSB-CW на частоте семь мгц провел связь с RX3DQ
26 июля 2019 года в 16-46 мsk в режиме CW на частоте семь мгц провел связь с UN7CAP Оператор Виктор
26 июля 2019 года в 15-07 мsk в рeжиме SSB - CW на частоте семь мгц провел связь с RK6B
26 июля 2019 год в 13-00 мsk в режиме SSB - CW на частоте семь мгц провел связь с RZ3DY
25 июля 2019 года в 16-50 мsk в режиме CW-SSB на частоте семь мгц провел связь с Сергеем из Таганрога позывной UA6LJV
22 июля 2019 года в 20-46 мsk в режиме CW на частоте семь мгц провел связь с LZ3LD
22 июля 2019 года в 17-45 мsk в режиме CW на семь мгц провел связь с UH3EW
22 июля 2019 года в 14-56 мsk на частоте семь мгц провел связь CW-SSB с RX3O
3 июля 2019 год в 20-03 на частоте 7,0 мгц в режиме СW провел связь с RA6VD
1 июня 2019 года в 17-54 мск на частоте 7,0 мгц в режиме CW проведена связь с RW9WK
3 мая 2019 года в 13-05 мsk на частоте 7,0 мгц в режиме CW провел связь с RP74MY
1 мая 2019 год в 16-30 мsk на частоте 7,0 мгц в режиме СW провел связь с Новогородской областью с UF1T Николай
29 апреля 2019 года в 18-00 мsk на частоте 7,0 мгц в режиме CW провел связь с Белгородской областью позывной RU3ZL Георгий
26 апреля 2019 года в 18-00 мsk на частоте 7,0 мгц в режиме CW провел связь с UN7ZW Юрий из Казахстана
25 aпреля 2019 годa в 16-45 мsk на частоте 7,0 мгц провел связь с UA3VYM
22 апреля 2019 года в 8-53 мск на 7,0 мгц провел связь с Волгоградской областью с UA4AKR оператор Александр.
21 апреля 2019 года в 12-50 мsk на частоте 7,0 мгц провел связь в режимах SSB-CW с UA3WCF из Курска оператор Александром.
10 апреля 2019 года в 17-10 мsk на частоте 7,0 мгц в режиме CW провел связь с R100М
24 октября 2018 года в 17-34 поовел связь на 7,0 мгц в CW с радиостанцией RN3DA
22 октября 2018 года в 15-16 msk провел связь на частоте 7,0 мгц в режиме CW с RW3WP Геннадий Курская область
22 октября 2018 года в 13-50 мsk на частоте 7,0 мгц в режиме CW провел связь с RM2Z
22 октября в 13-40 мsk на частоте 7,0 мгц провел связь в режиме CW с Александром из Ростова на Дону позывной RX6MY
20 октября 2018 года на частоте 7,0 мгц провел связь UA3AIU оператр Герман из Москвы в режиме в SSB.
17 октября 2018 года в 17-30 мsk на частоте 7,0 мгц в режиме CW провел связь с UX6UB
3 октября 2018 года в 15-54 мск на частоте 7,0 мгц провел связь в CW с RA9DW
2 октября 2018 года в 15-45 msk на частоте 7,0 мгц в режиме CW прведена связь с UR5RA
24 сентября 2018 года в 18-00 msk на семь мгц в режиме CW провел связь с UR5UEY
18 сентября 2018 года 9-40 московского времени на частоте 7,0 мгц в режиме CW провел сязь с R3LB
14 сентября 2018 года 16-50 мsk 7,0 мгц вид модуляции CW проведена связь с Башкорстаном позывной RW4WK
13 сентября 2018 года 17-30 мск на частоте 7,0 мгц провел связь в CW с UT5RR оператор Николай
30 августа 2018 года 8-21 мск связь с RK1PWA пос. Амдерма Архангельской области на частоте 7,0 мгц в режиме CW
28 августа 2018 года 8-30 мск провел связь с R9HT на частоте 7,0 мгц была проведена связь в режиме CW
В состав радиостанции RK4LWE входят контрольный, регенеративный приемники и передатчик.
Предисловие
У меня дома есть пара комплектов хороших советских акустических систем. Но техника эта довольно старая и просто не может включаться с пульта или автоматически, а постоянно подходить к усилителю звука и включать/выключать его просто лень. Это проблему я и решил. Сначала была куплена ардуино и проект был сделан на ней, но качество работы меня не устроило и проект был переделан под STM32F103C8. В итоге у меня получилось устройство, которое имеет 4 аудио-входа, 1 аудио-выход, вход 220В и выход 220В. При наличии хотя бы одного активного аудио-входа на выходе 220В появляется напряжение, тем самым включая усилитель звука, и активный аудио-канал передается на выход.
Сложности при разработке
Казалось бы все просто: если АЦП получает не 0, тогда считать канал активным. Все почти так, но это работает только если включить источник аудио-сигнала и выключить на нем звук. При выключенном состоянии разные устройства дают разные помехи, тк они не полностью обесточены. Да и у плохих источников звука микроконтроллер мог улавливать помехи при выключенном звуке, причем довольно сильные. И это именно помехи источника, помехи на моей внешней аудиокарте STMка не видит, более того тихий звук с нее — 0.
Как сделать себе такое?
Давайте прежде всего определимся что нам надо. Писать стоимость я не буду, т.к. это сильно зависит от Вашего местоположения.
Что нам понадобится:
печатная плата
программатор ST-Link v2
1 чип STM32f103C8
4 реле для коммутации входного аудио-канала на выход
1 реле для коммутации 220В для включения усилителя
AC-DC понижающий преобразователь 220В — 5В(можно взять со старой зарядки телефона)
сетевой провод и разъем для подачи тока нашему устройству и усилителю
розетка
резисторы, конденсаторы и другая мелочь
Естественно нам понадобятся аудио-провода и minijack штекера с гнездами.
Хотелось бы заострить внимание на выборе реле… Если с выбором 220В реле все предельно понятно: оно должно «уметь» коммутировать 220В переменное напряжение и управляться 3.3В. То с выбором звуковых реле не все так просто. Далеко не каждое реле, даже твердотельное, не будет давать помехи на выходе, а нам это очень важно. Я живу в Минске и не смог ничего найти подходящего и по адекватной цене, поэтому были заказаны с известного китайского магазина 4 реле PVT322A. Возможно в вашем регионе вы сможете найти что-то подешевле.
Схема и разводка печатной платы :
Раз уж начали, то продолжим изучать аппаратные особенности. На схеме, которую вы можете найти в репозитории в папке Eagle нужно подобрать токоограничительные резисторы(R4-7) под ваши реле. В моем случае это 30 Ом. Так же есть катушка L1: выбирайте любой фильтр, сглаживающий высокочастотные помехи.
Заказать печатную плату вы можете на PCBWAY или JLCPCB. Цены у них низкие, я заказывал у JLCPCB и они выставили мне счет всего в 2$. При заказе печатной платы вам нужны будут гербер файлы, вы из сможете найти все в той же папке или сами сгенерировать.
Перейдем к программной части
Рассказывать как подключить программатор к компьютеру, установить среду программирования и драйвер я не буду, т.к. этих инструкций очень много и они предельно доступные. На моей схеме предусмотрены выходы для программаторы. Я использовал Visual Studio 2017 + VisualGDB. Скачав проект из того же репозитория мы сможем открыть проект. Сразу же обратим на файл Settings.cpp.#define DEBUG0 0//init USART and send all measurement values
#define DEBUG1 1//init USART and send information about recognition music or not
#define DEBUG2 0//just init USART
#define MaxEqualToZeroValue 3 //the value which equal or less is equated to zero
#define MaxAvarageForNoise (float)0.4//this is max avarage of measurement values so that the sound is considered noise for NOT active channel
#define MaxAvarageForActiveNoise (float)0.06//this is max avarage of measurement values so that the sound is considered noise for active channel
#define CountOfConsecutiveZeroValueForNoise 250//if count of consecutive zero values bugger it that sound is equated to noise
#define MinCountOfZeroValue 550//it's minimum count of zero values to equate to music(not consecutive)
#define USE_LED 1
#define LED_GPIO_PERIPH RCC_APB2Periph_GPIOC
#define LED_GPIO_GROUP GPIOC
#define LED_GPIO_PIN GPIO_Pin_13
#define USE_AMP 1
#define AMP_GPIO_PERIPH RCC_APB2Periph_GPIOB
#define AMP_GPIO_GROUP GPIOB
#define AMP_GPIO_PIN GPIO_Pin_12
Все настройки в этом файле задокументированы, но мы все равно остановимся на каждой настройке.#define DEBUG0 0
#define DEBUG1 1
#define DEBUG2 0
Если присвоить дефайну DEBUG0 единицу, то наше устройство перестанет что либо делать, кроме того, что выводить по UARTу значения, которые он получает с аудио-входов в формате, который может «переварить» SerialPortPlotter.
Если же присвоить единицу DEBUG1, то устройство уже будет полностью функционировать, но будет выводить немного информации о работе по UARTу. Это все нужно исключительно для отладки.
Присвоение DEBUG2 даст всего лишь инициализацию UARTа. Если вы не понимаете, зачем это, то и не надо :-)#define MaxEqualToZeroValue 3
Далее у нас параметр отвечающий значение которого или менее будет считать нулем. Как уже было ранее сказано некоторые источники звука плохого качества и сильно зашумлены.#define MaxAvarageForNoise (float)0.4
Если аудио-канал сейчас не активен(т.е. канал, который сейчас не коммутируется на выход) и среднее значение измерений за один цикл измерений по этому каналу меньше значения этого параметра, то канал считается без звука.#define MaxAvarageForActiveNoise (float)0.06
Этот параметр почти тоже самое, что и предыдущий, только для активного на данный момент канала. Дело в том, что когда канал активен и усилитель работает, то происходит падение напряжения аудио-канала. И если пренебречь этой настройкой, то устройство будет считать, что звук есть даже когда провод не подключен ни к какому устройству.#define CountOfConsecutiveZeroValueForNoise 250
Этот параметр исключительно для оптимизации расхода процессорного времени. Если устройство встречает подряд заданное количество нулей, то оно считает, что это сигнал не звук.#define MinCountOfZeroValue 550
А это уже важная настройка. Некоторые устройства, когда выключены создают странные помехи, но я выделил один общий фактор среди них: они очень редко опускаются до нулевых значения. Именно поэтому пришлось ввести этот параметр. Если количество нулевых значений за один цикл измерений меньше заданного, то сигнал считается шумом.#define USE_LED 1
#define LED_GPIO_PERIPH RCC_APB2Periph_GPIOC
#define LED_GPIO_GROUP GPIOC
#define LED_GPIO_PIN GPIO_Pin_13 #define USE_AMP 1
#define AMP_GPIO_PERIPH RCC_APB2Periph_GPIOB
#define AMP_GPIO_GROUP GPIOB
#define AMP_GPIO_PIN GPIO_Pin_12
Данный блок предельно понятен для тех, кто уже программировал микроконтроллеры. Он выбирает пин на котором будет расположен светодиод и выход на реле управления усилителем. Если Вы не будете изменять мою схему, то эти параметры Вам не нужны.
Перейдем к следующим настройкам:
Открыв файл main.cpp, в самом начале функцииint main()
вы найдете определение кучи переменных.
Остановимся на этом поподробней. Там достаточно много параметров, отвечающих за аппаратую настройку микроконтроллера. Их мы затрагивать не будем.const uint8_t channelsCount = 2;
Это количество входных аудиоканалов, которые будут использоваться.const uint8_t countOfIterationsForSwitch = 5;
Количество циклов измерения, необходимое для изменения состояния активное/пассивное.const uint8_t ADCSampleTime = ADC_SampleTime_239Cycles5;
Этот параметр отвечает за качество измерения. Оно установлена максимальное, не рекомендую его менятьconst uint16_t measurementsDuration = 2000;
Это время в ms, в течение которого будет производится один цикл измерений.const uint32_t measurementFrequencies[] = { 1000, 1000, 1000, 1000 };
Не знаю зачем, но я реализовал функцию, которая позволяет проводить измерения входных каналов с разной для каждого канала частотой. Может кому-то эта функция будет нужна.
Заключение
Ну вот и все. Все необходимые настройки я описал. Осталось только собрать схему, скомпилировать проект, залить прошивку в микроконтроллер и радоваться.
В заключении хотелось бы сказать, что нельзя просто так оставить входной аудио-провод «не воткнутым» ни во что, нужно его вставить в какое либо устройство или заглушку в виде гнезда minijack, в котором все контакты соединены между собой.
Если у вас источники звука довольно хорошие, то вы можете поставить низкие параметры настроек, но для переключения состояния звука может потребоваться его выключение (не из розетки). Возможно когда нибудь я добавлю ссылку на 3D модель корпуса, но пока у меня нет 3D принтера и корпус на данный момент такой. Но это только пока: 3D принтер уже собирается :-)
Спасибо за прочтение.
Статья на хабре
Появился люминесцентный индикатор ИВ-28б.
Помогите подобрать дешифратор.
(напряжение андов в районе 24в)
Я в радиотехнике новенький, поэтому не очень понимаю что и как.
Мне нужен элемент или схема имеющая 1 вход и 2 выхода, что когда подается напряжение на вход, то появляется напряжение на первом канале; а когда напряжение отсутствует на входе, то напряжение появляется на втором канале.
Этот пост - продолжение вчерашнего Наручные часы на OLED и Atmega328P
Дабы сразу избежать многих вопросов, дублирую ссылку на оригинальный пост в блоге автора проекта: https://blog.zakkemble.net/diy-digital-wristwatch/
Итак, за 300 рублей мне напечатали корпус для моих часов. Качество, конечно, оставляет желать лучшего, но я до сих пор в поисках организации, занимающейся 3Д печатью, чьи изделия будут достойного качества.
Корпус состоит из двух половинок и 3 кнопок: абсолютно все детали пришлось дорабатывать ножом/напильником/Дремелем/наждачкой, так как геометрия очень сильно плавала.
В итоге всё же удалось поместить часы в корпус, однако была и другая задача: внедрить в этот же корпус чип и антенну от бесконтактной банковской карты.
Был выбран банк (не реклама, а для понимания ситуации), выпускающий карты бесплатно и не требующий их обратно по истечении срока действия.
И да, на карте написано, что она является собственностью банка, но в договоре на обслуживание нет ни слова о последствиях подобных махинаций с ней, так что я решил попробовать.
По советам из интернета, пластик отлично растворяется в ацетоне - у меня на это ушло меньше часа (на дне банки - другая пластиковая карта, для теста):
Начинка:
Вернёмся к часам. На свободном месте разместил чип:
А антенну перемотал, разместив по периметру экрана - как можно ближе к наружной части часов, всё-таки радиус действия у неё небольшой:
Поставил верхнюю крышку:
Как видите, корпус совсем незначительно увеличил размеры (толщина всех стенок - меньше миллиметра).
Проверка кнопок, да и просто фото с разных ракурсов:
Ещё:
Приложением на телефоне проверил работоспособность антенны. Радиус действия остался таким же, как и до всех манипуляций - это обрадовало.
С ремешком:
И ещё фото после обработки лицевой панели наждачкой и ацетоном. Она стала чуть более гладкой и глянцевой:
Отверстия под дисплеем - для светодиодов "фонарика" и будильника.
Для тех, кто задавал вопросы под прошлым постом: за два дня использования часов, регулярного включения дисплея для показа времени, игр и демонстрации возможностей всем заинтересовавшимся, аккумулятор разрядился с примерно 4,15 В до 4,087 В - при этом индикатор уровня заряда остаётся "полным". Для себя я сделал вывод, что одного заряда мне хватит надолго - как раз тот результат, о котором мечтал.
Если есть ещё какие-то вопросы по существу - постараюсь ответить.
Если кто-то хочет помочь с печатью корпуса в лучше качестве - оставляйте контакты в комментариях или пишите на почту - буду благодарен.
matvey6191@gmail.com
Этот пост - небольшое разнообразие среди моих постов о ламповых часах, вдруг кому будет интересно.
Вот результат:
Оригинальный проект был случайно найден на просторах интернета несколько месяцев назад. Вот он: https://blog.zakkemble.net/diy-digital-wristwatch/
Первым делом были заказаны платы. Так как я не был уверен в успехе, заказал всего 5 штук, каждая из двух частей (собственно плата и проставка под дисплей):
Сами платы с чёрной маской, так что и торцы я покрасил в чёрный цвет:
В проекте применены детали, которые не продавались в магазинах моего города - их пришлось заказывать в различных интернет-магазинах - это заняло много времени.
Промежуточный этап сборки:
Почти законченная конструкция:
Для тестового запуска был использован обычный 18650 аккумулятор:
И вот тут началось самое интересное. Часы работали, но дисплей отображал лишь одну строку, да и то некорректно. Долго я пытался выяснить, в чём проблема, и наконец у меня это получилось. Как оказалось, проект хоть и поддерживает два типа дисплеев (которые выглядят одинаково, но имеют разный встроенный контроллер), прошивка компилируется под конкретную модель. Естественно, у меня была куплена не так. Сразу же я заказал новый дисплей, но так как ждать из Китая его долго, стал разбираться дальше. Нашёл исходники, скачал компилятор, стал править прошивку. И вот, спустя несколько попыток, у меня получилось:
Далее последовала финальная сборка. Приклеил плату-проставку:
А к ней - дисплей:
Справа, кстати, первая плата, прошитая под другой дисплей. Новую собрать мне было проще, чем выпаивать из этой микроконтроллер (пробовал программировать его внутрисхемно - не получилось).
Тестовое включение после приклейки дисплея:
Затем был куплен аккумулятор:
Его установил пока просто так, но в планах - тоже приклеить к плате.
Финальный вид:
Убрал плёнку с экрана, установил ремешок:
Вид сбоку:
Функционал у них относительно большой. Помимо часов имеется фонарик:
В нём несколько режимов:
Будильники с настройкой по дням недели:
Две игры как на тетрисе:
Диагностика, настройки экрана и звуков, даже термометр:
В планах - изготовление корпуса (ищу контору с приемлемым качеством 3D-печати). Если всё получится, напишу об этом пост.
Ну а на этом пока всё. Ссылка на первоисточник есть - там найдёте все файлы для повторения.
Если есть какие-то вопросы - пишите, постараюсь ответить.
matvey6191@gmail.com