Используйте Adafruit 16-Channel 12-bit PWM/Servo Shield для переключения реле
Мне интересно, можно ли с помощью Adafruit 16-Channel 12-bit PWM/Servo Shield переключать реле, например, использовать этот экран в качестве мультиплексора и использовать цифровой выход без ШИМ.
Возможно ли это? пример кода?
@nkint, 👍0
Обсуждение2 ответа
Это сработает. Просто убедитесь, что вы не используете часть библиотеки Servo, а только часть PWM, и установите рабочий цикл на 100%. Реле должно по-прежнему работать, даже если рабочий цикл немного ниже, так как магнитному полю требуется некоторое время, чтобы разрушиться. Просто убедитесь, что вы не забыли добавить (обратный) диод в реле.
Глядя на техническое описание, я думаю, вам нужно использовать следующий код
pwm.setPWMFreq(1000);//поместите это в setup()
...
// включить реле на канале 15
pwm.setPWM(15, 1, 0);
...
// отключаем реле на 15 канале
pwm.setPWM(15, 1, 1);
Извините, я не указал раньше, мне нужны оба: ШИМ и цифровой выход. Таким образом вы «удаляете» ШИМ, верно?, @nkint
Нет. Единственное, что я изменил, это частоту ШИМ (до максимально возможного значения)., @Gerben
@nkint Зачем вам управлять реле с помощью ШИМ? В лучшем случае ШИМ будет достаточно быстрым, чтобы не влиять на ваше реле. В худшем случае это может заставить его гудеть. Или вы говорите, что вам нужны одни линии для управления реле, а другие для управления выходами ШИМ?, @Duncan C
Использование сервощита Adafruit PWM кажется излишним, вы платите за множество функций (PWM), которые вы не будете использовать. Если вы хотите использовать экран, чтобы уменьшить количество контактов, используемых на вашей плате Arduino, рассмотрите пару сдвиговых регистров (например, 74HC595). Реле нуждаются в логической 1 или логическом 0 для изменения состояния. Вы отправляете в регистр сдвига битовый шаблон, который устанавливает выходные контакты регистра сдвига в 1 или 0. Я нашел эту страницу полезно.
Извините, я не указал раньше, мне нужны оба: ШИМ __ и __ цифровой выход. Хоть Хэнкс., @nkint
- Высокочастотный PWM на Adafruit Feather M0
- Как изменить скорость нескольких сервоприводов, работающих одновременно с модулем PCA9685?
- Одновременное использование SDA и SCL с аналоговыми входами
- Когда я проверяю скетч, я получаю несколько ошибок
- Использование мультиплексора 4x1 для управления сервоприводом
- Как управлять выключателем питания RC с помощью Arduino-/Adafruit-Board?
- Установите частоту ШИМ на 25 кГц.
- Какова частота PWM-выхода на Arduino
Это глупо. Найдите что-нибудь с GPIO., @Ignacio Vazquez-Abrams
извините, не могли бы вы немного расширить свой комментарий?, @nkint
Благодарим Вас за проявленный интерес и время, которое Вы уделили, чтобы ответить на наши вопросы. У меня та же проблема, и я хочу, чтобы пример кода управлял реле с помощью 16-канального ШИМ i2c. Не могли бы вы мне помочь? Как я могу использовать этот код в ответе вверху: pwm.setPWMFreq(1000);//поместите это в setup() ... // включить реле на канале 15 pwm.setPWM(15, 1, 0); ... // отключаем реле на 15 канале pwm.setPWM(15, 1, 1); Спасибо, @zarki mouhcine