Не работает скетч.

Тема в разделе "Arduino & Shields", создана пользователем id_Leon, 14 июн 2017.

  1. id_Leon

    id_Leon Нуб

    Здравствуйте почему то не работает скетч перепечатанный из книги Д. Блюма (2015 года):

    const int LED=9; //контакт 9 для подключения светодиода
    const int BUTTON=2; //КОНТАКТ 2 ДЛЯ ПОДКЛЮЧЕНИЯ КНОПКИ
    boolean lastButton = LOW; //Переменная для сохранения предыдущего
    //состояния кнопки
    boolean currentButton = LOW; //Переменная для сохранения текущего
    //состояния кнопки
    boolean ledOn = false; //Текущие состояние светодиода
    //(включен/выключен)


    void setup()
    {

    pinMode (LED,OUTPUT); //Сконфигурировать контакт светодиода как выход
    pinMode (BUTTON, INPUT); //Сконфигурировать контакт кнопки как вход

    }

    /*
    * Фунция сглаживания дребезга кнопки
    * принимает как аргумент предыдущее состояние кнопки
    * и выдает фактическое
    */

    boolean debounce (boolean last)
    {
    boolean current = degitalRead (BUTTON); //Считать состояние кнопки
    if (last != current) //Если изменилось
    }
    {
    delay (5); //Ждем 5 мс
    current = digitalRead (BUTTON); //Сячитываем состояние кнопки
    return curent; // Возвращаем сотояние кнопки
    }
    void loop()
    {
    currentButton = debounce (lastButton);if (lastButton == LOW&& currentButton ==HIGH) //Если нажатие
    {
    ledOn = !ledOn; //Состояние светодиода
    }
    lastButton = currentButton; //Изменить статус
    digitalWrite (LED, ledOn); //Состояние светодиода
    }

    Ошибка:

    C:\Users\User\Documents\Arduino\sketch_may23a_button_OF_or_OFF\sketch_may23a_button_OF_or_OFF.ino: In function 'boolean debounce(boolean)':

    sketch_may23a_button_OF_or_OFF:27: error: 'degitalRead' was not declared in this scope

    boolean current = degitalRead (BUTTON); //Считать состояние кнопки

    ^

    sketch_may23a_button_OF_or_OFF:29: error: expected primary-expression before '}' token

    }

    ^

    C:\Users\User\Documents\Arduino\sketch_may23a_button_OF_or_OFF\sketch_may23a_button_OF_or_OFF.ino: At global scope:

    sketch_may23a_button_OF_or_OFF:30: error: expected unqualified-id before '{' token

    {

    ^

    exit status 1
    'degitalRead' was not declared in this scope


    И скрипт самого Джереми (с сайта):


    /*
    Arduino Tutorials
    Episode 2
    Switch Program
    Written by: Jeremy Blum
    */

    int switchPin = 8;
    int ledPin = 13;
    boolean lastButton = LOW;
    boolean ledOn = false;

    void setup()
    {
    pinMode(switchPin, INPUT);
    pinMode(ledPin, OUTPUT);
    }

    void loop()
    {
    if (digitalRead(switchPin) == HIGH && lastButton == LOW)
    {
    ledOn = !ledOn;
    lastButton = HIGH;
    }
    else
    {
    //lastButton = LOW;
    lastButton = digitalRead(switchPin);
    }
    digitalWrite(ledPin, ledOn);

    Ошибка:

    C:\Users\User\Documents\Arduino\sketch_apr23b\switch2.pde: In function 'void setup()':

    switch2:13: error: redefinition of 'void setup()'

    void setup()

    ^

    C:\Users\User\Documents\Arduino\sketch_apr23b\sketch_apr23b.ino:3:6: note: 'void setup()' previously defined here

    void setup()

    ^

    C:\Users\User\Documents\Arduino\sketch_apr23b\switch2.pde: In function 'void loop()':

    switch2:19: error: redefinition of 'void loop()'

    void loop()

    ^

    C:\Users\User\Documents\Arduino\sketch_apr23b\sketch_apr23b.ino:9:6: note: 'void loop()' previously defined here

    void loop()

    ^

    exit status 1
    redefinition of 'void setup()'

    Среда разработки: 1.8.2

    Плата: Genuino/ Arduino UNO

    Программатор: Arduino as ISP
     
  2. mcureenab

    mcureenab Гуру

    Глаза протрите

    dEgitalRead
     
    NikitOS нравится это.
  3. id_Leon

    id_Leon Нуб

    Ага, спасибо, а у Джереми Блюма почему скрипт не компилируется?
     
  4. mcureenab

    mcureenab Гуру

    Трите глаза сильнее


    switch2:13: error: redefinition of 'void setup()


    Наверное два скетча в один файл запихнули.
     
  5. id_Leon

    id_Leon Нуб

    Я думал одна вкладка - один скетч - один файл. А зачем разные вкладки в одном файле? Я до этого не дошел ещё.
     
  6. fogary

    fogary Гик

    Код (C++):
    if (last != current) //Если изменилось
    }
    Ошибка в строке 30. Закрывающая фигурная скобка, без открывающей. Видимо опечатка, удалите.
     
  7. id_Leon

    id_Leon Нуб

    Опечатка, спасибо большое!
     
  8. mcureenab

    mcureenab Гуру

    Вкладки, это разные части одного скетча. когда скетч большой его удобно поделить на файлы (вкладки).