Multi-function Shield инвертированы сигналы на пинах

yoshka
Offline
Зарегистрирован: 12.03.2021
Всем доброго времени суток.
 
Дискламбер: я новичок в этом деле, прошу сильно не пинать :)
 
Столкнулся с необычным поведением Multi-function Shield:
 
digitalWrite(номерПина,HIGH)- светодиод ВЫКЛЮЧЕН
digitalWrite(номерПина,LOW)- светодиод ВКЛЮЧЕН
// параметр номерПина задается 10, 11, 12, 13 - так они распаяны на Multi-function Shield  
digitalRead(номерПина)==1 - кнопка НЕ НАЖАТА
digitalRead(номерПина)==0 - кнопка НАЖАТА
//параметр номерПина задается A1, A2, A3 - так они распаяны на Multi-function Shield
 
кто-нибудь сталкивался с таким?
 
Я подставил следующий костыль:
//Реверсируем светодиоды и кнопки
#define LED_OFF HIGH //светодиод выключен
#define LED_ON LOW //светодиод включен
#define BUT_OFF 1 //кнопка не нажата
#define BUT_ON 0 //кнопка нажата
 
Тот-же фокус с пищалкой, я еще не придумал, как на ней инвертировать частоту.
Но хочется решить проблему глобально, сейчас один и тот-же скетч на Ардуино и на Multi-function Shield выполняется с точностью до наоборот.
yoshka
Offline
Зарегистрирован: 12.03.2021

Разобрался, вопрос снят.

Извините, был напуган :)

Прошу удалить тему

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

yoshka пишет:

Всем доброго времени суток.
 
Дискламбер: я новичок в этом деле, прошу сильно не пинать :)
 
Столкнулся с необычным поведением Multi-function Shield:
 
digitalWrite(номерПина,HIGH)- светодиод ВЫКЛЮЧЕН
digitalWrite(номерПина,LOW)- светодиод ВКЛЮЧЕН
// параметр номерПина задается 10, 11, 12, 13 - так они распаяны на Multi-function Shield  
digitalRead(номерПина)==1 - кнопка НЕ НАЖАТА
digitalRead(номерПина)==0 - кнопка НАЖАТА
//параметр номерПина задается A1, A2, A3 - так они распаяны на Multi-function Shield
 
кто-нибудь сталкивался с таким?
Вообще-то это стандартное подключение. Так что, я думаю, все сталкивались.
Цитата:
Тот-же фокус с пищалкой, я еще не придумал, как на ней инвертировать частоту.
Инвертировать частоту - это как?
Цитата:
Но хочется решить проблему глобально, сейчас один и тот-же скетч на Ардуино и на Multi-function Shield выполняется с точностью до наоборот.
А в чем проблема то?

Если уж задаете вопросы по какому-то шилду, следовало бы привести его схему. Иначе говорить не о чем.

yoshka
Offline
Зарегистрирован: 12.03.2021

Спасибо за ответ и советы.

Уже разобрался, вопрос снят.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Так, все-таки, что значит "инвертировать частоту"?

yoshka
Offline
Зарегистрирован: 12.03.2021
 
Возможно, некорректно выразился.
Новичок в этом деле, не владею терминологией в совершенстве.
 
звук при выполнении команды tone (3,1000,500) разный на Arduino UNO R3 (чип CH340G + MEGA328P 16 МГц) и на Multi-function Shield (3118ay-zz K68641BS)
Предположил, что частота инвертирована так-же как инвертированы HIGH и LOW (для светодиодов) и 0 и 1 (для кнопок).
 
Насчет схемы шилда - я в теме вопроса указал девайс - Multi-function Shield, предполагая, что получу ответ от тех, кто понимает, о чем идет речь. Нужно ли в этом случае приводить схему? И если существуют разные версии этого шилда - поделитесь информацией.
 
Еще раз спасибо за ответы и дельные рекомендации.
sadman41
Offline
Зарегистрирован: 19.10.2016

Если давать один и тот же tone() на активный и пассивный буззеры, можно получить некислый когнитивный диссонанс.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

yoshka пишет:

звук при выполнении команды tone (3,1000,500) разный на Arduino UNO R3 (чип CH340G + MEGA328P 16 МГц) и на Multi-function Shield (3118ay-zz K68641BS)
Ну, если звук разный, лучше всего посмотреть спектранализатором. Ну а при неимении спектранализатора - хотя бы осциллографом.
Цитата:
Предположил, что частота инвертирована так-же как инвертированы HIGH и LOW (для светодиодов) и 0 и 1 (для кнопок).
Так что все-таки такое "частота инвертирована"?
Цитата:
Насчет схемы шилда - я в теме вопроса указал девайс - Multi-function Shield, предполагая, что получу ответ от тех, кто понимает, о чем идет речь. Нужно ли в этом случае приводить схему? И если существуют разные версии этого шилда - поделитесь информацией.
Этих шилдов - как собак нерезанных.
Если речь идет о чем-то подобном: https://www.youtube.com/watch?v=_z263RK31QA
то там просто нечему как-то изменять частоту. Вероятно, разница в звуке обусловлена просто тем, что Вы использовали разные излучатели.
yoshka
Offline
Зарегистрирован: 12.03.2021

