Какую выбрать плату Arduino?

Тема в разделе "Посоветуйте детальки", создана пользователем Ekaterina, 10 фев 2016.

  1. Ekaterina

    Ekaterina Нуб

    Здравствуйте! Меня зовут Екатерина. На данный момент делаю студенческий проект на основе Arduino.
    Помогите, пожалуйста, определиться какую именно выбрать плату Arduino, если к ней будет подключаться LED лента с разрешением 1024 (32x32). И также будет подключаться 2 датчика цвета и 2 датчика присутствия. Какая именно плата сможет выдержать такую нагрузку?
    Спасибо
     
  2. Onkel

    Onkel Гуру

    такую - никакая. Что за лента? как вы планируете подключать?
    А по сабжу - они все одинаковые, вам можно взять любую с usb, например Uno или nano
     
  3. CryNET

    CryNET Гик

    По сути: 4 датчика, большая лента и все.
    За глаза хватит классической Arduino UNO, не обязательно оригинальная (итальянская), можно Iskra Neo(аналог UNO). Можно взять размер поменьше, если необходимо (Iskra Mini или Arduino Mini)
    Все они справятся с вашей задачей.

    Но в любом случае вы ленту напрямую ни к одному контроллеру не подключите, т.к. лента очень много тока потребляет. Управлять нужно через драйвер/ключ/реле/шилд...
     
  4. Unixon

    Unixon Оракул Модератор

    Лента адресуемая что ли на WSxxxx ?
     
  5. Onkel

    Onkel Гуру

    так они же без Usb, зачем человека мучить?
    можно взять нану - она и мелкая, и с usb
     
  6. Ekaterina

    Ekaterina Нуб

    Спасибо за ответы!
    Да, лента адресуемая (RGB на каждый светодиод ).
    Как подключать разницы нет: в итоге хотим получить матрицу 32х32, пока видится последовательное подключение (питание на ленту будет подаваться отдельно от платы), но тогда вопрос, справится-ли Arduino с адресацией 1024 диодов с приемлемой производительностью (близкой к 30FPS). Судя по этому видео это возможно:


    Но рассматривается так же вариант параллельного подключения лент меньшей длины, но тогда встаёт вопрос количества портов и опять же производительности..
     
  7. Onkel

    Onkel Гуру

    теоретически можно- при частоте 800 кГц на 1024 rgb уйдет 1024*24/800000=31 мс, но во время посылки мк не сможет делать ничего другого, и вам не останется (практически) времени на вычисления. Ведь 1024*3 байт надо откуда-то взять , прежде чем послать. А у вас останется на вычисления только 17 мс из каждой секунды. Поэтому демку какую-нибудь - можно, что-то реальное в динамике- нет.
    Все вышенаписанное относится к ws2812 лентам
    пы сы я задачи с большим к-вом светодиодов решаю использованием нескольких мк с синхронизацией их импульсом от одного мк.
     
    Последнее редактирование: 11 фев 2016
  8. Ekaterina

    Ekaterina Нуб

    А пример реализации можно где-нибудь посмотреть?
     
  9. Onkel

    Onkel Гуру

    Можно. Фонтан в outlet village Белая Дача на центральной площади, струи сейчас выключены, но светодиодная подсветка работает. Там правда не 2812, а Philips Color Kinetics, но принцип тот же. 7 процессоров, на каждом выход по 7 портам.
    Я сейчас еще для одного фонтана готовлю железо, как сэмплы закончу могу выложить. Там будет 8 контроллеров для лент 2812.
     
    remotesp нравится это.
  10. Ekaterina

    Ekaterina Нуб

    Ок, а если испльзовать другой мк, более мощный, такое возможно?
    Создание сети сильно усложнит проект...
     
  11. Ekaterina

    Ekaterina Нуб

    Вы меня не так поняли, меня интересует пример в коде/пайке :)
     
  12. Ekaterina

    Ekaterina Нуб

    О, было бы очень здорово посмотреть сэмплы, спасибо!)
     
  13. Onkel

    Onkel Гуру

    В коде/пайке любой выложить может, а вы попробуйте сделать на этом фонтан, да еще и сдать его (ген. подрядчиком была немецкая фирма, зануды еще те) , и главное -за это деньги получить!
    Придется распараллеливать ленты, на 8,например. Но это вам нужен будет уже на порядок более шустрый мк, вроде 32 разрядный на 80 М, как минимум. Иначе не успеет распараллелить, а потом свести данные. Для таких процессов все данные (а это 1024*3 байта) должны быть в ОЗУ, а это сразу отметает практически все 8-разрядные мк.
     
  14. Onkel

    Onkel Гуру

    а что конкретно интересует - код? У меня фрагмент управления лентой написан на асме. могу выложить, но не знаю, как его вставить в ардуину, если вы сможете то без проблем выложу. Функции управления лентами типа 2812 вроде у адафрута были, кстати еще на easyelectronics можно посмотреть, DiHalt с 2812 экспериментировал.
     
  15. Ekaterina

    Ekaterina Нуб

    Да, этот вариант тоже подходит, например у Arduino Due же как раз 32bit @ 84MHz , или я что-то не так понимаю?
    Ну, в частности данной реализации - каким образом связать несколько мк между собой, это же протокол получается нужно придумывать свой?
     
  16. Onkel

    Onkel Гуру

    мк в этом случае не нужно связывать по протоколу, достаточно просто СИНХРОНИЗОВАТЬ - один мк дает импульс (1 мкс, например), другие по этому импульсу понимают, что надо передавать данные на ленту.
    Так. Всё так. Я сам не пробовал, я все больше по Оккаму. Если оперативки хватит, то конечно все будет работать, но лучше сразу делать распараллеливание по 8 (а что мелочиться?) портам. Будет у вас не 1024 лента, а 8 лент по 256.
     
  17. Ekaterina

    Ekaterina Нуб

    А как мк узнает КАКИЕ данные на ленту посылать?) Скажем, к центральному подключены датчик приближения и цвета, а в зависимости от данных с этих датчиков - нужно соответственно изображать разные данные на лентах..
    Согласна на счёт распараллеливания 2х256 - выглядит оптимально. Возможно для моей задачи это будет даже лучшим решением. Спасибо, наверное так и поступлю :)
     
  18. Unixon

    Unixon Оракул Модератор

    По памяти это минимум Mega, по быстродействию, возможно, понадобится Due.
     
  19. Onkel

    Onkel Гуру

    Вы ему скажете. Вот пример - "центральный" получает данные с компрессора, оцифровывает по 7 частотам , а на выход дает синхроимпульс (синхронизация других мк по спаду), пустой такт и 7 данных по спектру.

    rsprl.jpg

    Слейвы по получению синхросигнала (спад фронта, физически у меня - это прерывание по порту D3), через 5 +10*n оцифровывают и по своей программе рулят своими лентами. В частности, вместо моего сигнала с мк это может быть и видеосигнал - там, кстати, синхроимпульсы уже есть, так что надо только задать слейвам какие строки им оцифровывать.
     
  20. Unixon

    Unixon Оракул Модератор

    Скорость системы, насколько я понимаю, будет ограничиваться скоростью I2C, поэтому если что-то там и распараллеливать, то в первую очередь коммуникации, если есть несколько аппаратных интерфейсов I2C.

    Впрочем, усложнить всегда можно успеть, для первой итерации не стоит наворачивать лишнего.