1. Уважаемые форумчане! Убедительная просьба, используйте наиболее подходящие темы для своих сообщений. Спасибо за понимание.
    Скрыть объявление

Контроллер своими руками

Тема в разделе "Автоматика", создана пользователем Yuriiv, 6 апр 2014.

  1. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    Отулючи все нагрузки от пина. Залей из АрдуиноИДЕ пример digitalWrite (кажется так он называется) и проконтролируй изменение состояния выхода. Если не меняется, то попробуй поменять на другой свободный пин. Если не заработает, то брось всё и отдыхай. Случаются банальные затупы, которые после ночи проходят . Утро вечера мудренее.
     
  2. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Я так и сам часто делаю.Спасибо за совет.
    Сейчас запустил 2.6.7.10 -после загрузки надо сдвинуть калибровку датчика в какую нибудь сторону- тогда Тэн включается вот вам и глюк
    --- сообщения объединены, 5 дек 2016, дата первого сообщения: 5 дек 2016 ---
    Видео зачем удалил?
     
  3. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    Перед сменой прошивок ставил из примеров EepromClear? В 267 и 283 карты расположения переменных в памяти различаются.
     
  4. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Да делал. Дело в том что теперь и 2.6.7 запускается после того как 'сдвинешь' калибровка датчика.
     
  5. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    без сдвигания показания датчика верные?
     
  6. VlasenkoAV

    VlasenkoAV Участник

    Регистрация:
    29.08.2016
    48
    18
    Имя:
    Андрей
    Это не я... Неожиданно не смог зайти на свой акаунт и тоже увидел что видео нет.. Может взламали, не знаю. Создал новый с более сложным паролем. На том вообще от 1го до нуля пароль был.
    Короче, дублирую

    Теперь блок выглядит вот так
    --- сообщения объединены, 6 дек 2016 ---
    --- сообщения объединены, 6 дек 2016 ---
    А может банально пин выгорел? У меня такое было, попробуй перепортировать на другой свободный (если имеется), если заработает то проволочкой по воздуху подпаяйся, а от старой ноги перережь дорожку чтоб еще один порт не отправить к праотцам.
     

    Вложения:

    • DSC02706.JPG
      DSC02706.JPG
      Размер файла:
      2,2 МБ
      Просмотров:
      79
    • DSC02707.JPG
      DSC02707.JPG
      Размер файла:
      2,3 МБ
      Просмотров:
      76
  7. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Да не пин это - пробовал все подряд сам не знаю в чем дело- пусть так работает
    --- сообщения объединены, 12 дек 2016, дата первого сообщения: 7 дек 2016 ---
    для 8.3 эта ссылка не катит
    --- сообщения объединены, 12 дек 2016 ---
    На прошивке 2.8.3 никак не могу добиться что бы работал зуммер-хоть активный хоть пассивный-может кто подскажет?
     
  8. VlasenkoAV

    VlasenkoAV Участник

    Регистрация:
    29.08.2016
    48
    18
    Имя:
    Андрей
    Немного доработал свой блок. Что скажете?
     
    aggressor, 14Znoj88 и leo0702 нравится это.
  9. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Не могу вставить вот это в скетч 2.6.7:
    Код:
    #include <IRremote.h>
    //int RECV_PIN = 11;
    IRrecv irrecv(11);
    decode_results results;
    int Button_up=A1;
    int Button_dn=A0;
    int Button_start=A2;
    int Button_enter = A3;
    int a=0;
    int b=0;
    int c=0;
    int d=0;
    
    void setup()
    {
    irrecv.enableIRIn(); // vklyuchit? priyemnik
    pinMode(Button_up, OUTPUT);
    pinMode(Button_dn, OUTPUT);
    pinMode(Button_start, OUTPUT);
    pinMode(Button_enter, OUTPUT);
    }
    void loop() {
    if (irrecv.decode(&results)) {
    if (results.value == 0xFF629D) {a=a+1;}
    if (results.value == 0xFFA857) {b=b+1;}
    if (results.value == 0xFF02FD) {c=c+1;}
    if (results.value == 0xFFC23D) {d=d+1;}
    if (a==1){digitalWrite(Button_up, HIGH);} else {digitalWrite(Button_up, LOW); a=0;}
    if (b==1){digitalWrite(Button_dn, HIGH);} else {digitalWrite(Button_dn, LOW); b=0;}
    if (b==1){digitalWrite(Button_start, HIGH);} else {digitalWrite(Button_start, LOW); c=0;}
    if (a==1){digitalWrite(Button_enter, HIGH);} else {digitalWrite(Button_enter, LOW); d=0;}
    irrecv.resume();
    }
    }
    
    --- сообщения объединены, 24 дек 2016, дата первого сообщения: 24 дек 2016 ---
    Вместо кнопок
     
  10. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.294
    209
  11. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Пишет:
    Код:
    exit status 1
    'allOFF' was not declared in this scope
    
    --- сообщения объединены, 24 дек 2016, дата первого сообщения: 24 дек 2016 ---
    Вставил вот так:
    Код:
    // sensor and lcd
    OneWire ds(7);
    LiquidCrystalRus lcd(A4,A5,2, 3, 4, 5);
    
    #include <IRremote.h>
    //int RECV_PIN = 11;
    IRrecv irrecv(11);
    decode_results results;
    int Button_up=A1;
    int Button_dn=A0;
    int Button_start=A2;
    int Button_enter = A3;
    int a=0;
    int b=0;
    int c=0;
    int d=0;
    
    void setup()
    {
    irrecv.enableIRIn(); // vklyuchit? priyemnik
    pinMode(Button_up, OUTPUT);
    pinMode(Button_dn, OUTPUT);
    pinMode(Button_start, OUTPUT);
    pinMode(Button_enter, OUTPUT);
    }
    void loop() {
    if (irrecv.decode(&results)) {
    if (results.value == 0xFF629D) {a=a+1;}
    if (results.value == 0xFFA857) {b=b+1;}
    if (results.value == 0xFF02FD) {c=c+1;}
    if (results.value == 0xFFC23D) {d=d+1;}
    if (a==1){digitalWrite(Button_up, HIGH);} else {digitalWrite(Button_up, LOW); a=0;}
    if (b==1){digitalWrite(Button_dn, HIGH);} else {digitalWrite(Button_dn, LOW); b=0;}
    if (b==1){digitalWrite(Button_start, HIGH);} else {digitalWrite(Button_start, LOW); c=0;}
    if (a==1){digitalWrite(Button_enter, HIGH);} else {digitalWrite(Button_enter, LOW); d=0;}
    irrecv.resume();
    }
    }
    // push buttons
    //const char Button_up    = A1;
    //const char Button_dn    = A0;
    //const char Button_start = A2;
    //const char Button_enter = A3;
    
    
    // outputs
    const byte Pump = 6;
    const byte Buzz = 8;
    const byte Heat = 10;
    
    Наверно не правильно?
     
  12. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.294
    209
  13. валера48

    валера48 Участник

    Регистрация:
    30.03.2015
    34
    4
    Никто не сталкивался с проблемой нижние строки дисплея 2004 уехали наверх и показываются вместе.
     
  14. Maksss

    Maksss Active Member

    Регистрация:
    20.02.2015
    257
    28
    Куда копать, подскажите пожалуйста.
    вторая и третья кнопки на пленочной китайской четырехкнопочной клавиатуре выполняют какие то хаотичные действия, в ручном режиме обе кнопки включают релешку. Как будто они две запаралеллены, но прозванивал - не замыкают друг на друга.
    // push buttons
    const char Button_up = A3;
    const char Button_dn = A2;
    const char Button_start = A1;
    const char Button_enter = A0;

    Забил такое подключение, на другую клавиатуру менять пробовал. С чего начать поиск глюка? Прошивка Open-ArdBir-2.8.3-RC

    Как по другому можно подключить, не через входы A0-A3 для проверки?
     
  15. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.294
    209
    С науки о контактах..... проверяйте правильность подключения и качество соединения.
    С наступившем Вас!
     
  16. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    Скорее всего сама клава сжохла. Для начала ее бы отключить и мультиметром проверить
     
  17. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Переназначь на другие пины какие свободные ( #include "Pcb_Brauduino_Original.h" или другой раскоментированный) не забудь сохранить и перезалить-не получится выкинь клаву-хотя сомневаюсь что здесь неисправна клава
    --- сообщения объединены, 7 янв 2017, дата первого сообщения: 7 янв 2017 ---
    С рождеством ВАС всех!!!
     
  18. Maksss

    Maksss Active Member

    Регистрация:
    20.02.2015
    257
    28
    Клаву менял, прозванивал, она работает нормально. Может быть флюс попал под контакты при монтаже штырьковых контактов на разведенную плату.

    Вопрос такой:
    А можно кнопки назначать не только на АЦП контакты A0-A3??
     
  19. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    Назначить можно на любые. В данном случае контакты работают как дискретные входы, не задействую ацп.
    --- сообщения объединены, 8 янв 2017, дата первого сообщения: 8 янв 2017 ---
    Для проверки платы можешь отклбчить клавиатуру. Взять провод, один конец которого соединить с gnd. Вторым поочередно касаться штырей на плате, имитируя нажатие соответствующих кнопок.
     
  20. Maksss

    Maksss Active Member

    Регистрация:
    20.02.2015
    257
    28
    Да, так тоже делал, еще до подключения клавиатуры... Все же скорее всего флюс где то между платой и штырьками коротит, но туда уже не подлезть никак, а выпаивать весь штырьковый разъем лениво...

    В принципе логично, что АЦП не требуется для кнопок, просто я хз как это реализовано в прошивке.
    Спасибо большое за ответы!!!