Помогите с кодом

Тема в разделе "Arduino & Shields", создана пользователем БиЛл ШиФр2, 27 мар 2018.

  1. В чём может заключаться ошибка?
    Что надо сделать, чтобы её исправить?
    2018-03-27_15-57-22.png
     
  2. fogary

    fogary Гик

    Традиционный вопрос. Ваш код засекречен?
     
  3. DetSimen

    DetSimen Guest

    текст ошибки скопируй ВЕСЬ, а не exit 1.
     
  4. Ошибка:
    Arduino: 1.8.3 Hourly Build 2017/04/26 01:33 (Windows 7), Плата:"Arduino Leonardo"

    sketch_mar27a:105: error: expected constructor, destructor, or type conversion before 'int'

    int melody[] = {

    ^

    C:\Users\6145~1\AppData\Local\Temp\arduino_modified_sketch_586906\sketch_mar27a.ino: In function 'void loop()':

    sketch_mar27a:192: error: 'checkClick' was not declared in this scope

    if (checkClick())

    ^

    sketch_mar27a:196: error: expected ';' before 'delay'

    delay(299000)

    ^

    exit status 1
    expected constructor, destructor, or type conversion before 'int'

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  5. DetSimen

    DetSimen Guest

    ашипка в ХЗ какой строке. Вставляй код праильна.
     
  6. В 13-ой, если пустых не считать
     
  7. rewan871

    rewan871 Нерд

    Начнем с того, что у вас не инициализированы переменные в массиве melody[], не заданы значения для переменных. Так же вы вызываете метод checkClick(), но не задали, что он должен делать. Плюс у нас не стоит символы точки с запятой после delay, так же нельзя написать просто melody, это массив, с ним надо что-то делать.
     
  8. Значения для переменных??? Это НОТЫ!!! Что касается checkClick(), то чёрным по белому написано: 2018-03-27_19-41-17.png
    На точку с запятой компилятор бы сам отреагировал. Я просил не НАЙТИ ошибки, а ОБЪЯСНИТЬ, причём только одну, выделенную на скриншоте красным.
     
  9. rewan871

    rewan871 Нерд

    Ладно. Понятно, начнем по порядку, дальше сами увидите. Вы задали целочисленный массив int melodi[], в нем могут хранится только целые значения, а вы в него записываете текст. Другими словами задайте ВСЕМ своим нотам целочисленные значения, как у вас это сделано для нескольких нот в самом начале кода.
     
  10. rewan871

    rewan871 Нерд

    Компилятор не ругается на запятые и на другое, потому что он нашел ошибку выше.
     
  11. Это мелодия для няна и она прекрасно работает
     
  12. Я её копировал
    Хочу сам сделать инт. таймер без часов
     
  13. А вот как сделать мелодию циклом? Собрать массив нот и их длительность в цикл void melody?
     
  14. rewan871

    rewan871 Нерд

    Как она у вас может работать, если код не компилируется? И зачем удалили код из сообщений?

    Я вам совету начать с азов arduino, просмотрите уроки Джереми Брю и Дмитрия Осипова, они отлично объясняют.

    https://www.youtube.com/channel/UC7aH7HVqDvwB1xNHfSl-fDw

     
  15. b707

    b707 Гуру

    Это мелодия работает в ее родном скетче. А когда вы копировали ее себе - вы половину потеряли. Перед массивом melody[] в том скетче, откуда вы копипастили - стояла кучяа дефайнов, которые вы посчитали ненужными и не перенесли.
    Что касается checkClick() - то приведенный вами кусок кода не является описанием этой функции.

    Вообще, поддерживаю предыдущего оратора - вам надо начать с изучения основ, вы пока полный ноль в ардуино.
     
    Airbus нравится это.