Страница 7 из 19 ПерваяПервая 1234567891011121317 ... ПоследняяПоследняя
Показано с 61 по 70 из 184
  1. #61
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    393

    По умолчанию Re: Замена ручного управления печкой

    пишет ошибку на вот этой строчке
    tempSensor.begin(12); //Вешаем Датчик на 12 порт
    какая библиотека используется для датчика температуры?
    у меня будет три датчика температуры,три сервопривода,и вот с положениями привода мотора печки как быть,что бы скорость постепенно регулировать.
    имеющаяся программа скорость мотора как раз плавно регулирует. кнопками. надо сделать ползунки на каждый привод? крайние значения как устанавливать? ход заслонки и ход привода скорее всего не равны.
    Можно написать один скетч ,наподобие программы ,с информацией для выводов, что этот Пин идёт туда то ,а этот туда то, и что чего будет делать,было бы супер , таких желающих как я тысячи наверное ))
    имхо, надо максимально конкретизировать задачу. я же не программист))

  2. #62
    Новичок
    Регистрация
    22.12.2011
    Возраст
    58
    Сообщений
    8
    Вес репутации
    155

    По умолчанию Re: Замена ручного управления печкой

    Библиотека на DS18B20 и DS18S20 .Наверное надо добавить вашу библиотеку EEPROM
    ход заслонки это я думаю не очень сложно узнать ,когда уже сервопривод будет смонтирован.
    Пока на данный момент мысли
    1)Двигатель отопителя ,(можно просто сделать 4 кнопки) будет работать через релюшки
    2)Сервопривод заслонки направления потока воздуха ( здесь лучше ползунок)
    3)Сервопривод заслонки горячего и холодного воздуха (два положения,кнопка)
    3)Сервопривод заслонки забора воздуха улица-салон (два положения,кнопка)
    4)Подсветка RGB панелb приборов и салона ( три кнопки )
    5)Уровень топлива(снимать показания с прибора на панели приборов ,аналоговый)
    6)температура за бортом, в салоне, и двигателя
    остальное можно добавлять по мере возможностей и фантазии.
    ещё не очень понял какие контакты на Ардуине за что отвечают ,и что на каких сидит
    Последний раз редактировалось raskor; 20.02.2012 в 19:42.

  3. #63
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    393

    По умолчанию Re: Замена ручного управления печкой

    raskor, сейчас какой-нибудь скетч залит для управления сервами?

  4. #64
    Ломастер Аватар для basurman971
    Регистрация
    13.02.2011
    Возраст
    52
    Сообщений
    396
    Вес репутации
    318

    По умолчанию Re: Замена ручного управления печкой

    Вечер добрый. Вопрос может прост может нет незнай Собрал я на ардуинке меге управление отопителем все классно все работает но вот беда стал переделывать управление заслонкой тепло-холод и уперся. Ну ни в какую ниче не получается програмист я не то что плохой скорей никакой.Обратиться решил к вам так как девайс оч иочень нужен.Очень хотелось бы знать как правильно переписать скетч под третий мотор

    #define m1_l 39 //первый влево
    #define m1_r 40 //первый вправо
    #define m2_l 41 //второй влево (боковые)
    #define m2_r 42 //второй вправо(стекло)
    #define m3_l 44 //третий влево(заслонка горячий-холодный)
    #define m3_r 43 //третий вправо(заслонка горячий-холодный)
    #define JOY 1 //АЦП джойстик
    #define val2 5 //АЦП второго мотора
    #define val1 6 //АЦП первого мотора
    #define val3 7 //АЦП третьего мотора
    #define vent 31 //ШИМ вентилятора

    int res_dt1;//джойстик
    int min_3 = 190; //(заслонка горячий-холодный)
    int max_3 = 900; //(заслонка горячий-холодный)
    int min_2 = 185; //боковые
    int max_2 = 450; //стекло
    int centr_1 = 310; //среднее первый
    int min_1 = 310; //ноги
    int max_1 = 490; //ноги закрыто
    int centr_2 = 370; //среднее второй
    int vent_s=0;
    int vent_speed=0;
    int t=5, f=0;
    int flow=5;
    unsigned long time;


    void setup(void)
    {
    pinMode(m1_l,OUTPUT);
    pinMode(m1_r,OUTPUT);
    pinMode(m2_l,OUTPUT);
    pinMode(m2_r,OUTPUT);
    pinMode(m3_l,OUTPUT);
    pinMode(m3_r,OUTPUT);
    pinMode(vent,OUTPUT);
    digitalWrite(m1_l,LOW);
    digitalWrite(m1_r,LOW);
    digitalWrite(m2_l,LOW);
    digitalWrite(m2_r,LOW);
    digitalWrite(m3_l,LOW);
    digitalWrite(m3_r,LOW);
    digitalWrite(vent,LOW );
    sensors.begin();
    Serial.begin(115200);
    TCCR2B = TCCR2B & 0b11111000 | 0x04;

    /*
    if(analogRead(val1) > max_1-10 && analogRead(val2) < min_2+10) flow=2;
    if(analogRead(val1) > max_1-10 && analogRead(val2) > max_2-10) flow=0;
    if(analogRead(val1) > min_1-10 && analogRead(val1) < min_1+10) flow=1;
    ???????????
    */

    void motors()
    {
    if(flow==0)//стекло
    {
    if (analogRead(val2)<max_2)digitalWrite(m2_r,HIGH);
    else digitalWrite(m2_r,LOW);
    if (analogRead(val1)<max_1)digitalWrite(m1_l,HIGH);
    else digitalWrite(m1_l,LOW);
    }

    if(flow==1)//в ноги
    {
    if (analogRead(val1)>min_1)digitalWrite(m1_r,HIGH);
    else digitalWrite(m1_r,LOW);
    }
    if(flow==2)//боковые
    {
    if (analogRead(val2)>min_2)digitalWrite(m2_l,HIGH);
    else digitalWrite(m2_l,LOW);
    if (analogRead(val1)<max_1)digitalWrite(m1_l,HIGH);
    else digitalWrite(m1_l,LOW);
    }
    if(flow==3)//стекло и ноги
    {
    if (analogRead(val2)<max_2)digitalWrite(m2_r,HIGH);
    else digitalWrite(m2_r,LOW);
    if (analogRead(val1)>min_1)digitalWrite(m1_r,HIGH);
    else digitalWrite(m1_r,LOW);
    }

    if(temp_s+1)//регулировка температуры
    { ??????????????

    }
    if(temp_s-1)//регулировка температуры
    { ???????????????

    }

    void buttons()
    {
    if(res_dt1>=715 && res_dt1<=725)//temp_s++. кнопка VOL UP
    {
    if(temp_s<40)
    {
    if (analogRead(val3)) ????????????
    temp_s=temp_s+1;
    delay(30);
    }
    bytes[0] = 0x5A; //префикс
    bytes[1] = temp_s;
    bytes[2] = 0;
    bytes[3] = 0;
    Serial.write( bytes,4);
    delay(150);
    }

    if(res_dt1>=635 && res_dt1<=645)//temp_s--. кнопка VOL DOWN
    {
    if(temp_s>10)
    {
    temp_s=temp_s-1;
    if (analogRead(val3))?????????????
    delay(30);
    }
    bytes[0] = 0x5A; //префикс
    bytes[1] = temp_s;
    bytes[2] = 0;
    bytes[3] = 0;
    Serial.write( bytes,4);
    delay(150);
    }


    я знаков вопросительных наставил где мне кажется чето надо делать

    Заранее спасибо

  5. #65
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    393

    По умолчанию Re: Замена ручного управления печкой

    basurman971,
    Функция buttons не меняется - там просто задается требуемое значение температуры.
    Управление приводом можно сделать из функции motors или из функции termometer.
    В самом простом варианте для теста:
    PHP код:
    if(temp<temp_s)
    {
    if (
    analogRead(val3)<max_3)digitalWrite(m3_r,HIGH);
    else 
    digitalWrite(m3_r,LOW);

    Ну и соответственно при temp>temp_s в другую сторону.
    Тогда заслонку будет гонять от края до края при каждом переходе через заданную температуру. Для клапана печки это нормально, для заслонки не очень.
    Необходимо либо линейно, либо по какой-то зависимости привязать положение заслонки к температуре.
    Для настройки можно ввести digitalWrite(m3_l,HIGH) и digitalWrite(m3_r,HIGH) на кнопки и двигать заслонку для поиска правильного положения.

  6. #66
    Ломастер Аватар для basurman971
    Регистрация
    13.02.2011
    Возраст
    52
    Сообщений
    396
    Вес репутации
    318

    По умолчанию Re: Замена ручного управления печкой

    Спасибо вечером попробую

  7. #67
    Ломастер Аватар для basurman971
    Регистрация
    13.02.2011
    Возраст
    52
    Сообщений
    396
    Вес репутации
    318

    По умолчанию Re: Замена ручного управления печкой

    manu_245,
    Ага крутиться начал,уже хорошо но сдается мне что датчик положения он не видит и тупо крутит то вправо то влево причем на кнопки не реагирует

  8. #68
    Ломастер Аватар для basurman971
    Регистрация
    13.02.2011
    Возраст
    52
    Сообщений
    396
    Вес репутации
    318

    По умолчанию Re: Замена ручного управления печкой

    manu_245,
    а в
    PHP код:
     /*
      if(analogRead(val1) > max_1-10 && analogRead(val2) < min_2+10) flow=2;
       if(analogRead(val1) > max_1-10 && analogRead(val2) > max_2-10) flow=0;
       if(analogRead(val1) > min_1-10 && analogRead(val1) < min_1+10) flow=1; 
        */ 
    этих штуках случайно не задаются параметры аналогового входа

  9. #69
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    393

    По умолчанию Re: Замена ручного управления печкой

    Эта часть вообще закомментирована, не используется.
    Для проверки кнопками можно так сделать:
    PHP код:
    if(res_dt1>=556 && res_dt1<=566)//vent_s ++. кнопка TRACK UP или другая кнопка (соответственно переназначить надо)
    {
      
    digitalWrite(m3_r,HIGH);
    }
    else 
    digitalWrite(m3_r,LOW);
      
    if(
    res_dt1>=475 && res_dt1<=485)//vent_s --. кнопка TRACK DOWN
    {
      
    digitalWrite(m3_l,HIGH);
    }
    else 
    digitalWrite(m3_l,LOW); 
    другие обращения к m3_l и m3_r при этом необходимо отключить.
    Должен крутить влево в право только при нажатии кнопок.
    Для проверки и настройки можно в loop добавить:
    Serial.println(val3);
    и в терминале посмотреть как меняются значения. при этом остальные обращения к порту для удобства лучше отключить.
    Соответственно можно будет увидеть увеличивается или уменьшается значение АЦП при движении m3_r и тогда возможно поправить код из предыдущего поста.

  10. #70
    Ломастер Аватар для basurman971
    Регистрация
    13.02.2011
    Возраст
    52
    Сообщений
    396
    Вес репутации
    318

    По умолчанию Re: Замена ручного управления печкой

    manu_245
    Спасибо за внимание может хоть к старости чонить понимать буду в энтих языках и каракулях.Но помоему я мозг не токо себе полосчу.
    Надоело мне извращаться и решил драйвер ипонский проверить ,а он редиска возьми и дух испусти. Счас прилужу 293 и уж помучаю его.

Страница 7 из 19 ПерваяПервая 1234567891011121317 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •