Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Arduino C++ исправить код

Никита Набоков Ученик (100), открыт 6 дней назад
Подчеркивает красным первую и последнюю строку. Можете подсказать как исправить.

#include <Arduino.h>

// Пины для ленты и кнопки
const int ledPin = 6; // Пины для управления лентой (D6, D5, D4)
const int buttonPin = 2; // Пин для кнопки (D2)

// Цвета для ленты
const int red = 255;
const int green = 0;
const int blue = 0;

// Длительность нажатия кнопки (в миллисекундах)
const int longPressDuration = 1000;

// Переменная для хранения состояния кнопки
bool buttonState = false;
unsigned long lastButtonPress = 0;

void setup() {
// Настройка пина ленты на выход
pinMode(ledPin, OUTPUT);

// Настройка пина кнопки на вход
pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
// Чтение состояния кнопки
bool currentButtonState = digitalRead(buttonPin);

// Проверка нажатия кнопки
if (currentButtonState == LOW && buttonState == false) {
buttonState = true;
lastButtonPress = millis();
}

// Проверка длительного нажатия кнопки
if (buttonState == true && millis() - lastButtonPress > longPressDuration) {
// Изменение цвета ленты
analogWrite(ledPin, green);
buttonState = false;
}

// Проверка отпускания кнопки
if (currentButtonState == HIGH && buttonState == true) {
// Изменение цвета ленты
analogWrite(ledPin, blue);
buttonState = false;
}

// Обновление состояния кнопки
buttonState = currentButtonState;
}
2 ответа
Илья Скоров Ученик (194) 6 дней назад
#include <Arduino.h>

// Пины для ленты и кнопки
const int redPin = 9; // Пин для красного цвета (D9)
const int greenPin = 6; // Пин для зеленого цвета (D6)
const int bluePin = 5; // Пин для синего цвета (D5)
const int buttonPin = 2; // Пин для кнопки (D2)

// Длительность нажатия кнопки (в миллисекундах)
const int longPressDuration = 1000;

// Переменная для хранения состояния кнопки
bool buttonState = false;
unsigned long lastButtonPress = 0;

void setup() {
// Настройка пинов ленты на выход
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);

// Настройка пина кнопки на вход
pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
// Чтение состояния кнопки
bool currentButtonState = digitalRead(buttonPin);

// Проверка нажатия кнопки
if (currentButtonState == LOW && buttonState == false) {
buttonState = true;
lastButtonPress = millis();
}

// Проверка длительного нажатия кнопки
if (buttonState == true && millis() - lastButtonPress > longPressDuration) {
// Изменение цвета ленты (например, зеленый)
analogWrite(greenPin, 255);
analogWrite(redPin, 0);
analogWrite(bluePin, 0);
buttonState = false;
}

// Проверка отпускания кнопки
if (currentButtonState == HIGH && buttonState == true) {
// Изменение цвета ленты (например, синий)
analogWrite(bluePin, 255);
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
buttonState = false;
}
}
Никита НабоковУченик (100) 6 дней назад
Снова ошибка в первой и последней строчке
Не Вася и не Петя Мудрец (13170) 6 дней назад
Сам придумал или скопировал?
Похожие вопросы