Multiservo Shield - подключение потенциометра через Dn

Тема в разделе "Arduino & Shields", создана пользователем ZZZenon, 1 ноя 2015.

  1. ZZZenon

    ZZZenon Нуб

    Никак не разберусь: как подключать (прописывать в скетче) аналоговое устройство на ВХОД D через этот шилд? Пробую подключить потенциометр через порты шилда D2, 3, 5, 6, 7 ,8 - никакой реакции (и через стандартные, и через т.н. Dn) Причем через А0-А3 все работает. Но, к сожалению, нужно именно через D, так все A уже заняты
     
  2. Alex19

    Alex19 Гуру

    Вы можете настроить аналоговые порты, чтобы они работали как цифровые, но не наоборот. Данная плата забирает порты A4 и A5, Вам остаются порты A0-A3.

    Есть 2 варианта.
    1. Использовать Arduino Leonardo или Iskra Neo если данный шилд поддерживает их.
    2. Использовать мультиплексор, к примеру CD4051.

    UPD. Данный шилд поддерживает Iskra Neo, на странице описания.
    При использовании CD4051, Вам понадобится 3 свободных цифровых пинов. Как это выглядит
    [​IMG]
    Подробнее тут - http://arrduinolab.blogspot.ru/2014/05/blog-post.html, плюс поиск Arduino CD4051.
     
    Последнее редактирование: 1 ноя 2015
    ZZZenon нравится это.
  3. ZZZenon

    ZZZenon Нуб

    Беда (
    А Arduino Mega, случаем, не совместима с multiservo shield?
    И, если да, то как их физически подключать друг к другу?

    + не совсем понял "выгоду" использования Леонардо: там так же порты с А0 по А3 будут доступны? Или нет?
     
  4. Alex19

    Alex19 Гуру

    По идее должна, учитывая такое заявление
    Но лучше уточнить у Амперки.

    Как и на Uno.
    Но есть нюанс, Arduino Mega 2560 должна быть R3 (не сильно древняя одним словом).

    У Леонардо или Iskra Neo, I2C на других ножках, а именно на 2 и 3 цифровом пине. Да и аналоговых 12 шт.

    Тут есть краткое сравнение Uno и Леонардо или Iskra Neo - http://amperka.ru/product/arduino-leonardo.

    UPD. Так же не забывайте, можно оставить UNO и расширить выходы при помощи той же CD4051 или аналогичных микросхем.
     
    Последнее редактирование: 2 ноя 2015
    ZZZenon нравится это.
  5. ZZZenon

    ZZZenon Нуб

    А вот тут вопрос. У меги i2c на 20 и 21 пине. А туда ноги мультисерво шилда не встают при нормальном подключении. Чего-то я хз, как мегу и шилд в этом случае дружить?

    Дельный совет. По идее, Леонардно мне с головой хватит в этом случае. Кстати, я правильно понял, на Леонардо те пины, которые не вынесены на шилд в специальные "тройные" Dn пины, можно будет нормально использовать как аналоговые, подключая через пины ("боковые") шилда?
     
  6. Alex19

    Alex19 Гуру

    По ногам Вы правы, но в версии R3 на Uno, Leonardo (или Iskra Neo) и Mega их начали дублировать перед пином AREF (сначала SCL, SDA, AREF, GND, 13), как раз для совместимости.

    Благодаря этому можно обеспечить совместимость данного шилда. Именно так и устроен данный шилд -
    https://github.com/amperka/Multiservo/blob/master/hardware/multiservo-sch.pdf.

    Да можно, вот все аналоговые пины Леонардо - Analog Inputs: A0-A5, A6 - A11 (on digital pins 4, 6, 8, 9, 10, and 12).

    Гребенку D3, D2 использовать не сможете, там I2C, это, что вижу с ходу.
     
    ZZZenon нравится это.
  7. ZZZenon

    ZZZenon Нуб

    А вот это реально для меня откровением стало.
    Я правильно понял, что указанные Вами пины (4, 6, 8, 9, 10, and 12) - ПВМ, хотя возле них нет значка "~"?
    И сразу второй вопрос: чтобы эти пины работали как аналоговые, их в скетче нужно называть 4, 6, 8... или A6, A7, A8... ?
     
  8. Alex19

    Alex19 Гуру

    Я не совсем понимаю, что такое ПВМ. Эти пины работаю как в цифровом, так и в аналоговом режиме.
    Знак ~ не относится к аналоговым портам, ими обозначаются порты ШИМ.

    Нужно обращаться к ним A6, A7, A8.
     
    ZZZenon нравится это.