Jump to content
  • Sign Up
  • Language

Search the Forum

'светодиодная лента'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


FORUM & NEWS LIGHTING

  • Select Language
    • (EN) FORUM
    • (RU) FORUM
    • (DE) FORUM
    • (FR) FORUM
    • (DK) FORUM
    • (ES) FORUM
    • (FI) FORUM
    • (IT) FORUM
    • (PL) FORUM
    • (BR) FORUM
    • (RO) FORUM
    • (TR) FORUM
    • (NL) FORUM
    • (NO) FORUM
    • (CZ) FORUM
    • (AE) FORUM
    • (CN) FORUM

NEWS LIGHTING

  • Nevsky Interior Design Store
  • Auxmer High-end Project LED Strip
  • GLEDOPTO Official Store
  • athom global Store

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 3 results

  1. Женская сумочка со светодиодной матрицей 2.0 Эта удивительная женская сумка со встроенной светодиодной матрицей была представлена одной из посетительниц выставки Maker Faire. Ее уникальное изделие привлекло массу внимания окружающих людей. Светодиодный экран состоит из вшитых в сумку пиксельных светодиодных лент RGB, которые маскируются под сеткой из кожаных полосок. В итоге, получается матрица разрешением 10 х 15 светодиодов. Управление светодиодами происходит при помощи контроллера Adafruit Feather по каналу Bluetooth, который обеспечивает встроенный модуль передачи данных - Bluefruit LE. При помощи смартфона можно выводить на экран различные слова, картинки и символы, как в виде постоянного изображения, так и в виде бегущей строки. Так как микроконтроллер имеет встроенный контроллер заряда литиевого аккумулятора, то для подзарядки требуется всего лишь небольшой блок питания с разъемом USB. Батарея и разъем для подзарядки скрыты внутри сумки. В этой инструкции вы узнаете, как собственноручно изготовить женскую сумочку с встроенной светодиодной матрицей. Этот необычный женский аксессуар поможет всегда быть в центре внимания! Шаг 1: Светодиодная матрица Вы конечно можете купить готовые гибкие светодиодные матрицы, но их также можно изготовить самостоятельно, и это довольно просто. Преимуществом создания ваших собственных матриц является гибкость, возможность выбрать точные размеры и количество пикселей, что позволит создать требуемое разрешение матрицы. Для того чтобы изготовить собственную гибкую светодиодную матрицу RGB, вам потребуются следующие компоненты: - Гибкая светодиодная лента RGB с индивидуально адресуемыми светодиодами, в идеале с клейкой подложкой. В настоящее время наиболее доступны два варианта светодиодных полос, это APA102 или WS2812. Любой вид отлично работает в этом проекте. В данном случае были использованы светодиодные ленты APA102, так как они могут быть использованы с более широким диапазоном микроконтроллеров, они немного дороже, чем WS2812, но имеют дополнительную линию передачи данных. Выбор ложится исключительно на ваши плечи. - Виниловая основа для фиксации матрицы из светодиодных полос. - Провода, припой и прочие принадлежности для пайки. - Микроконтроллер для проверки работоспособности матрицы Arduino Uno. Во-первых, надо определиться с размером вашей матрицы. Имейте в виду, что светодиодные полосы длиной 5 метров, как правило, объединяются пайкой с шагом ½ метра. Расстояние мест соединения может немного отличатся, что может нарушить симметрию матрицы. В данном проекте использовалась полоса длиною 2 метра, содержащая 60 светодиодов на метр. Соответственно, каждый отделяемый отрезок содержал по 30 светодиодов. Далее светодиодная полоса была поделена на 8 равных частей, каждая из которых содержала по 14 светодиодов (каждый 15 светодиод был отрезан). Затем надо вырезать прямоугольный кусок винила, достаточно большой, чтобы разместить светодиодные полоски. Нарисовать на нем ровные линии, указывающие размещение полос с учетом интервала между полосками. В данном случае, расстояние между светодиодами на одной полосе составило 1,1 см, а размер самого светодиода 0,5 см, соответственно, чтобы получить равномерную сетку из светодиодов, межстрочный интервал между полосками был сделан в 1,6 см (измерять между центрами полос). После того, как разметка выполнена, надо правильно ориентировать полосы, так как передача данных осуществляется только в одну сторону, от конца одной полосы к началу следующей. Направление передачи данных изображается направленными стрелками на ленте. Далее надо снять защитную пленку с липкой стороны ленты и приклеить все полосы к виниловому основанию согласно сделанной разметке. Когда фиксация полос будет окончена, надо нарезать небольшие отрезки проволоки для соединения всех полос. В данном случае использовался провод 26 AWG в силиконовой изоляции. Затем все полосы спаиваются последовательно, соблюдая назначения контактов и направления. По окончании пайки, к светодиодной матрице был подключен микроконтроллер Arduino Uno и запущен стандартный эскиз Adafruit Standtest Arduino, это необходимо для проверки работоспособности всех светодиодов в матрице. Проверив схему, при помощи пистолета с горячим клеем надо зафиксировать все паяные соединения. Шаг 2: Электроника и питание В этом проекте, для управления светодиодной матрицей, используется микроконтроллер Adafruit Feather M0 с встроенным модулем беспроводной передачи данных Bluefruit Bluetooth LE. Сама проводка выполняется довольно просто. Так как микроконтроллеру Adafruit Feather требуется напряжение питания 3,3V, а светодиодной полосе APA102 надо 5V, был применен преобразователь логического уровня, который позволил подключить два устройства к одному источнику питания. Для подключения питания использовался быстросъемный разъем с проводами, которые были припаяны (подключены) в середине светодиодной матрицы для равномерного распределения нагрузки. Микроконтроллер Adafruit Feather получает питание через подключение к светодиодной матрице. Для размещения электронных компонентов, на 3D-принтере была напечатана небольшая пластиковая коробочка с отверстием под провода. Шаг 3: Сплетенное покрытие для светодиодной матрицы После того как светодиодная матрица закончена, надо сделать декоративное покрытие для нее. Оно изготавливается путем переплетения тонких полосок кожи с перекрестием в местах расположения светодиодов. В этом проекте, расстояние между светодиодами в матрице составляет 1,1 см (как по вертикали, так и по горизонтали), поэтому первым делом надо нарезать много кожаных полосок шириной 1,1 см. Затем на основе светодиодной матрицы выполняется плетение декоративной сетки из нарезанных кожаных полос. Плетение выполняется таким образом, чтобы светодиоды были видны через декоративную сетку в углах перехлеста кожаных полосок. В завершение изготовления декоративной сетки, необходимо зафиксировать полоски между собой при помощи клея. Для этого переложите сетку на что-нибудь другое и при помощи зубочистки нанесите клей между полосками в местах пересечения. Ни в коем случае не делайте этого на самой светодиодной матрице! Когда клей высохнет, поднимите декоративную сетку и отрежьте лишнюю бахрому. Шаг 4: Шитье сумки Чтобы изготовить сумку вам понадобятся следующие материалы: - Кожа (такая же, как использовалась для декоративной сетки) - Ткань для подкладки - Ткань для наружной стороны сумки - Мягкая клеевая основа (склеивает ткани под воздействием утюга) - Две застежки-молнии - одна для кошелька снаружи, и одна для облицовки Размер вашей сумки будет зависеть от размера вашей светодиодной матрицы. Так что если ваш размер матрицы отличается от приведенного размера в данном проекте, придется изменить размеры некоторых частей сумки соответственно. Теперь приступим к изготовлению. Надо вырезать куски ткани, необходимые для изготовления самой сумки: - Кожа 40 х 24 см – 2 куска - Ткань для внешней стороны сумки 38 х 14 см – 2 куска - Ткань для подкладки 38 х 35 – 2 куска - Один карман из ткани подкладки (если он требуется) Затем надо вырезать прямоугольное отверстие в одном из кожаных кусков для лицевой стороны сумки. Это отверстие требуется для размещения светодиодной матрицы. Это будет лицевая сторона сумки. Так как матрица в этом проекте имеет размер 21,8 см х 11,6 см, то в кожаном куске вырезается прямоугольная область по этим размерам. От верхнего края куска до начала выреза делается отступ примерно 4 см, по горизонтали вырез ориентируется посередине куска. После этого, при помощи клея для ткани приклейте кожаную декоративную сетку в вырезанную область с обратной стороны. После того как клей высохнет, аккуратно пришейте сетку по периметру на швейной машине Для соединения кожаной сетки и светодиодной матрицы используются миниатюрные магниты на клейкой основе. Магниты приклеиваются по четырем углам виниловой основы и декоративной сетки. После размещения магнитов, матрицу можно снять и отложить в сторону, до полного изготовления сумки. Следующие этапы подробно рассматриваться не будут, так как относят к швейному делу и всю необходимую информацию можно подчерпнуть из приведенных ниже изображений. В двух словах, вам потребуется соединить кожаные куски с тканью для внешней стороны сумки, вшить застежку – молнию, вшить внутренний карман в подкладку и установить ее внутри сумки и напоследок прикрепить ремешок. Затем устанавливается электроника с батареей. Программное обеспечение: Для передачи текста или знаков на светодиодную матрицу используется смартфон с установленным приложением Adafruit Bluefruit LE Connect, которое можно бесплатно скачать в магазинах Google Play и AppStore. Для правильной работы микроконтроллера, в него понадобится загрузить эскиз (программный код) который доступен по ссылке: https://github.com/geekmomprojects/led-handbag или led-handbag-master.zip На этом все, удачи вам! Источник: geekmomprojects
  2. Всегда для световых коробов берем одну и туже светодиодную ленту 5050 открытую на 30 или 60 светодиодов в метре. Покрываем лаком для дополнительной защиты от влаги. Решили попробовать светодиодную ленту 2835, покрыли этим же лаком, включили - все работает. На утро, это через 10 часов примерно, тестовый запуск перед установкой и из 5 метров ленты 1 метр в общей сложности примерно перестал светить (группы кратно 3 светодиодам). При нажатии на светодиод группа загорается. Мог ли лак повлиять на пайку светодиодов? В чем может быть причина? Ленту 5050 наверное более 1км покрыли лаком в общей сумме, проблем с ней нет, все работает уже долгое время.
  3. Сервопривод + программируемая светодиодная лента NeoPixel Проблема совместимости библиотек светодиодов NeoPixel и сервоприводов. Однопоточный протокол управления, используемый NeoPixels, требует очень устойчивого соединения со скоростью передачи данных до 800 килобит в секунду. В нем допускается не большой процент ошибок, но он очень мал. Каждый бит должен быть передан с точно контролируемой скоростью. Библиотека Adafruit NeoPixel обрабатывает все эти сигналы в фоновом режиме, тщательно рассчитывая время каждой команды машинного кода. Для каждого пикселя есть 24 команды: Между тем, Arduino, как правило, в небольшие отрезки времени обрабатывает прерывание, т.е. выполняет определенные события и ситуации, которые должны быть обработаны немедленно. Вы, как правило, не замечаете этого, но прерывания все же обрабатываются в фоновом режиме. В это время ваш основной машинный код останавливается, вызывается подпрограмма обслуживания прерывания, и после возобновляется выполнение вашего основного кода, с того места в котором он был прерван. Прерывания помогают работать функциям Arduino’s delay() и millis(), а также функции Serial.read(), и другим всевозможным вещам. Тут-то вся и проблема. Даже очень короткий и простой способ обработки прерывания будет нарушать работу деликатной синхронизации NeoPixel. Таким образом, библиотека NeoPixel временно отключает обработку всех прерываний при записи данных в полоску светодиодов, а затем вновь позволяет им работать, когда закончит запись. Такие совпадения редко являются проблемой. Вы, возможно заметили, что функции millis() и micros() простаивают в эскизах (sketches) NeoPixel (отсчет времени останавливается, когда происходит запись на полосу светодиодов), что, как правило, притормаживает сервопривод. Возникает вопрос, что сервоприводы также имеют очень специфические требования по времени их синхронизации, и библиотека Arduino сервопривода использует прерывания для достижения этой цели. Таким образом, каждый раз, библиотека NeoPixel выключается прерывания, даже на мгновение, сервоприводы будут простаивать, и соответственно их положение в итоге будет не предсказуемо. Как грустно! Одним из способов решения этой проблемы является использование других особенностей AVR микроконтроллеров на ядре Arduino для управления сервоприводами без использования прерываний, как мы объясним на следующей странице. Это сложная тема, но очень полезная вещь, чтобы узнать о таком тонком нюансе. Если дальнейшее объяснение технически сложное для вашего текущего уровня квалификации, или если вы хотите просто использовать нашу библиотеку, а это нормально, то можете пропустить технические аспекты. Есть аппаратные обходные пути, которые гораздо более гибкие. Наш 16-канальный 12-битный ШИМ Servo Driver (в двух секционных форматах) разгружает задачу серво управления при помощи чипа специального назначения. Так NeoPixels не может вмешиваться в работу сервопривода. Эти платы могут быть объединены "стек" для управления десятками (потенциально даже сотнями) сервоприводов! Для сложных проектов, которые, вероятно могут возникнуть. Общие сведения о AVR Peripherals В обычном компьютере, под словом «периферийные» устройства, мы обычно подразумеваем себе такие вещи как принтер, сканер, USB диски и прочее. В отношении микроконтроллера, это же слово имеет несколько иной смысл. Периферийным устройством микроконтроллера, является небольшой кремниевый чип, выделенный из микропроцессора CPU (часть микроконтроллера, которая на самом деле обрабатывает машинный код), на который возложены специфические задачи, выполняемые независимо от процессора. Некоторые из периферийных устройств микроконтроллера AVR в Arduino включают в себя аналого-цифровой порт (используемый функцией analogRead() ), последовательный порт UART (связь с компьютером, как и при использовании последовательного, обеспечивает связь с библиотекой и при передачу кода в чип), порт SPI (Serial Peripheral Interface иногда используется для SD карты и для сопряжения между прочими устройствами) и порт I2C (другой способ связи между чипами, поддерживаемый библиотекой Wire). Из интересующих нас в данный момент периферийных устройств, является Таймер / счетчик, который точно измеряет временные интервалы, которые могут быть использованы для широтно-импульсной модуляции (ШИМ, иногда используется для управления яркостью светодиодов или звука). ШИМ выход из таймера / счетчика периферийного устройства может быть использован для управления сервоприводами без участия прерываний процессора. NeoPixels и сервоприводы могут сосуществовать! Это не все цветочки, хотя ... есть некоторые серьезные ограничения ... мы рассмотрим их позже. Специальный материал. Непосредственное управление периферийными устройствами очень отличается от обычного программирования Arduino. По этой причине, большинство команд аккуратно запаковано в специальных библиотеках (или же в самой библиотеке ядра Arduino, которая сама обрабатывает большинство часто используемых функций, таких как digitalWrite() или analogRead() ). Разработка кода на этом уровне, человек начинает со спецификации к микроконтроллеру ... массивного документа, в котором подробно расписан каждый последний бит и измеримый атрибут чипа. Эти данные опубликованы (и, как правило, их можно свободно загрузить с интернет сайта производителей чипов). Эти технические описания являются уникальными для каждого конкретного чипа и его разновидностей. Например: «ATmega 328P Datasheet» (Arduino Uno, Adafruit Pro Trinket, etc.). 34.3 MB. http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf «ATmega 32U4 Datasheet» (Arduino Leonardo & Micro, Adafruit FLORA, etc.). 7.5 MB. http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf «ATmega 2560 Datasheet» (Arduino Mega). 8.4 MB. http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf «ATtiny85 Datasheet» (Adafruit Trinket & Gemma). 3.8 MB. http://www.atmel.com/Images/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf Да, это действительно 650 страниц технической информации. К счастью, вы не должны читать все это. Но с этим надо ознакомиться! Периферийное управления включает в себя доступ к регистрам специальных функций чипа, нескольким десятков адресов памяти, которые могут быть прочитаны, письменные или модифицированные, или как переменные. Но каждый байт ... часто отдельные биты внутри каждого байта ... сложные аспекты управления конкретных периферийных устройств. Как и переменные, регистры специального назначения называются по имени ... это все было определены в файле заголовка, который автоматически включен в программный код. Например, чип ATmega328P в Arduino Uno и Adafruit Pro Trinket имеет три таймера/счетчика единиц (таймер/счетчик 0, 1 и 2 - каждый имеет свой собственный раздел в файле заголовке). Использование частоты 16 МГц процессора (часы), как временную базу, каждый может отсчитывать интервалы где-то между 1 и 256 временного такта, но таймер/счетчик 1 представляет особый интерес, потому что это 16-разрядный счетчик ... он может считать в любом диапазоне от 1 до 65536 такта, обеспечивая много дополнительных возможностей для этой задачи. Подраздел "Register Desription" описания деталей, дает техническое описание каждого из регистров специального назначения, связанных с таймером/счетчиком. На рисунке выше показано описание специальной функции с именем регистра TCCR1A и отдельных битов контроля. Всем этим контрольным битам тоже присвоены имена, каждому из которых соответствует одно битное число от 0 до 7, их надо помнить, при написании кода, либо использовать макрос _BV (бит) или (1 << бит) при определении битов регистра; несколько битов может быть добавлено (+) или соединены через логическое ИЛИ OR(|) вместе. Обычно должны быть настроены несколько регистров, чтобы получить полезные функции. Вот несколько строк из нашей библиотеки сервопривода (которую можно будет скачать далее), показывающие, как это выглядит: TCCR1A = _BV(WGM11); // Mode 14 (fast PWM) TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS11); // 1:8 prescale ICR1 = F_CPU / 8 / 50; // ~50 Hz (~20 ms) Едва ли похоже на код Arduino, не так ли? Если вы когда-либо создавали программный код, вы наверное использовали "Buh?". Скорее всего, это прямой доступ к регистрам специального назначения. Вы должны будете прочитать соответствующие разделы спецификации, чтобы полностью понять, что происходит и почему, но в основном: первые две строки - это установка специальной функции регистров TCCR1A и TCCR1B, чтобы настроить режим генерации сигнала таймера/счетчика 1 (в "fast PWM " (быстрая ШИМ) в данном случае), и установить делитель – на "тик" время - вперед счетчика каждые 8 тактов процессора, вместо каждого цикла. Следующая строка (ICR1) устанавливает верхний лимит счетчика/таймера (после которого он перезапускается с нуля) и, таким образом, общее время ШИМ. Немного математики, здесь присутствуют такие переменные: частота процессора в Гц (F_CPU)и частота импульса сервопривода (50 Гц). Чтобы определить это значение ... на Arduino частота процессора 16МГц, то вычисление выглядело бы следующим образом 16,000,000 ÷ 8 ÷ 50 = 40000 тиков на один цикл ШИМ. В других частях кода, есть строки, подобные этим: TCCR1A ^= _BV(COM1A1); OCR1A = pos; Первая строка переключает (^ является XOR оператор в C) бит COM1A1 в специальной функции регистра TCCR1A. Это разрешает или запрещает PWM (ШИМ) выход на выводе OC1A (который отмечен в другом месте в спецификации ... на Uno, это контакт 9). Вторая строка устанавливает выход сравнения регистра на том же контакте – рабочий цикл ШИМ – его значение хранится в переменной «pos». Сложная вещь, не так ли? Рассмотрите все это поэтапно. Помните, что это всего лишь создание и очистка бита. Очень, очень, очень конкретного бита. Не вините себя, если что-то не заработает в первый раз, или второй, или 23 ... от нескольких проектов я просто вынужден был отказаться, потому что я никогда не мог сделать их наугад. Периферийные устройства AVR одни из самых трудных вещей Arduino. Более сложное программирование может быть только на языке ассемблера. Именно поэтому существуют библиотеки Arduino, которые избавляют нас от сложностей аппаратного программирования. Периферийные устройства это огромная тема, гораздо больше, чем мы затронули здесь (помните, это 650 страниц технического описания), но я хотел, обеспечить высокий уровень объяснения и понимания очень низкоуровневой технической специфики. Заключение Окупаемости всей этой тяжелой работы? В случае применения этой библиотеки, NeoPixels и сервоприводы отлично работают вместе. В более широком смысле, гораздо более отлаженно. Байт в байт, цикл для цикла, там просто нет лучшего, чем стратегия оптимизации использования встроенных периферийных устройств микроконтроллера. После настройки и запуска, ноль командных циклов тратятся на выполнение задачи. Параллельно запускается другой код, в то время как периферийные устройства делают свою работу - это явный вид многозадачности. Достоинства и недостатки. Производительность это не главное. Это часто сильно увеличивает стоимость, но не добавляет гибкости, давайте рассмотрим: • Периферийные устройства и регистры специальных функций являются уникальными для каждого производителя и модели микроконтроллера. Чтобы использовать их, нужно ограничить себя очень специфическим кругом оборудования. Код, который выполняет волшебные функции на Arduino Uno, не будет работать на Arduino Due ... можно даже не компилировать ... они основаны на совершенно разных архитектурах. Наша библиотека работает на наиболее распространенных 8-разрядных микроконтроллерах AVR. • Периферийные устройства чрезвычайно ограниченный ресурс, гораздо больше, чем даже ОЗУ или пространство кода. Существует ровно один 16-разрядный таймер/счетчик на Arduino Uno. Это может легко привести к конфликтам библиотеки ... например, библиотека WaveHC (которая играет WAV файлы с SD карты) также опирается на таймер/счетчик 1. В этом случае будет конфликт с NeoPixels. • ШИМ выход из блока таймера/счетчика ограничен очень специфическим набором контактов. На Arduino Uno, вы не можете контролировать более двух сервоприводов одновременно, и они должны быть на контактах 10 или 11. На Leonardo и Micro, не более четырех сервоприводов на контактах 5, 9, 10 или 11. • Микроконтроллеры Trinket и Gemma не имеют даже 16-разрядный таймер. Есть только 8-разрядный таймер, при его использовании, у сервопривода возможно только лишь 8 различных положений, и соответственно плавное движение становится невозможным. Ранние версии "официальной" библиотеки Arduino для сервопривода работали именно так, как мы описываем здесь ... используя ШИМ выход из таймера/счетчика 1. Это уже позже перешли на технику прерывания в основе, с выгодной поддержкой многих сервоприводов на любых контактах. Там не было очевидных недостатков, NeoPixels не было даже вообще в природе, пока они не появились совсем недавно! Описание библиотеки The TiCoServo Library Если вы просто хотите, загрузить и использовать библиотеку, это полностью нормально. Пожалуйста, ознакомьтесь, что бы быть в курсе следующих ограничений: • Эта библиотека работает только на некоторых Arduino-совместимых платах. Все наиболее распространенное оборудование с 8-битной архитектурой AVR микроконтроллеров должно хорошо работать (Arduino Uno, Duemilanove, Leonardo, Mega, Pro Trinket, Teensy 2 и прочие.). "Обрезанные" платы, использующие другие микроконтроллеры (Arduino Due, Teensy 3, и т.д.) могут тоже работать. • На микроконтроллерах Trinket и Gemma возможно всего восемь сервопозиций, не будет плавности хода (на Pro Trinket должно быть все нормально). • Сервоприводы работают только на очень ограниченном количестве контактов, ниже приведена распиновка для различных микроконтроллеров: Микроконтроллер- Контакты для сервопривода Arduino Uno, Duemilanove, Diecimila, Adafruit Pro Trinket, Boarduino, Menta (anything w/ATmega328P or ATmega168) - 9, 10 Arduino Leonardo, Micro - 5, 9, 10, 11 Adafruit FLORA - D9, D10 PJRC Teensy 2.0 (not Teensy+ or 3.X) - 4, 9, 14, 15 Arduino Mega - 2, 3, 5, 6, 7, 8, 11, 12, 13, 44, 45, 46 Adafruit Trinket - 1, 4 Adafruit Gemma - D1 Скачать библиотеку Adafruit TiCoServo Library для Arduino можно по ссылке: https://github.com/adafruit/Adafruit_TiCoServo/archive/master.zip Скачать библиотеку Adafruit NeoPixel для Arduino можно по ссылке: https://github.com/adafruit/Adafruit_NeoPixel/archive/master.zip Установка этих библиотек становится точкой преткновения для новичков, пособие по установке этих библиотек доступна по ссылке: https://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use После установки библиотеки, перезагрузите Arduino IDE. Есть два простых примера, которые согласуют сервоприводы и NeoPixels. Один будет работать на Adafruit Gemma или Trinket, другой на Arduino Uno или большинства других неспециализированных плат (Leonardo, и т.д.). Вам, возможно, потребуется изменить некоторые номера контактов PIN (PIN # NeoPixel, и т.д.) в программном коде. Библиотека моделируется после официальной библиотеки Arduino для сервопривода ... все функции и аргументы идентичны, и вы можете просто обратиться к сайту Arduino для справки. Для назначения номеров контактов нужно внести незначительные изменения в программный код, большинство программных кодов для сервоприводов Arduino совместимы и сложностей, возникнуть не должно. Итак, покажем какие строки возможно придется изменить: Вместо: #include <Servo.h> Пишем: #include <Adafruit_TiCoServo.h> Изменение декларации сервопривода, в место: Servo myservo; // create servo object to control a servo Пишем: Adafruit_TiCoServo myservo; // create servo object to control a servo С функциями attach(), write() и прочими, работать аналогично стандартной библиотеке сервоприводов, если конечно вы не будете использовать Trinket или Gemma. Особые дополнения для Trinket и Gemma Так как они основаны на уменьшенном микроконтроллере ATtiny85, то эти платы работают немного по-другому. Во-первых, необходима одна дополнительная линия #include в верхней части кода: #include <avr/power.h> Затем добавьте следующую строку в функции setup(). Важно, что она стояла пред вызовом функции servo.attach ()!. #if (F_CPU == 16000000L) clock_prescale_set(clock_div_1); #endif В отличие от «большого» кода, который работает с градусами или микросекундами, "крошечная" версия может указать только серво позиции в значениях "тик", где каждый тик равен примерно 128 микросекунд. Учитывая, что большинство сервоприводов номинально синхронизируются импульсом между 1000 и 2000 микросекунд, то это означает значение от 8 до 15 тиков, и являются разумным диапазоном. Каждый сервопривод немного отличается, хотя ... некоторые из них более или менее совместимы по диапазону, так что вы можете быть уверенны в настройках этих значений. Это может показаться большим достижением. Многие проекты требуют только два сервопривода (например, ворота, флаг или клапан переключения между открытым и закрытым положениями). Источник: https://learn.adafruit.com/neopixels-and-servos?view=all
×
×
  • Create New...