Как подключить две светодиодные ленты (APA102/SK9822) к Arduino UNO?
Итак, я пытаюсь подключить две светодиодные полосы SK9822 к Arduino UNO.
Я немного запутался в том, как правильно настроить это, чтобы индивидуально управлять любым светодиодом. Очевидно, что 5V должен идти на 5V, а GND - на GND, но как насчет CLOCK и контакта ДАННЫХ?
Согласно учебникам и тому подобному, что я нашел здесь, вывод CLOCK должен быть подключен к выводу 13, а DATA - к выводу 10, но они используют только одну полосу... так что я пытаюсь спросить, могут ли светодиодные полосы делиться выводами? Могут ли они быть подключены к одному и тому же тактовому контакту и разным контактам ДАННЫХ или как я могу настроить это так, чтобы использовать минимальное количество контактов?
Я планировал использовать библиотеку FastLED, где,похоже, вы можете указать, какой пин является DATA, а какой-CLOCK,
FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN>(leds, NUM_LEDS);
Это потому, что разные платы имеют разные контакты CLK и MOSI, или я могу использовать любой контакт и установить его как CLOCK или ДАННЫЕ? Это, наверное, очевидно, но я новичок в этом деле, и это мой первый проект.
@atatatatatat, 👍2
Обсуждение2 ответа
Я не знаю о светодиодных полосах SK9822, однако другой тип светодиодных полос может использоваться с каждым выводом; это для поддержки нескольких светодиодных полос.
Поскольку каждая светодиодная лента имеет свой собственный вход CLK (провод), было бы неудобно делиться ими... Я не уверен, возможно ли это практически, потому что время имеет решающее значение, и если у вас есть только один "главный" сигнал CLK, то сигналы данных для всех светодиодных лент должны быть отправлены вовремя. Также было бы сложнее написать библиотеку, так как существует связь между (общим) сигналом CLK и другими линиями данных.
Для получения минимального количества выводов соедините их вместе, чтобы выходы синхронизации и данных на конце первой полосы соединялись с входами синхронизации и данных на второй полосе.
https://www.pololu.com/product/3089 говорит:
Несколько светодиодных лент можно соединить вместе, соединив входные разъемы с выходными разъемами. Когда полосы соединены таким образом, ими можно управлять и питать как одну непрерывную полосу.
- Быстродействующий массив fill_solid
- RGB светодиодная лента 100м.
- Светодиодная лента RGB, управляемая через PySerial, работает лишь отчасти
- Arduino для запуска и светодиодная лента длиной до 100 м
- Проект велосипедного заднего фонаря
- Как использовать SPI на Arduino?
- Библиотека FastLED: Как настроить яркость одного пикселя в абсолютном масштабе?
- OVF в последовательном мониторе вместо данных
А вы не пробовали? Эта [Вики-страница FastLED](https://github.com/FastLED/FastLED/wiki/SPI-Hardware-or-Bit-banging) дает вам несколько советов по подключению Arduino. Совет: Arduino Uno использует микроконтроллер 328P. Но вики-страница подразумевает, что любые(?) пины могут быть использованы FastLED. Если поддержка h/w SPI доступна на выводах, он будет использовать ее автоматически (подразумевая, что если поддержка h/w недоступна, он будет управлять ими через s/w)., @GMc