Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Assduinshik
2024-01-18 19:50:33

Благодарю тебя Г0сть, за скорые ответы и помощь в учебе и в понимании, буду учиться.

г0cть
2024-01-18 19:12:12
Assduinshik пише:

Так же, должно быть?

Должно быть в соответствии с синтаксисом написания функции и операторов https://doc.arduino.ua/ru/prog/If

Assduinshik пише:

Может есть источник где их можно научиться?

В качестве шпаргалки можно использовать это https://doc.arduino.ua/ru/prog/
А вообще любой учебник по языку С или С++, например, https://aidigitalhealthhub.kpi.ua/~prat/edu/books/programming/c/1_K_R.pdf

Assduinshik
2024-01-18 18:58:48

Благодарю - тебя  Г0сть (с Большой буквы) за помощь. Исправил – теперь первое нажатие кнопки включает светодиод и он постоянно светит, повторное нажатие кнопки отключает светодиод.
 
Так же, должно быть?
  if (tekButton == HIGH&&prevButton == LOW)
    ; что этот символ означает в программировании? Может есть источник где их можно научиться?

Ибо думал нажму на кнопку и пока кнопка нажата светодиод светится как отпускаю гаснет. Так как применял скетч из библиотеки, только при нажатии кнопки светодиод светился, при отпускании гас.
 
Я только вхожу в изучение программирования Arduino и не имею представления о знаках и символах, которые играют важную роль в программировании. Так как скетчи можно было бы скачивать через библиотеку, но тогда мало чему научусь, бывает что надо и в них искать ошибки.
  А это то, что мне было нужно, благодарю тебя Г0сть и удачи!
Однако есть продолжение скетча на эту тему, но еще не проверял, если что-то будет не ок, отпишусь!

г0cть
2024-01-18 16:50:03

А вообще-то внимательно посмотрите на свою строчку if(tekButton ... ) Ничего не замечаете?

г0cть
2024-01-18 16:17:22

Обшибся - prev, а не текущее

г0cть
2024-01-18 16:15:45

А текущее состояние кнопки после отпускания кто сбрасывать будет?

Assduinshik
2024-01-18 14:52:16

С переменной разобралась ошибка исчезла благодаря Вам, участникам форума!
Но при компиляции скетча кнопка не реагирует на включение и выключение светодиода, что здесь нужно сделать, ошибка не появляется. Проверил более 5-ти различных вариантов компилируя в самое железо Arduino UNO R3 уже нет идей. Это самый простой вариант скетча с изменениями:

const int LED=10;//Контакт 10 для подключения светодиода
const int BUTTON=2;//Контакт 2 для подключения кнопки
int tekButton = HIGH;//Переменная для сохранение текущего состояния кнопки
int prevButton = LOW;//Переменная для сохранения предыдущего состояния кнопки

boolean LedOn = false;//Текущее состояние светодиода(включен/выключен)
int ledOn;//Переменная для сохранения состояния светодиода
void setup()
  {
    //Сконфигурирувать контакт светодиода как выход
    pinMode(LED, OUTPUT);
    //Сконфигурирувать контакт кнопки как вход
    pinMode (BUTTON, INPUT);
  }
void loop()
{
  // поместите сюда свой основной код для многократного запуска:
tekButton=digitalRead(BUTTON);
if (tekButton == HIGH&&prevButton == LOW);
{
  //нажатие кнопки - изменить состояние светодиода
  ledOn=!ledOn;// инвертирувать значение состояния светодиода
digitalWrite(LED,ledOn);//изменить статус состояния светодиода
}
prevButton=tekButton;
}
dimich
2024-01-18 09:53:27

І чи обʼявлена вона взагалі. "LedOn"  і "ledOn" - зовсім різні ідентифікатори.

г0cть
2024-01-18 09:29:59
Assduinshik пише:

Меня интересует  объяснение

Ну так компилятор сам все уже объяснил. Если не знаете аглицкого - вбиваете сообщение ошибки в переводчик и получаете:
"«ledOn» не был объявлен в этой области". Теперь смотрите где у вас объявлена переменная ledOn?

Assduinshik
2024-01-18 01:35:25

Доброго времени суток ардуинщики! Тема arduino для меня новая. Вопрос - ошибка в компиляции этого скетча:

const int LED=10;//Контакт 10 для подключения светодиода
const int BUTTON=2;//Контакт 2 для подключения кнопки
int tekButton = HIGH;//Переменная для сохранение текущего состояния кнопки
int prevButton = LOW;//Переменная для сохранения предыдущего состояния кнопки

boolean LedOn = false;//Текущее состояние светодиода(включен/выключен)
void setup()
  {
    //Сконфигурирувать контакт светодиода как выход
    pinMode(LED, OUTPUT);
    //Сконфигурирувать контакт кнопки как вход
    pinMode (BUTTON, INPUT);
  }
void loop()
{
  // поместите сюда свой основной код для многократного запуска:
tekButton=digitalRead(BUTTON);
if (tekButton == HIGH&&prevButton == LOW);
{
  //нажатие кнопки - изменить состояние светодиода
  ledOn=!ledOn;// инвертирувать значение состояния светодиода
digitalWrite(LED,ledOn);//изменить статус состояния светодиода
}
prevButton=tekButton;
}

Меня интересует не готовый ответ, а грамотное объяснение, в направлении понять, потому что хочется научиться. Потратил несколько дней на поправку данного скетча, менял знаки, слова - местами и не получилось исправить.
  Хочу разобраться с данным скетчем, помогите.

Підвал форуму