to sadman41

Внешне они абсолютно одинаковы, по диаметру, высоте, цвету, количеству и расположению контактов (в обоих случаях расположены под пайку на плату), маркировка "+" на внешнем торце расположена идентично. Индивидуальной маркировки (модель, сопротивление, мощность и т.п.) не имеют.

Сомневаюсь, что второй буззер у меня активный, тем не менее, спасибо за ответ и подсказку насчет активного буззера.

 

yoshka
Offline
Зарегистрирован: 12.03.2021

to andriano

насчет "Этих шилдов - как собак нерезанных.": Вы говорите о ВСЕХ шилдах для Arduino UNO (R3) ? Да, их действительно OVER...много. Или Вы хотите сказать, что вариантов/версий ИМЕННО Multi-function Shield "как собак нерезанных" Уточните плз.

по поводу "Вероятно, разница в звуке обусловлена просто тем, что Вы использовали разные излучатели." - я уже ответил выше to sadman41

 

nik182
Offline
Зарегистрирован: 04.05.2015

Пассивных с маркировкой плюс не встречал. 

yoshka
Offline
Зарегистрирован: 12.03.2021

to nik182

Спасибо за ответ.
 
Оба биппера/бузера/пьезопищалки  , имеют маркировку "+"
 
Логично предположить, что нет смысла отмечать полярность на пассивном пьезоизлучателе.
 
1. Означает ли это, что в моем случае оба бузера активные?
 
2. Есть все основания предполагать, что оба бузера ИДЕНТИЧНЫ
 
В контексте вопроса:
 
Имеется два идентичных бузера.
 
Один распаян на  Multi-function Shield - на PIN 3. (физически, по умолчанию, разработчиком, производителем, Васей Пупкиным  и т.д., но не мною)
 
Второй подключен непосредственно на Ардуино также на PIN 3 (МНОЮ).
 
При подаче одной и той-же команды
tone (X, YYYY, ZZZ);
бузеры звучат по разному.
 
 

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

yoshka пишет:
Оба биппера/бузера/пьезопищалки  , имеют маркировку "+"

Логично предположить, что нет смысла отмечать полярность на пассивном пьезоизлучателе.
Не всякая логика соответствует здравому смыслу. 
В динамических громкоговорителях, например, всегда указывают полярность.
Цитата:
1. Означает ли это, что в моем случае оба бузера активные?
Нет, конечно.
И вообще, зачем гадать, если можно проверить?
 
Цитата:
2. Есть все основания предполагать, что оба бузера ИДЕНТИЧНЫ
В контексте вопроса:
Имеется два идентичных бузера.
...
При подаче одной и той-же команды
tone (X, YYYY, ZZZ);
бузеры звучат по разному.
 
 
Значит, наше исходное предположение об идентичности бузеров не соответствует действительности.
 
 
PS. Кстати, я уже спрашивал о схемах, но так ничего и не дождался. Поэтому нескромный вопрос: надеюсь, бузер к Ардуине Вы подключаете как положено, т.е. через транзистор?
yoshka
Offline
Зарегистрирован: 12.03.2021

Нашел здесь https://makbit.com/forum/viewtopic.php?f=2&t=16)

You might know about the “tone()” function in the Arduino library that could be used to generate sound. Unfortunately this function cannot be used with this multi-function shield.

In the Arduino world the “tone()” function assumes that the buzzer is pulled down to the GND and it is silent when the corresponding pin '3' is in a LOW state. However, in the multi-function shield the buzzer is silent when the pin is in a HIGH state.

As I have mentioned above, the buzzer is driven by the transistor Q1. AFAIK, this transistor amplifies the signal and generates fixed frequency sound wave. Thus we cannot change the frequency of the sound. When the LOW signal arrives on the base terminal of the transistor the emitter (+5) and collector currents rise. Somehow, this transistor works like a switch. Even if we try the “tone()” function which switches the pin state from LOW to HIGH the frequency of the beeper does not change.

Так, что, спасибо всем, кто принял участие в дискуссии, проблема аппаратная и программистом не может быть решена по определению. (цитата из анекдота)