Вопрос с PWM на ардуино

Тема в разделе "Arduino & Shields", создана пользователем ДмитрийД, 6 июн 2015.

  1. ДмитрийД

    ДмитрийД Нерд

    Новичок в арудино, сильно не пинайте:)
    есть такая задача
    Связка ардуино УНО, хоббийный китайский пульт 6 канальный 2.4 Ггц, автомобильный ESC Регулятор оборотов, бесколлекторный мотор.

    Нужно: принимать сигнал от 4х каналов в ардуину пульта. Канал газа нужно отдавать в регулятор оборотов без изменения , и остальные каналы тумблеры будут управлять условиями в арду
    1) как правильно загнать канал газа в арду с пульта и отдать его в регуль? Просто в digital канал 2 подрубить газ и в Digital 3 подрубить регуль и в коде указать? как именно правильно написать код ?
    2) В регуляторе есть функция тормоза, когда газ переводится в нейтраль. Нужно сделать так - когда внешний датчик сработал(концевик) , мотор нужно остановить и включить тормоз. ПРосто в канал где регуль подать нужный PWM? как это правильно сделать?
     
  2. SPX

    SPX Нерд

    Последнее редактирование: 7 июн 2015
  3. SPX

    SPX Нерд

  4. ДмитрийД

    ДмитрийД Нерд

    Не очень понятно к чему эти ссылки были:)
    Упростим
    В канал 3 я подаю сигнал от приемыша, в канал 5 подключен регулятор и туда должен просто выводиться сигнал из канала 3, но работает как-то странно.
    Что неправильно делаю?

    Код (Text):
    float t;
    void setup() {
      // put your setup code here, to run once:
    pinMode(3,INPUT);
    pinMode(5,OUTPUT);
    Serial.begin(9600);
    }

    void loop() {
      // put your main code here, to run repeatedly:
    t=digitalRead(3);
    digitalWrite(5,t);
    }
     
  5. SPX

    SPX Нерд

    Ссылки кинул на похожий проект.
    Код - по идее правильный, тип переменной именно float, а не int?
     
  6. ДмитрийД

    ДмитрийД Нерд

    Немного затупил с настройкой самого пульта, код работает.

    Но проблеома теперь другая, если просто эти строки все ок, но как только вставляю в прогу где есть SERIAL.println или делеи в разных условиях, перестает работать
     
  7. SPX

    SPX Нерд

    Код постани, попробуем "виртуально" отладить.
     
  8. ДмитрийД

    ДмитрийД Нерд

    Все разобрался, через PulseIn считываю, и загоняю в другой канал, все работает!
     
  9. SPX

    SPX Нерд

    Красавец! Зашарь сообществу? Было бы офигенно почитать.