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

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

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

  1. alexgo

    alexgo Active Member

    Регистрация:
    07.10.2014
    712
    36
    Имя:
    Александр
    как тут Новый точечный рисунок.jpg
     
    Последнее редактирование: 20 дек 2014
  2. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

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

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

    alexgo Active Member

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

    alexgo Active Member

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

    Vadim Pivovaroff Active Member

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

    Vadim Pivovaroff Active Member

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

    alexgo Active Member

    Регистрация:
    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

    Регистрация:
    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

    Регистрация:
    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

    Регистрация:
    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

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

    alexgo Active Member

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

    alexgo Active Member

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

    alexgo Active Member

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

    Vadim Pivovaroff Active Member

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

    flexx Active Member

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

    Vadim Pivovaroff Active Member

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

    alexgo Active Member

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

    HBPro Admin Команда форума

    Регистрация:
    10.02.2012
    1.102
    397
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
     
  20. alexgo

    alexgo Active Member

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