Ответы пользователя по тегу Arduino
  • Arduino и ar5b95?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Не думаю, что у вас получится ардуинкой "без ничего" разбирать сигнал с дифференциальной пары и формировать ответный дифференциальный сигнал вместе с синхросигналом (тоже дифференциальным) на частотах, сравнимых с рабочими частотами в PCI-e контроллере.
    Помимо этого вам ещё надо будет разобраться какие команды когда слать и фактически эмулировать ардуинкой PCI-e контроллер. Уверены, что вместите все нужное в память?
    Если вам нужен wi-fi, купите специализированный модуль, с этим модулем вы вряд ли что-то сделаете.
    Ответ написан
    5 комментариев
  • Выбор основы "Проводного" умного дома?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    RS-485. Идеален для длинных линий связи в условиях сильных помех. Собственно почти вся аппаратура на военных судах и авиации общается по этому интерфейсу.
    И да, RS-485 - это физический интерфейс. Поверх него придётся написать уже свой протокол общения.
    Обычно в линии есть один мастер и куча слейвов. Мастер шлёт пакет с адресом слейва и данными, обозначающими, чего мастер хочет от этого слейва. Вызываемый слейв после получения пакета мастера должен ответить мастеру своим пакетом данных. В принципе, скорости вам хватит, особенно если не раздувать передаваемые данные и пользоваться кодовыми таблицами вместо передачи строковых данных.
    Ответ написан
    Комментировать
  • Как управлять arduino с RF пульта?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Для начала неплохо бы выяснить, что же у вас за "тот самый" пульт и приёмник и в каком виде он вам выдаёт код нажатой кнопки.
    В общем виде ваша задача сводится к скану информации с приемника и одному оператору case, в котором вы, в зависимости от кода нажатой кнопки, пишете код для выполнения тех или иных действий.
    Ответ написан
    Комментировать
  • 315Mhz Радиомодуль с пультом для Ардуино. Правильно ли я подключаю?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Банальный вопрос: а вы все кнопки на пульте понажимали? Сработает-то в вашей схеме только одна из четырёх.
    Ответ написан
  • Как с помощью Arduino контролировать Android?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Все теми же командами по приему и передаче через UART ардуино может общаться и по блютусу с андроидом.
    Сканируйте посредством ардуино кнопки, определяйте их нажатие и отжатие и передавайте по факту обнаружения этих событий сообщения андроиду.
    Ответ написан
  • Какую платформу (arduino, raspberry, stf32) выбрать для обучения и сборки рабочего решения?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Вашу задачу можно решить самыми слабыми процессорами. Все, что вам нужно - придумать архитектуру устройства.
    Вот вариант: найти датчики, которые гоняют свои показания в общую шину (I2C, как вариант) или собрать кучку плат вида датчик-преобразователь интерфейса и одну плату-приемник показаний.
    В качестве интерфейса общения можно взять RS-485, который неплохо защищен от помех.
    В качестве контроллеров пойдет хоть atmega8, хоть at89s8253.
    Приемник может просто ждать сообщений от датчиков и парсить их, может сам периодически опрашивать датчики - это уже на ваше усмотрение.
    Ответ написан
    Комментировать
  • Что можно реализовать на Arduino?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    У вас есть 32-0.5кб на код, 2кб оперативки и 1кб энергонезависимой памяти.
    Сколько кода у вас влезет - сложно сказать, все зависит от того, на чем и как вы будете писать программу.
    Можете отказаться от бутлоадера и программирования на wiring и перейти на чистый си с разработкой кода в Keil, например. Это будет более правильно. Правда потребуется внешний программатор, но это не проблема - можно собрать, можно купить.
    Ответ написан
    Комментировать
  • PC -> Ardurino -> несколько LED ламп, как работать?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Для проверки идеи достаточно ардуино, модуля Блютус, набора резисторов на 300 Ом и самых дешевых светодиодов.
    Кстати, заметка по Блютус: стандартное напряжение питания этих модулей - 3.3В, а ардуино - 5В. Ардуино может отдавать 3.3В со встроенного стабилизатора, для Блютус его мощности хватит. Но для линий передач надо ставить или согласователь уровней или искать Блютус-модуль, толерантный к напряжению 5В по входным сигналам. Или же искать версию ардуино, где сам чип питается напряжением 3.3В.
    Второй момент: как только вам надоест мигать маломощными светодиодами, вам надо спроектировать модули управления силовой нагрузкой и изолировать их от ардуино. Делать это лучше через оптореле(оптрон). Сам модуль можно строить на обычных или твердотельных реле, на полевых транзисторах и т.д. в зависимости от того, что и как вы хотите включать этим модулем.
    Ответ написан
  • Qt C++ Serial Port в примерах, как переделать его для чтения данных Arduino?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    doc.qt.io/qt-5/qtserialport-terminal-example.html - подробно описано, как создать порт для асинхронного приема данных.
    Согласуйте настройки порта на ПК с настройками UART в скетче на ардуино (скорость, количество стоповых бит и контроль четности).
    На ардуино сформируйте посылку из номера карты. Номер передавайте как строку, после номера передавайте символ перевода каретки.
    В QT по приходу байта записывайте его в буфер, пока принятый байт не будет равен символу перевода каретки. Как только найдёте такой символ - данные из буфера передавайте в новое окно и очищайте буфер.
    Ответ написан
    1 комментарий
  • Как использовать порты pb6 и pb7 atmega328 на arduino pro mini?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Для этого вам надо перепрошить так называемые фьюзы (fuses), которые определяют конфигурацию кристалла МК.
    В частности ими задается выбор тактового генератора. Вам нужно перепрограммировать их с внешнего кварца на внутренний RC-генератор. Тут есть 2 проблемы:
    1 - вам нужен дополнительный ISP-программатор. Им может выступить arduino, как вариант. Другого способа прошить фьюзы я не знаю.
    2. Точность тактирования на внутреннем RC-генераторе существенно ниже, чем с кварцевым резонатором, это следует учесть, если нужны точные тайминги.

    www.engbedded.com/fusecalc - тут можете посчитать фьюзы под свой МК.
    Ответ написан
    Комментировать
  • Протокол общения с Arduino?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Для начала определите какое оборудование будет подключено к ардуине и в каком виде оно будет принимать и отдавать данные для общения с сервером.
    Потом определитесь как именно будет происходить общение с серверомю Может вам нужны данные от оборудования только "по запросу" или же ардуина должна с определенным интервалом отдавать данные сама.
    Ну и исходя из этого разработайте протокол.
    Определите заголовок пакета для передачи и приема, если придется принимать и передавать пакеты разной длины, в заголовке выделите секцию под описание длины пакета. И не передавайте данные в стоковом виде, если можно обойтись без этого. То есть секция пакета, которая описывает получателя данных, не должна быть со строковыми данными. Используйте код. 01 - модем, A2 - датчик температуры .... F0 - датчик влажности и т.д.
    В принципе пакет от сервера может иметь следующий вид:
    AA 00 - (2 байта) признак начала пакета
    XX XX - (2 байта) длина пакета в байтах (без заголовка)
    XX -(1 байт) получатель данных
    XX...XX (n байт) аргумент для передачи получателю

    Опционально в конце пакета можно передать контрольную сумму, вычисленную как некую функцию от заголовка и тела пакета.

    Что и как передается в аргументе - ваше дело. Для датчика DHT вы вообще можете ничего не указывать, а для модема первый байт пакета может содержать AT-команду в виде условного кода, 10 байт после нее - номер абонента без 8 и (возможно) еще n байт с текстом, если это передача смс.
    ДЛя управления какой-нибудь индикацией вы можете передавать 1 байт, в котором будет зашифрован тип индикации (00 - индикация выключена, 01 - постоянная индикация, 02 - мигающая индикация)

    От ардуино вы можете получать данные таким же пакетом.
    Ответ написан
    Комментировать
  • Эмулятор клавиатуры на arduino?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Используйте коды 79 и 80 для клавиш "стрелка вправо" и "стрелка влево" соответственно.
    Ответ написан
    Комментировать