// даём разумное имя для пинов, к которым подключены кнопки #define BUTTON_PIN_YELLOW 11 #define BUTTON_PIN_BLUE 12 // была ли жёлтая кнопка отпущена? boolean buttonStateYellow = true; // была ли синяя кнопка отпущена? boolean buttonStateBlue = true; // состояние жёлтого светодиода boolean ledStateYellow = false; // состояние синего светодиода boolean ledStateBlue = false; void setup() { // открываем последовательный порт на Serial Serial.begin(9600); // открываем последовательный порт на пинах 1 и 0 Serial1.begin(9600); // 5 пин в режим выхода pinMode(5, OUTPUT); // подаём высокий уровень на 5 пин // значит устройство будет передавать данные digitalWrite(5, HIGH); } void loop() { // отпущена ли кнопка прямо сейчас boolean buttonStateNowYellow = digitalRead(BUTTON_PIN_YELLOW); boolean buttonStateNowBlue = digitalRead(BUTTON_PIN_BLUE); // если кнопка была отпущена и не отпущена сейчас if (buttonStateYellow && !buttonStateNowYellow) { delay(10); // считываем сигнал снова buttonStateNowYellow = digitalRead(BUTTON_PIN_YELLOW); if (!buttonStateYellow) { // если она всё ещё нажата // значит это клик! Инвертируем сигнал светодиода ledStateYellow = !ledStateYellow; if (ledStateYellow) { // посылаем на модули RS-485 символ «a» Serial1.print('a'); } else { // посылаем на модули RS-485 символ «b» Serial1.print('b'); } } } // запоминаем последнее состояние кнопки для новой итерации buttonStateYellow = buttonStateNowYellow; // если кнопка была отпущена и не отпущена сейчас if (buttonStateBlue && !buttonStateNowBlue) { delay(10); // считываем сигнал снова buttonStateNowBlue = digitalRead(BUTTON_PIN_BLUE); if (!buttonStateNowBlue) { // если она всё ещё нажата // значит это клик! Инвертируем сигнал светодиода ledStateBlue = !ledStateBlue; if (ledStateBlue) { // посылаем на модули RS-485 символ «y» Serial1.print('y'); } else { // посылаем на модули RS-485 символ «z» Serial1.print('z'); } } } // запоминаем последнее состояние кнопки для новой итерации buttonStateBlue = buttonStateNowBlue; } Пожалуйста ткните,что,не так. Спасибо.
за такое надо удалять неправильно вставленный код и писать что-нибудь "ласковое" красными буквами 24-м шрифтом
А в чем проблема? В чем ошибка? Как звучит? Может из-за того, что "serial1" написано через пробел, по крайней мере в названии темы такая ошибка
Пытаюсь организовать удалённое управление устройством.Были закуплены компоненты в Амперке: Uno Slot, Troyka RS-485 и т.д. Взял готовый скетч из примера на этом сайте.http://wiki.amperka.ru/продукты:troyka-rs485. При проверке указывает ошибку
На Uno Slot нет Serial1, поэтому работать не будет. В примерах использоватась Arduino Leonardo или Iskra Neo, там все нормально. Можно заменить Serial1 на созданный через библиотеку SoftwareSerial