Multi-function Shield инвертированы сигналы на пинах
- Войдите на сайт для отправки комментариев
Пт, 12/03/2021 - 03:31
Всем доброго времени суток.
Дискламбер: я новичок в этом деле, прошу сильно не пинать :)
Столкнулся с необычным поведением 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 выполняется с точностью до наоборот.
Разобрался, вопрос снят.
Извините, был напуган :)
Прошу удалить тему
Если уж задаете вопросы по какому-то шилду, следовало бы привести его схему. Иначе говорить не о чем.
Спасибо за ответ и советы.
Уже разобрался, вопрос снят.
Так, все-таки, что значит "инвертировать частоту"?
Если давать один и тот же tone() на активный и пассивный буззеры, можно получить некислый когнитивный диссонанс.
to sadman41
Внешне они абсолютно одинаковы, по диаметру, высоте, цвету, количеству и расположению контактов (в обоих случаях расположены под пайку на плату), маркировка "+" на внешнем торце расположена идентично. Индивидуальной маркировки (модель, сопротивление, мощность и т.п.) не имеют.
Сомневаюсь, что второй буззер у меня активный, тем не менее, спасибо за ответ и подсказку насчет активного буззера.
to andriano
насчет "Этих шилдов - как собак нерезанных.": Вы говорите о ВСЕХ шилдах для Arduino UNO (R3) ? Да, их действительно OVER...много. Или Вы хотите сказать, что вариантов/версий ИМЕННО Multi-function Shield "как собак нерезанных" Уточните плз.
по поводу "Вероятно, разница в звуке обусловлена просто тем, что Вы использовали разные излучатели." - я уже ответил выше to sadman41
Пассивных с маркировкой плюс не встречал.
to nik182
Нашел здесь https://makbit.com/forum/viewtopic.php?f=2&t=16)
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.
Так, что, спасибо всем, кто принял участие в дискуссии, проблема аппаратная и программистом не может быть решена по определению. (цитата из анекдота)