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

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

Discussion in 'Автоматика' started by Yuriiv, Apr 6, 2014.

  1. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    как тут Новый точечный рисунок.jpg
     
    Last edited: Dec 20, 2014
  2. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    Присоедини + к любому цифровому пину на ардуине (например 8)
    с самого начала кода пропиши
    int buzzerPwPin=8; // Пин 8 является VCC для пищалки, можно заменить на любой другой
    int buzzerPin=7; //в данном случае пин управления пищалкой будет 7-ой пин, можно заменить на любой другой

    после этого вставь код который я тебе дал и загрузи в ардуино, при старте пищалка должна именно запищать а не щёлкать.
     
  3. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    при простом подключении всё работает нормально но вот хотелось-бы как на схеме выше
     
  4. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    эту схемку показал hbpro вот поэтому спросил,у меня при таком подключении не работает
     
  5. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    эта схема такого маленького размера, что я не смог ничего рассотреть
     
  6. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    просто скажи какой пин у тебя управляет пищалкой и я тебе скину код
     
  7. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    блин не получается вставить картинку толком,она на 14 странице этой темы hbpro выкладывал,
    у меня вот так
    // sensor and lcd
    OneWire ds(A1);
    LiquidCrystal lcd(3, 2, 7, 8, 9, 10);

    // push buttons
    const char Button_up = A3;
    const char Button_dn = 6;
    const char Button_start = A4;
    const char Button_enter = A5;

    // outputs
    const byte Pump = A0;
    const byte Buzz = 12;
    const byte Heat = A2;
     
  8. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    а в скетче изначально стоит вот так
    void Buzzer(byte NumBeep, int Period){
    for (byte i=0; i < NumBeep; i++){
    digitalWrite (Buzz, HIGH);
    delay (Period);
    digitalWrite(Buzz, LOW);
    delay(100);
    }
    }
    void r_set(byte& data, int addr){
    data=EEPROM.read(addr);
    //delay(150);
    /*
    Serial.print (F("READ--> "));
    Serial.print (F("Addr("));
    Serial.print (addr);
    Serial.print (F(")"));
    Serial.print (F(" Data byte("));
    Serial.print (data);
    Serial.println (F(")"));
    */
    }

    void read_set(byte& data, int addr){
    data=word(EEPROM.read(addr),EEPROM.read(addr+1));
     
  9. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    void setup
    {
    beep (1136, 1000);
    }

    void beep (int tone, int duration)
    {
    for (long i = 0; i < duration * 1000L; i += tone * 2)
    {
    digitalWrite(Buzz, HIGH);
    delayMicroseconds(tone);
    digitalWrite(Buzz, LOW);
    delayMicroseconds(tone);
    }
    }
     
  10. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    выдаёт вот что


    In file included from ArdBir_2_6_70b10_na_plate_nano-uno.ino:102:
    Funzioni.h:1: error: function definition does not declare parameters
    In file included from ArdBir_2_6_70b10_na_plate_nano-uno.ino:113:
    /LCD20x4_ENG.h: In function 'void AddMalt()':
    LCD20x4_ENG.h:147: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void RemoveMalt()':
    LCD20x4_ENG.h:178: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void NoRecipe()':
    LCD20x4_ENG.h:460: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void LeggoRicetta(byte)':
    LCD20x4_ENG.h:490: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void SalvaRicetta()':
    LCD20x4_ENG.h:517: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void Cancellazione(byte)':
    LCD20x4_ENG.h:540: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void Inizializza()':
    LCD20x4_ENG.h:563: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void MemoriaPiena()':
    LCD20x4_ENG.h:572: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void prompt_for_water()':
    LCD20x4_ENG.h:671: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void Resume()':
    LCD20x4_ENG.h:678: error: 'Buzzer' was not declared in this scope
    /LCD20x4_ENG.h: In function 'void End()':
    LCD20x4_ENG.h:727: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'void pauseStage()':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:221: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'boolean wait_for_confirm(boolean&, byte, byte, byte)':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:358: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'void hop_add()':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:562: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'void stage_loop()':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:605: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:609: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:610: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:669: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'void Iodine_Test()':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:722: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'void manual_mode()':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:820: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:831: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:874: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:876: error: 'Buzzer' was not declared in this scope
    ArdBir_2_6_70b10_na_plate_nano-uno.ino: In function 'void WaitStart()':
    ArdBir_2_6_70b10_na_plate_nano-uno.ino:934: error: 'Buzzer' was not declared in this scope
     
  11. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    И вообще я давал этот код просто для проверки, т.е. стоило запустить его чтобы глянуть - работает или нет
     
  12. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    извини не вьехал
     
  13. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    Вадим извини я в программировании только учусь, пока только могу записать и немного подкорректировать существующий проект
     
  14. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    ребят сильно не пинайте разобрался, перепаял на активный бузер и всё заработало с транзисторной цепочкой
     
  15. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    Я думаю совсем не стоит извиняться, я тоже только учусь :). Просто когда я пытаюсь заставить работать какой нибудь элемент которого раньше не было, например пищалку или часы, я обычно пробую сначала закачать отдельный код только на работу данного элемента, а уже потом внедрять его в общий код.
     
  16. flexx

    flexx Active Member

    Joined:
    22.08.2014
    295
    34
    Если я правильно понял суть проблемы, то у тебя void Buzzer() не объявлена. Сам сталкивался с таким косяком на ArdBir 2.6.70b10. Надо просто вписать в файл LCD20x4_ENG.h эту функцию.
     
  17. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Joined:
    19.03.2014
    156
    63
    Всё верно, в моём примере было написано void beep, что я после этого и исправил на Buzzer в очередном ответе в цитате.
     
  18. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    спасибо вам ребята! буду стараться вникать во все нюансы,я честно ещё до конца не понимаю как будет работать пассивный бузер через транзистор но с активным бузером у меня всё получилось,работает отлично
    P.S.поставил на ардуино нано скетч ardbir 2.6.70b10,немного подправил под кнопки без резисторов,нарисовал плату и собрал на ней,все работало кроме бузера а теперь после замены на активный бузз теперь работать стало всё! теперь буду приделывать её к самодельному RIMS
     
  19. HBPro

    HBPro Admin Staff Member

    Joined:
    10.02.2012
    1,102
    397
    Please login or register to view links
     
  20. alexgo

    alexgo Active Member

    Joined:
    07.10.2014
    712
    36
    Имя:
    Александр
    HBPro спасибо! но я уже сделал на активной пищалке,звук намного громче чем на пассивной,может кому ещё пригодится ! HBPro скажи у тебя есть печатка платы предыдущей версии ? было-бы не плохо для форумчан кто собирает самостоятельно если это конечно не коммерческая тайна