Подскажите где ошибка. Что я делаю не так?

Тема в разделе "Arduino & Shields", создана пользователем abubakar, 17 мар 2017.

  1. abubakar

    abubakar Нерд

    Здарова всем. Подскажите парни, почему не могу вгрузить. ВЫ меня всегда выручаете. Надеюсь и на этот раз останусь довольным
    Arduino: 1.6.10 (Windows 10), Плата:"Arduino Nano, ATmega168"

    In file included from C:\Users\777\Desktop\sketch_dalnomer\sketch_dalnomer.ino:13:0:

    C:\Users\777\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.14\libraries\Wire\src/Wire.h:33:1: error: expected initializer before 'class'

    class TwoWire : public Stream

    ^

    exit status 1
    Ошибка компиляции для платы Arduino Nano.

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


    Вот сам скетч
    // Создано для добросовестного использования.
    // Designed for fair use.
    // Ссылка на видео https://www.youtube.com/user/uploadvetal/videos
    // Science Vetal

    int echoPin = 11;
    int trigPin = 10;

    int vremia;
    int smotrim_cm;
    int smotrim_inch;
    int rasstoyanie
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x3F,16,2);

    void setup() {
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    Serial.begin (9600);
    lcd.begin();
    lcd.backlight();
    lcd.print("Rasstoyanie:");

    }

    void loop() {
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(40);
    digitalWrite(trigPin, LOW);
    vremia = pulseIn(echoPin, HIGH);
    smotrim_cm = vremia/58 + 10,5; // укажите свои расстояния в сантиметрах
    smotrim_inch = vremia/148 + 4,13; // укажите свои расстояния в дюймах
    Serial.print(smotrim_cm);
    Serial.print(rasstoyanie);

    lcd.setCursor(0, 5);
    lcd.print(smotrim_cm);
    lcd.print("cm");

    lcd.setCursor(9, 1);
    lcd.print(smotrim_inch);
    lcd.print("inch");


    }
    delay(100);
    }
     
  2. AlexU

    AlexU Гуру

    Ленитесь глубоко изучать языки C и C++, не внимательно читаете сообщения об ошибках, криво оформляете тему на форуме (для исходных кодов есть специальный тег) и т.п.

    Что касается исходного текста, то в 12-й строке забыли точку с запятой, а в конце перед вызовом функции 'delay(100)' лишняя фигурная скобка. Это результат беглого осмотра коряво оформленного вопроса.
     
    Tim308 нравится это.
  3. Tim308

    Tim308 Нерд

    Люди развалившись на стуле, под пивасик хотят ощутить себя программистами и разработчиками, особо ни в чем не разбираясь.В этом главная проблема таких платформ, низкий порог входа.
     
  4. rkit

    rkit Гуру

    Да нет, как раз таки порог высокий, потому все о него и спотыкаются. Оно просто подается как "тяп-ляп и сделал". Что вполне справедливо, но для людей. которые уже что-то умеют. И многие этот нюанс упускают. Если вы уже более-мене состоявшийся разработчик, то позволяет замечательно сэкономить время и силы. А если ничего не умеете, то задача вдвойне сложна, потому что приходится осваивать одновременно и программирование и электронику.
     
  5. qwone

    qwone Гик

    Скорее не порог высокий или низкий. Просто программирование на Ардуине напоминает поход через лес с помощью Сусанинов. Разумеется опытные уже натоптали собственные дорожки. А вот новички пытаются срезать путь , но без компаса делают лишние круги.
     
  6. rkit

    rkit Гуру

    Нет, именно порог. Чтобы вменяемо писать на С++, нужно освоить очень много элементов. Без этого никак. Совсем.
    Чтобы вменяемо разводить электронику, тоже нужно немало освоить. Но тут можно обойтись модулями, на первое время.
     
  7. qwone

    qwone Гик

    Вот вот лучше начинать с модулей, а не с рассыпухи. А вот новичков программированию начинают учить с рассыпухи.
    И первая программа должна выглядить так
    Код (C++):
    /* class_Led.ino
      #1 светодиод ->13
      #2 кнопка 1 -> 4 вкл светодиод
      #3 кнопка 2 -> 5 выкл светодиод
      #4 кнопка 3 -> 6 светодиод мигает
      */

    // #1 светодиод
    #include "Cl_led.h"
    const byte led1_pin = 13;
    Cl_led Led1(led1_pin, 1); // создать
    // #2 кнопка
    #include "Cl_do_btn.h"
    const byte btn1_pin = 4;
    void Do_Btn1() {
      Led1.ON();
    }
    Cl_do_btn Btn1(btn1_pin, 0,    // пин кнопки, уровень при наж кнопки
                   & Do_Btn1   );  // какую функцию надо сделать
    // #3 кнопка
    const byte btn2_pin = 5;
    void Do_Btn2() {
      Led1.OFF();
    }
    Cl_do_btn Btn2(btn2_pin, 0,    // пин кнопки, уровень при наж кнопки
                   & Do_Btn2   );  // какую функцию надо сделать
    // #4 кнопка
    const byte btn3_pin = 6;
    void Do_Btn3() {
      Led1.blink();
    }
    Cl_do_btn Btn3(btn3_pin, 0,    // пин кнопки, уровень при наж кнопки
                   & Do_Btn3   );  // какую функцию надо сделать
    void setup() {
      Led1.setup();
      Led1.T_blink = 500;// мигать 0.5 горит -0.5 нет
      Btn1.setup();
      Btn2.setup();
      Btn3.setup();
    }

    void loop() {
      Led1.loop();
      Btn1.loop();
      Btn2.loop();
      Btn3.loop();
    }
     
  8. rkit

    rkit Гуру

    Чем лучше-то? Модули ничему не учат. Можно собрать тысячу устройств на модулях, и при этом не уметь посчитать транзистор.
    Это просто другой мир, не пересекающийся с электроникой.
     
  9. qwone

    qwone Гик

    Ну да , деньги зло. И поэтому богатые оберегают бедных от денег. Так и с Ардуиной. Неким людям выгодно водить людей кругами, но не достигать быстрых результатов. Ну а дальше дело привычки. Делфи тоже начинают учить с модулей, а не рассыпухи.
     
  10. Tim308

    Tim308 Нерд

    Именно поэтому на делфи больше всего быдлокодеров.Да и делфи давно умер.
     
  11. Tim308

    Tim308 Нерд

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

    qwone Гик

    Но дело его живет . Вон на даже на Ардуино пакеты для визул проектирования программ. Код хоть и кривой, но работает. И учить много не надо, только щелкай мышкой и изучай как другие это делают на ютубе.
     
  13. rkit

    rkit Гуру

    Тогда как вы объясните полный форум людей, которые не могут?
     
  14. Tim308

    Tim308 Нерд

    @rkit Начать просто :) А довести до ума, уже нужно сидеть разбираться.Вот и полный форум)
     
  15. rkit

    rkit Гуру

    Что такое "начать"? С кровати встать - начать? На руки поплевать - начать?
     
  16. Tim308

    Tim308 Нерд

    @rkit Я там вверху писал
     
  17. ostrov

    ostrov Гуру

    Хотел выложить картинку с пояснением куда пихать код в сообщении, но Радикал завис. Может быть порог все таки достаточно низок для того чтобы найти эту кнопку самостоятельно?
     
  18. ONYX

    ONYX Нуб

    А на вопрос вы не ответили
     
  19. b707

    b707 Гуру

    еще один борец за права новичков? - еще и со зрением плохо.
    На вопрос ответили в первом же ответе, присмотрись
     
  20. parovoZZ

    parovoZZ Гуру

    это кто-то бота тестит.