Arduino Включите светодиод с помощью PCA9865
Я использую PCA9865, чтобы зажечь светодиод
Моя схема
Arduino — PCA9865 A5 > SLC A4 > SDA 5V > 5V GND > GND и 5 вольт от батареи
Мой код:
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
// вызываемый таким образом, он использует адрес по умолчанию 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
void setup()
{
pwm.begin();
pwm.setPWMFreq(60); //обновления ~60 Гц
}
void loop()
{
int pin = 0;
pwm.setPWM(pin, 4096, 0);
}
светодиод не горит
@Diego, 👍-1
Обсуждение1 ответ
Лучший ответ:
Как написано в комментариях, проверьте резистор/светодиод И убедитесь, что питание/земля подается на клемму на плате PCA, так как это необходимо для питания сервоприводов/светодиодов/двигателей, висящих на плате. Я использую около 10 на своем макете, и они отлично подходят для питания всех видов бытовой техники. Я пропатчил библиотеку, но в вашем случае это перебор. Вместо
void setPWM(uint8_t num, uint16_t on, uint16_t off);
Вы также можете попробовать
void setPin(uint8_t num, uint16_t val, bool invert=false);
но проблема не в этом
ОБНОВЛЕНО
Спасибо за фото, теперь понятно, почему нет. Вы должны соединить A4 (UNO SCA) - SCA (PCA9865) И A5 (UNO SCL) - SCL (PCA9865), см. схему:
Добавил фото своей схемы, @Diego
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Добавь токоограничивающий резистор последовательно со светодиодом. Не могли бы вы зажечь светодиод с помощью Uno напрямую? установить более высокую частоту, @Juraj
Действительно? ты подключил его к 4 и 5 вместо А4 и А5?, @Juraj