Здравствуйте почему то не работает скетч перепечатанный из книги Д. Блюма (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
Трите глаза сильнее switch2:13: error: redefinition of 'void setup() Наверное два скетча в один файл запихнули.
Я думал одна вкладка - один скетч - один файл. А зачем разные вкладки в одном файле? Я до этого не дошел ещё.
Код (C++): if (last != current) //Если изменилось } Ошибка в строке 30. Закрывающая фигурная скобка, без открывающей. Видимо опечатка, удалите.