Настройка выводов цифровых портов микроконтроллера.
- Войдите на сайт для отправки комментариев
Чт, 04/08/2022 - 17:33
Со стандартными настройками все просто, но нужно следующее.
Имеется плеер, с кучей голосовых команд, управляется он просто. ЧТобы произнести нужную команду нужно нужный вывод подтянуть к нулю.
Можно ли цифровой вывод ардуино настроить так, чтобы он подтягивал к нулю, а не выдавал напряжение (не подтягивал к плюсу)? Если не ошибаюсь, то голый МК может, а вот в ардуино по описанию, он подтягивает цифровой вывод только к плюсу, когда настроен как выход, а не к минусу.
Управлять через последовательной порт не хочу, т.к. в тини88 его просто нет.
ошибаетесь, можно. вы путаете подтяжку, которая в ардуино (класика), возможна только к питанию.
Отлично, а каким образом? Аппаратно вообще пару пустяков сделать, при помощи оптопар, но это будет слишком много деталей.
https://arduino.ru/Reference/DigitalWrite
схему рисуйте как соединять будете, напортачить новичку там как нечего делать.
Отлично, а каким образом? Аппаратно вообще пару пустяков сделать, при помощи оптопар, но это будет слишком много деталей.
это будет более правильно с точки зрения схемотехники при соединении двух устройств.
Можно ли цифровой вывод ардуино настроить так, чтобы он подтягивал к нулю, а не выдавал напряжение (не подтягивал к плюсу)?
Вывод (pin) "подтягивает к нулю" , если он настроен как выход - pinMode(pin, OUTPUT) , функцией digitalWrite( pin, LOW);
Если же надо пин подтянуть к земле - это когда он настроен как вход
pinMode(pin, INPUT) то можно взять резистор 5 - 15 кОм , соединив вывод микросхемы через него с землёй
(GND)
Вот так все просто. Как внизу, там все просто, подал еденичку, светодиод оптопары загорелся, транзистор открылся, на плеере установился логический 0, заиграла голосовая команда.
А возможно ли то же самое без оптопары? В самом микроконтроллере вывод изначально не поддтянут никуда, а чтобы заиграла мелодия, мы сажаем его на землю, и на плеере устанавливается логический О, и играет мелодия.
Сори за кривой рисунок, я его перевернул, но на форуме вставился вертикально.
озвучили жеж :
Все было бы так, это практически стандартный blink, если бы не одно но, не должно быть на выходе ардуины напряжения в 5 вольт. На плеере вход навсегда подтянут к плюсу резистором. Чтобы запустить мелодию, нужно вывод плеера посадить на землю, на нем в таком случае станет 0.
Ардуинка же делает следующее, она в положении 0 делает как нам нужно, но в положении 1 она сама выдает напряжение в 5 вольт, а этого нам не нужно. Как вариант, можно просто диод поставить, чтобы ток мог идти только от плеера на землю, а не в него от ардуины, но вдруг можно лучше и проще.
Что есть в статье по управлению цифровым портом я прочитал первым делом, если бы подходило оно, то даже спрашивать бы не стал, ну к примеру если бы плеер управлялся как другой мк, 5 или 3.3 вольта логики на вход.
Samid777
Контроллеры АВР - атмега8 атмега328 атмега2561 и тд - имеют внутреннюю подтяжку выводов только в "плюсу". И это не зависит от того, обращаетесь ли вы к ним через ардуино или "на голом СИ". Они просто не умеют делать подтяжку к земле.
Если вам нужна подтяжка к GND - то либо ставьте внешний резистор, либо возьмите другой МК, у которого есть такая функция. например СТМ32
Добавка - по-моему, вам вообще не нужна подтяжка к земле. вам нужно переключать пин между GND и Z-состоянием - то есть когда он не подключен никуда. Это очень легко делается на ардуино переводом пина в режим INPUT
Все было бы так, это практически стандартный blink, если бы не одно но, не должно быть на выходе ардуины напряжения в 5 вольт. На плеере вход навсегда подтянут к плюсу резистором. Чтобы запустить мелодию, нужно вывод плеера посадить на землю, на нем в таком случае станет 0.
Ардуинка же делает следующее, она в положении 0 делает как нам нужно, но в положении 1 она сама выдает напряжение в 5 вольт, а этого нам не нужно. Как вариант, можно просто диод поставить, чтобы ток мог идти только от плеера на землю, а не в него от ардуины, но вдруг можно лучше и проще.
Что есть в статье по управлению цифровым портом я прочитал первым делом, если бы подходило оно, то даже спрашивать бы не стал, ну к примеру если бы плеер управлялся как другой мк, 5 или 3.3 вольта логики на вход.
А немного подумать? Зачем выдавать высокий уровень, когда можно просто перевести пин в режим INPUT? Или это недостаточно лучше и проще?
b707, v258 - ТС просто об этом не знает.
b707 Да, спасибо, вы правы, именно это и нужно. Про такой способ не знал, попробую.
v258, Немного подумать, если вы возмете в руки радиостанцию, или сигнал 20 то тоже у вас тоже появятся простые вопросы, на которые некоторым участникам форума даже думать не нужно будет. Ардуинкой я пользуюсь немного и не часто, потому некоторых вещей могут и не знать, и возможно не совсем верно сформулировал задачу, точнее верно, но не на общепринятом языке. ПОтому и привел схему, где неоднозначно уже меня понять не получится. Тем более как видите, вопрос возник по немножно не стандартной задаче, которая требует немного нестандартного решения, а для более опытных участников оно элементарное, за которое всем большое спасибо. В выходные попробую.
Я правильно понял, что подтяжкой принято называть, когда мы порт или вывод подтянули к плюсу, как нам требует то, с чем МК должен работать, а когда мы управляем выводом, то подтяжкой мы это не называем?
Немного подумать, если вы возмете в руки радиостанцию, или сигнал 20 то тоже у вас тоже появятся простые вопросы, на которые некоторым участникам форума даже думать не нужно будет. Ардуинкой я пользуюсь немного и не часто, потому некоторых вещей могут и не знать, и возможно не совсем верно сформулировал задачу, точнее верно, но не на общепринятом языке. ПОтому и привел схему, где неоднозначно уже меня понять не получится. Тем более как видите, вопрос возник по немножно не стандартной задаче, которая требует немного нестандартного решения, а для более опытных участников оно элементарное, за которое всем большое спасибо. В выходные попробую.
Я правильно понял, что подтяжкой принято называть, когда мы порт или вывод подтянули к плюсу, как нам требует то, с чем МК должен работать, а когда мы управляем выводом, то подтяжкой мы это не называем?
Выражаетесь как-то, мягко говоря, сумбурно. Что это ещё за такой «сигнал 20»?
»Подтяжка» это какой-то «потенциал» на выводе. Это может быть как потенциал + (vcc), так и - (GND).
Выражаюсь сумбурно потому, что очень редко именно на эту тему с кем либо разговариваю.
Сигнал 20, это из пожарной сигнализации, слаботочка.
Тут не в нем особо суть, речь о том, что каждый хорошо разбирается в свое деле. Я помогаю релейщикам, слаботочникам на других ресурсах, а кто-то помогает здесь разобраться с ардуино.
v258, Немного подумать, если вы возмете в руки радиостанцию, или сигнал 20 то тоже у вас тоже появятся простые вопросы, на которые некоторым участникам форума даже думать не нужно будет
Я, к слову, первый раз сел за радиостанцию еще в Советской армии почти 35 лет назад. Но даже если представить, что у меня появились вопросы - я не пойду сразу задавать их по форумам, сначала буду пытаться разбираться сам. Чтобы вопросы потом не выглядели слишком глупыми.
И да, становиться в позу тоже не стану, т.к. не самолюбие тешить приду, а информацию искать ;)
вопрос возник по немножно не стандартной задаче, которая требует немного нестандартного решения
И задача более чем стандартная, и решение тоже вполне стандартное
Я правильно понял, что подтяжкой принято называть, когда мы порт или вывод подтянули к плюсу, как нам требует то, с чем МК должен работать, а когда мы управляем выводом, то подтяжкой мы это не называем?
В целом да
В советской армии были слишком хорошие радиостанции. И очень хорошая документация. Если кто знает основы электроники, на уровне Советской книги "Юный радиолюбитель", он самостоятельно ее запустит. Не важно, портативочка ли это, вроде 105, либо она занимает три урала, построена на ЛБВ и амплитронах.
В современной технике в документации можно голову сломать.
Вот например, управление ячейкой Е1 осуществляется при выборе ячейки Е1.
Ломаешь голову, где же ее выбрать. Ведь никакого выбора как такового нигде нет.
Догадался правда быстро. Имеется ввиду подвести курсор просто к строке этой ячейки.
Освоил станцию с нуля, по документации. Довольно быстро. СПросить было не у кого, там я как раз тот, у кого спрашивали. Освоили даже с помощью ее не все. Есть люди с ВО, которые в ней не разобрались, пересадили за аппаратуру попроще.
Одно не понятно. Почему нельзя использовать на Ардуино digitalWrite(pin, HIGH), если пин плеера тоже подтянут к +5В? Или там другое напряжение?
Он подтянут к 3.3. Померял сразу, но с другой стороны можно поставить диод, когда на ардуино потенциал выше чем на плеере, то в плеер ничего не уйдет, когда на ардуино потенциал нуль, и низкоимпедансное состояние, то это равнозначно замыканию плеера на землю через диод. Через диод кстати срабатывает, проверял. Диод между выводами плеера и цифровым пином адруино.
Он подтянут к 3.3.
Это первое, о чём надо было сказать))
Тогда как #11, 12
А лучше как #4 ИМХО
Он подтянут к 3.3.
https://aliexpress.ru/popular/logic-level-converter-3.3v-5v-arduino.html
Да и обычный делитель напряжения никто не отменял
Делитель напряжения зачем? Вы не совсем понимаете, зачем он нужен, или не поняли мою задачу.
Плеер имеет ВСЕГДА высокоимпедансное состояние. У него другого не бывает.
ЧТобы запустить мелодию 1, нужно вывод 1 посадить на землю. Напряжение в таком случае упадет до нуля, и мелодия заиграет.
Цифровой порт ардуино в режиме выхода, при состоянии логической О имеет низкомпедансное состояние, и в этом режиме если его подключить а плееру мелодия заиграет.
А вот в режиме выхода и логической 1 ардуино выдает + 5 вольт, что нам не подходит.
И мне подсказали ребята правильно, порт делаем входом, мелодия не играет, т.к. у входа высокое сопротивление, и на плеер никак не действует.
Вход делаем выходом, состояние 0, и мелодия заиграет, и именно этот момент я сам не догадался, а когда узнал, спасибо всем, кто подсказал, то понял, как тут все просто.
В каком месте можно поставить ваш делитель? Если бы плеер был бы на 3 вольта, и управлялся не просадкой до нуля, а на него нужно было бы подать логическую единицу, то все было бы просто, я бы сделал делитель на резисторах.
ПОтому я не понимаю, вы или просто не прочитали, что требуется, или забыли, или просто поумничать? Да еще и не правильно.
Делитель напряжения зачем?
Это один из способов согласования напряжения. На будущее. Здесь тебе не нужен. Но умел бы ты читать, не стал бы мне сейчас через губу рассказывать, что тебе уже подсказали, как сделать. Ибо я как раз и был в числе тех подсказчиков.
ПОтому я не понимаю
Вот и не умничай ))
Ох уже эти троли.... Где мне взять сил их не кормить...
Да все верно тебе говорят. Если через делитель напряжения на вход плеера подать теже 3В (3.3В скорее всего), то ничего не поменяется. Но уже выше тебе писали - проще просто переводить порт в режим входа (INPUT) и не париться.))
Нет, не правильно. Если бы на вывод плеера, который подтянут к 3.3 вольт, подать через делитель 3.3. вольт, то плееру на это плевать, с этим согласен.
А вот когда мы при помощи ардуинки попытаемся посадить вывод плеера на землю, то вот тут у нас может ничего не получится. Точно можно сказать, если знать сопротивления резисторов делителя, сопротивления резистора, через который подтянут плеер, напряжение, которое плеер однозначно воспринимает как О.
А если бы плеер подтягивался бы к 5 вольтам, то та, поставил бы как выход, подал 1, ушло 5 вольт, но плееру плевать, поставил 0, плеер сел на землю, проиграл мелодию.
Про перевод в вход выход это да, все просто, и будет работать.
Да все верно тебе говорят. Если через делитель напряжения на вход плеера подать теже 3В (3.3В скорее всего), то ничего не поменяется. Но уже выше тебе писали - проще просто переводить порт в режим входа (INPUT) и не париться.))
Проще как раз с делителем - код хоть на строчку, но короче. И прозрачнее
А вот когда мы при помощи ардуинки попытаемся посадить вывод плеера на землю, то вот тут у нас может ничего не получится. Точно можно сказать, если знать сопротивления резисторов делителя, сопротивления резистора, через который подтянут плеер, напряжение, которое плеер однозначно воспринимает как О.
А если бы плеер подтягивался бы к 5 вольтам, то та, поставил бы как выход, подал 1, ушло 5 вольт, но плееру плевать, поставил 0, плеер сел на землю, проиграл мелодию.
Про перевод в вход выход это да, все просто, и будет работать.
Боже, как объяснить человеку, что "подавая" на пин ардуинки низкий уровень, мы фактически замыкаем его на землю, и плевать на все подтяжки. Да, собственно, как он сейчас-то рулить собирается, не "нулем" ли?
Он, поди, еще и земли плеера и ардуинки не соединит во избежание... )))
Все было закончено и понятно еще на #10, грамотный и не нуждающийся в дополнении ответ.
Дальнейшее повторения правильного ответа не нужно. Так любой может.
ТЕму прошу закрыть, все, что ниже #10 удалить.
Если вас ответ устраивает и проблему вы решили - не вижу смысла убеждать в чем либо человека.
А вот когда мы при помощи ардуинки попытаемся посадить вывод плеера на землю, то вот тут у нас может ничего не получится. Точно можно сказать, если знать сопротивления резисторов делителя, сопротивления резистора, через который подтянут плеер, напряжение, которое плеер однозначно воспринимает как О.
Всё же ТС здесь отчасти прав)) Верхний резистор делителя при этом должен быть достаточно мал, а резистор подтяжки плеера достаточно велик, чтобы получился лог 0.
Вернее не так - сложится сопротивление резистора делителя и резистора подтяжки, и может быть маловато. Но это специально надо очень постараться, чтоб так получилось))
Автор топика просто теоретик. Даже не удосужился дать ссылку на плеер, который собирается использовать, не говоря уже о конечной схеме устройства. Ему говорят, что соединив выводы ардуина на которых програмно в сетаапе установлены высокие уровни с выводами плеера и плеер будет молчать. И когда ардуино установит программно низкий уровень на соответствующем выводе, будет играть у него мелодия соответствующая этому выводу. Вместо того чтобы это сделать, топикстартер вообще ничего не делает. Не надо никаких высокоимпедансных состояний на входах плеера. Это же классическая схема. Капец какой то, егэшники блин.
Всё же ТС здесь отчасти прав)) Верхний резистор делителя при этом должен быть достаточно мал, а резистор подтяжки плеера достаточно велик, чтобы получился лог 0.
Вернее не так - сложится сопротивление резистора делителя и резистора подтяжки, и может быть маловато. Но это специально надо очень постараться, чтоб так получилось))
Никогда такого не было, и вот опять (с). Логический 0 - это не 0 вольт, это (если упростить) все, что ниже половины напряжения питания.
DY-SV17F
Вот плеер. Только сам плеер тут значения не имеет. Я мог там логический элемент нарисовать, потдянутый сверху резистором по плюсу, и вопрос как поменять логическое состояние на его входе был бы тем же самым.
Автор и теорией, и практикой и занимается, просто немного другой. Если знакомы как минимум с картами Карно, то можете сказать что я так себе теоретик, а если просто в интернете прорслушали пару видеокурсов по ардуино, собрали 100 самоделок, но не знаете закон ома для полной цепи, то так себе ваши заключения. А ардуино нужна для того, чтобы еще лучше заниматься своей практикой, я писал что это не основная моя задача. (Слаботочка)
Про то, как управлять плеером, я давно уже понял. И задача не самая стандартная, не очень логично подумать, что можно пин переключать как вход, где по идее он должен работать как выход. Это как вровень выпирать.
Когда соединить ардуино с высоким уровнем с плеером что он будет молчать это ежу понятно. А какой ток пойдет через пин? В плеер по идее вообще не должно подаваться 5 вольт.
Егэшник? Мое пенсионное удостоверение показать? Не по инвалидности, настоящее. Ну ладно, немножко схитрил, я пол жизни прожил там, где пенсия приходит в полтора раза раньше, не тем не менее.
А теперь что тут творится. На каждом форуме есть свои... любители погадить, и те, кто реально помогают.
Вот на одно форуме, где схем нет, сидел я много лет, помогал, сам иногда чтото справшивал, но однажды находясь в полях понадобилось мне найти какуюто программулинку, где инет чуть ли не побитно. Зашел под гостем, спросил. Умников, как один в этой теме, нашлось много, даже среди тех, кому сам раньше помогал. Желающих дать ссылку, ни одного. БОльше я туда не заходил. Здесь то же самое, как и раньше. Есть те, кто хочет помочь, а есть те, кому надо когото обосрать. При том, что местный троль еще и в полтора раза меня старше скорее всего, то я совсем не понимаю. Раньше так общаться не учили. Тем не менее пришел, обгадил, победил.
Да я не спорю, я лишь дополнить)) и пишу жеж лог 0. Я про то ,что у ТС есть доля процента от правды. Ведь не ставят в подтяжку 500кОм, есть границы, когда она будет уже неустойчивой . А в делитель можно и 1МОм поставить, всякое в жизни бывает))
Да я не спорю, я лишь дополнить)) и пишу жеж лог 0. Я про то ,что у ТС есть доля процента от правды. Ведь не ставят в подтяжку 500кОм, есть границы, когда она будет уже неустойчивой . А в делитель можно и 1МОм поставить, всякое в жизни бывает))
Сдуру можно и хер сломать. Соотношение плеч делителя в данном случае должно быть один к двум, и абсолютные номиналы погоды не сделают.
То ТС. Тебя обманули, на этом форуме народ не для помощи новичкам. Здесь клуб по интересам, и обучение нубов в интересы не входит. И плач о тяжёлой доле тоже никому не интересен. Худо-бедно получил решение? Занимайся, нечего тут понты колотить ;)
Так благодаря таким как ты тут на сотню другую специалистов меньше чем могло бы быть. Сколько я наблюдал что из за хамов уходят люди, которые на форумы принесли кучу полезного. Так что сиди, все было классно, пока ты не пришел. Только хоть бы знал что, так нет, судя по постам, пальцем тебя научили куда на кнопки тыкать, а понимать что делаешь не научили. И прочитай как форум называется, в котором ты пишешь.
Сказали же выше, ставишь обыкновенный делитель и всё. 1кОм на землю 500 ом на вывод ардуины, общий резисторов на вход плеера. Всё. Нет в вашем плеере ни какой подтяжки к питанию. Пины идут прямо на входы чипа. А вообще самое простое управлять плеером по Tx/Rx.
Я о таком случае
Если я не прав, поправьте пжлст
Только хоть бы знал что
Совсем тупой, да? Сообщение #11? Ну да, ты ж не читатель... Но сколько б ты пользы этому форуму принес, если б не такие, как я... Кстати, с настоящими хамами из наших ты пока не пересекся )))
Я о таком случае
Если я не прав, поправьте пжлст
Эммм, а зачем там подтяжка, если есть делитель?
. И прочитай как форум называется, в котором ты пишешь.
https://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-n...
Почитай, раз уж до сих пор не удосужился.
Эммм, а зачем там подтяжка, если есть делитель?
Отдельное устройство, уже распаяна, как часто бывает
Даже и без неё, общее сопротивление делителя может быть маловато для устойчивой работы. 1-wire например, нужно вообще 4.7кОм. Но это лишь частный случай, не чтобы спорить, а для точности))
Эммм, а зачем там подтяжка, если есть делитель?
Отдельное устройство, уже распаяна, как часто бывает
Даже и без неё, общее сопротивление делителя может быть маловато для устойчивой работы. 1-wire например, нужно вообще 4.7кОм. Но это лишь частный случай, не чтобы спорить, а для точности))
Нету на том модуле штатной подтяжки. А так да, в каждом конкретном случае смотреть надо ))
SAB
Я завтра сделаю фото, что там на выходах управления 3.3. Там есть подтяжка к плюсу. И впринципе такой делитель может и заработать. Но немного его работа будет необычной. Если просто подключить делитель к плееру, то плеер включит мелодию. ПОтому что даже при замыкании резистором в 10 ком на землю запускается мелодия. Мы просадим этим делителем напряжение, т.к. его сопротивление слишком низкое. Но если на вход этого делителя подать напряжение 5 вольт, то туда вернется напряжение около 3 вольт, и скорее всего плеер будет считать это как не нажатую кнопку. Т.е. мы как бы управляем плеером наоборот, мы выводы посадили на землю, а когда надо землю убрать, (почти всегда) просто подаем логическую 1.
Только согласование уровней которое предложил V258 далеко не факт что заработает, нужно смотреть его схему. Если только со стороны выхода плеера повесить резистор, на несколько ком, и подключить между плеером и ардуино делитель, то вполне возможно все получится.
В воскресенье попробую побаловаться, напишу.
Тинька 88 не имеет своего последовательного порта. Когда нано подойдет, тогда переделаю именно так.
Сделай вот так (при подаче высокого уровня на вывод ардуино, Control pin плеера притянется к земле):
И уровни развязаны и просто. :))
3-4 детали можно и навесным монтажом сделать...
R1 только на 1кОм поставь, а не на 10
Думаешь от 2.5В на базе транзистор не откроется? ))
Думаешь от 2.5В на базе транзистор не откроется? ))
а посчитать?