• Как подключить к 5v логике, мотор на 36v?

    Реверс ннада? Если надо то H-мост на транзисторах: два драйвера верхнего и нижнего ключа, 4 транзистора, контроллер.
    Что-то похожее на это, на IR2104, например:
    DC-Motor-IR2104-H-BRIDGE.png

    Если только вкл-выкл/ШИМ управление с вращением только в одну сторону, то выдрать полевой транзистор откуда-нибудь n-типа(в материнке можно поискать, они на низкое напряжение, огромные токи и дружат с низковольтовой логикой) и сделать примерно так:
    %D0%BA%D0%BE%D0%BD%D1%81%D0%BF%D0%B5%D0%
    Vin - твои 36В
    Затвор транзистора - с контроллера ШИМ
    GND обоих устройств должны быть соединены.

    Хотя все же лучше гоянть транзисторы драйверами.
    Ответ написан
    Комментировать
  • Как подключить к питанию примерно 30 ардуин, какой должен быть ток и напряжение?

    Напряжение такое же, как и для одной ардуины. Ток в зависимости от нагруженности. Сама по себе ардуина вряд ли больше 150мА будет жрать (думаю около 50-100мА). Соответственно берем макс. ток и умножаем на кол-во ардуин, это выйдет 4-5А для худшего случая.
    Но никто не запрещает использовать несколько блоков питания, объединив общий провод GND и вешать на каждый блок по 5-10 ардуин.

    Если же там будет до кучи еще висеть гора модулей, двигателей и датчиков, то лучше замерить примерное потребление тока взять блок питания с запасом хотя бы процентов 30 (один фиг наврут на блоке питания) по току.

    Как вариант, если это какие-нубудь Uno, которые хорошо относятся к 12В питанию - вытащить комп. блок питания ATX, прочитать, как его запустить, нагрузить немного его линии +5В и +12В и спокойной цеплять на него гирлянду из ардуин. Даже для 300 Вт блока питания это будет не проблема.
    Ответ написан
    Комментировать
  • Как оборудование "понимает" программу?

    Для этого ваша программа на компьютере должна осуществлять связь с микроконтроллером (МК).
    Допустим, через виртуальный COM-порт по USB отправляете строку "LED 1 ON \n" в случае, когда вы ткнули в графический интерфейс.
    Из USB, допустим через переходник преобразуем в UART и это идет на МК.

    Т.е. будет цепь PC -> USBtoUART -> МК

    МК же должен будет читать UART(придется ему это запрограммировать) и как только прилетит данная строка изменить состояние ноги(это тоже надо запрограммировать на МК), включив светодиод.

    Можете глянуть теже мини-проекты по ардуино от амперки, что бы примерно понять, как это программируется внутри, как к МК подключают диоды, кнопки и т.п.
    wiki.amperka.ru

    Вот, кстати почти Ваш вопрос
    Ответ написан
    4 комментария
  • Как мигать светодиодами без delay?

    if ((millis() % 1000) > 500) digitalWrite(Pin, HIGH);
    else digitalWrite(Pin, LOW);


    Берем остаток от деления текущего времени (с момента старта МК, в мсек) на 1000.
    Если он выйдет более 500 - включаем диод, иначе вырубаем.
    Получим переключение каждые 500 мс.

    Вставляем это туда, где будет частенько проверятся и наслаждаемся.

    Для твоего случая, вот такую ф-цию и почаще её вызывать в главном цикле.
    void setup() {
    pinMode(13, OUTPUT);
    }
    
    unsigned int millisCounter = 0;
    void migalka(void)
    {
    millisCounter = millis() % 8400;
    if(millisCounter  < 1200 )
    {digitalWrite(13,1);}
    else
    if(millisCounter  < 2400)
    {digitalWrite(13,1);}
    else
    if(millisCounter  < 3600)
    {digitalWrite(13,1);}
    else
    if(millisCounter  < 4800)
    {digitalWrite(13,0);}
    else
    if(millisCounter < 5200)
    {digitalWrite(13,0);}
    else
    if(millisCounter  < 6400)
    {digitalWrite(13,1);}
    else
    if(millisCounter  < 7200)
    {digitalWrite(13,1);}
    else
    {digitalWrite(13,0);}
    }
    /*основной цикл*/
    void loop() {
    migalka();
    }
    Ответ написан
    Комментировать
  • Как записать в файл?

    Надо будет написать программу для компьютера, которая откроет COM-порт с ардуиной и будет его читать, попутно записывая данные в файл. Язык выбирайте по вкусу, Qt, например.
    Может даже что готовое найдете для чтения COM-порта с возможностью записи в файл.

    _______
    UPD:
    Можно добавить SD карту и писать на нее в блокнот, потом вставить её в ПК и смотреть данные.
    Ответ написан
    Комментировать
  • Где ошибка в коде?

    Попробуйте это же в терминал слать.
    Есть подозрение, что с часов все отлично, а вот на дисплее шлак остается висеть ибо ширина строки меняется для случаев:
    18-47-57
    19-5-4    // а вот тут может остаться шлак в виде 57

    Надо чистить строку перед записью / делать вывод BCD-кода / принудительно добавлять нули для жесткого формата хх-хх-хх

    ______
    Кстати, вроде можно настроить форматирование для чисел на выводе сразу, только уже не помню как.
    Что-то типо такого первое под руку попало:
    printf ("\n2.5 Вывод числа 123 с заданной шириной 6 символов:\n");
     {
    int d1=123;
       printf ("%6d\n",d1);
     }


    ___________
    Глянул видео - именно то, о чем я и написал. Старые цифры остаются. :)
    sprintf(my_array, "Time: %2d-%2d-%2d", hours, minutes, seconds);
    попробуй, может так сожрет.
    Ответ написан
    Комментировать
  • Не могу понять в чем проблема данного кода на Arduino?

    В 1,6,5 без ошибок, можете попробовать до setup() написать прототипы ф-ций:
    void listenToSecretKnock(void);
    void triggerOutput(void);
    boolean validateKnock(void);

    Должно помочь.
    Ответ написан
    Комментировать
  • Как запитать от одного аккумулятора робота на ардуино?

    Батарею конденсаторов попробовать можно. Ограничить ток в двигателях можно.

    Хотя если 7В, то можно через диод это на ардуину, а перед ней большую емкость, что бы при просадках питания с ардуины питание так не дергало.
    Ответ написан
    3 комментария
  • Как подключить к одной кнопке Ардуино и радиозвонок?

    Какие токи и напряжения через кнопку? Может туда достаточно оптопару воткнуть?
    Как вариант выдернуть реле, из убитого модема, например, и собрать чет типо такого:
    hEfTySkAcKTX6xbfhKxSr3e9IaNwWFbl1jTlu-6F
    Ответ написан
    6 комментариев
  • Какой контакт надо дергать чтобы переключить HDMI?

    Сними сигналы с ИК диода и эмулируй их ардуиной, подключенной к приемнику сигнала в телевизоре.
    Ответ написан
    Комментировать
  • Как называется кран для воды, управляемый через ардуину?

    Моторизованный шаровой кран?)
    Цены только сильно Вас разочаруют, скорее всего.
    Ответ написан
    Комментировать
  • Подойдут ли различные детали из радиомагазина для Arduino?

    Всё, что совместимо с 5В логикой или, то что Вы сможете согласовать по логическим уровням, совместимо с ардуино.
    При наличии библиотек, конечно, либо умению сделать свои.

    Разницы, где купить нет, но в Китае обычно в разы дешевле. Более того, можно чего-то понавытаскивать из ненужных железяк и спокойно использовать. (индикаторы, диоды, шаговики, транзисторы, двигатели постоянного тока, некоторые микросхемы и т.д.). Это всего лишь микроконтроллер и он будет работать со всем, что вы сможете к нему подключить.
    Ответ написан
    Комментировать
  • Как подружить Arduino с ИК пультом управления?

    Подключайте двигатель не к +5В , а к Vin - это исключит то, что просаживается питание и ардуина тупит (у меня при питании сервы от +5 ардуины она дергается в конвульсиях, а контроллер тупит, при питании сервы от Vin всё ок).

    Еще могут помехи быть сильные, если токи в двигателе большие, в таком случае попробовать силовые и управлющие устройства разнести подальше друг от друга; оградить контроллер фольгой, посаженной на общий провод. (ну это если вы реально что-то мощное включаете).
    Ответ написан
  • Как правильно составить код для управления сдвиговым регистром с помощью ардуино?

    Для обычных сдвиговых регистров, например тут, через ShiftOut: http://wiki.amperka.ru/конспект-arduino:счетчик-нажатий

    Если важен сам принцип, то смотрите временные диаграммы, либо расковыряйте данную функцию.
    Могу ошибаться, но вроде: выставить уровень на data, по фронту clock забить его в регистр, выставить следующее, снова фронтом clock его задвинуть в регистр, после забивания всех 8ми значений подать необходимый уровень на защелку latch, которая одновременно выставит все забитые значения на выходе регистра.
    Ответ написан
    6 комментариев
  • Modbus, RS485 передача данных через rx\tx 1-3, есть ли особенности?

    Попробуйте именно те пины, где сериал есть аппаратный:
    Для меги: последовательная шина: 0 (RX) и 1 (TX); Последовательная шина 1: 19 (RX) и 18 (TX); Последовательная шина 2: 17 (RX) и 16 (TX);
    0, 1 уже для связи с пк, остальные пробуйте на остальное.

    Вроде еще для цифровых пинов есть возможность сделать SoftwareSerial
    Ответ написан
  • Как пропорционально увеличить напряжение аналогового выхода ПЛК?

    Транзистор в усилительном режиме? :)
    В качестве радиатора станину станка :D

    По поводу получения аналогового сигнала - изварщения всевозможные - внешние ЦАП, или задействовать кучу выходов и транзисторных ключей с резисторами и сделать свой ЦАП на ногах МК, либо кондер на ШИМвыход и усилить его транзистором/операционником.

    А насколько быстро должен меняться аналоговый сигнал?
    Если скорость не важна, то можно хоть серву к потенциометру мотать.
    Ответ написан
    Комментировать
  • На всех пинах микроконтроллера PIC одинаковое напряжение (кроме VDD VSS), В чем может быть проблема?

    Скорее всего. Переполюсовка такая штука.
    Ответ написан
    Комментировать
  • Программа или сайт для построения электросхем?

    Proteus, Electronic Workbench (Multisim сейчас) и другие программы для моделирования схем.
    В протеусе, вроде, можно и МК моделировать.

    И да, зачем паять, когда можно взять беспаечную макетку и рассыпуху и на них тестировать?
    Ответ написан
    4 комментария
  • Как заставить несколько пьезопищалок пищать одновременно?

    Tone делает меандр определенной частоты.

    Самый тупой метод, написать функцию, которая будет переключать пин через равные промежутки времени.
    Допустим нам нужна частота f = 3кГц. Период равен T = 1/f с.
    Переключая пин каждые t = T/2 секунды получим наш меандр на 3кГц.
    Только надо будет время в мкс перегнать.
    f = 3000;
    T = 1000000/f;//период в мкс
    t = T/2; //время полупериода
    Могу накосячить в коде:
    Берем остаток от деления таймера микросекунд на период.
    Если остаток больше, чем полупериод, то одно состояние (высокое), иначе другое(низкое).
    Но эту строку надо будет вызывать постоянно.

    if((micros() % T) > t) digitalWrite(BUZZ1, HIGH);
    else digitalWrite(BUZZ1, LOW);

    Более лучший вариант делать это по прерываниям от одного из таймеров.
    Ответ написан
  • Как пользоваться Arduino Nano?

    Среда ардуины достаточно универсальна, для большинства проектов просто сменить в среде программирования плату с Uno на Вашу Nano.
    Судя по микроконтроллеру 328p это действительно нано.

    Порты все обозваны аналогично остальным ардуинам.

    И не лампочки, а светодиоды, включать только вместе с резисторами.
    Вот короче для начинающих отличный ресурс: wiki.amperka.ru
    Почитайте теорию и вперед повторять мини проекты.

    Датчик УЗ, наверное типо этого: amperka.ru/product/hc-sr04-ultrasonic-sensor-dista..., там есть ссылки на библиотеки.
    Ответ написан
    Комментировать