Проблемы с "Эксперимент 19. Светильник, управляемый по USB"

Тема в разделе "Arduino & Shields", создана пользователем Brokenangel, 12 дек 2014.

  1. Brokenangel

    Brokenangel Нуб

    Приветствую!

    Приобрёл набор Матрёшка Зед.

    Изучая возможности макетной платы Ардуино Уно, по прилагаемой методичке и материалам с сайта я столкнулся с трудностью в эксперимента № 19 "Светильник, управлямый по ЮСБ".

    Суть: ни скетч из методички, ни скетч с сайта не работают должным образом. А именно светодиод не горит ни при каких условиях.
    Схема верна, плата работоспособна.
    Листинг скетча

    #define LED_PIN 9
    String message;

    void setup()
    {
    pinMode(LED_PIN, OUTPUT);
    Serial.begin(9600);
    }

    void loop()
    {

    while (Serial.available()) {
    char incomingChar = Serial.read();

    if (incomingChar >= '0' && incomingChar <= '9') {
    message += incomingChar;
    }
    else if (incomingChar == '\n') {

    analogWrite(LED_PIN, message.toInt());
    message = "";
    }

    }
    }


    Конкретика: Контроллер никогда не попадает на участок выделенный жирным шрифтом.
    Единственное толковое , что я сумел сделать, это вставить
    analogWrite(LED_PIN, message.toInt())
    в операндах If (выделено курсивом).
    В этом случае диод загорается, но если вводить с клавиатуры "нуль", то он гаснет, если делать это раз шесть подряд.

    Как быть?
     
  2. Напишите конкретно, что нужно. Чтобы управлять яркостью светильника достаточно писать

    analogWrite(LedPin,0-255);

    0-255 Яркость (Выходное питание)

    Вы вводите цифры от 0 до 9 с ком порта, вот и присваивайте яркость обрабатывая цифры.

    0 - 0 % Выключенное состояние
    9 - 100% Включенное (255)
     
  3. altex

    altex Гик

    Вам нужно выбрать в настройках терминала какой символ перевода строки отправлять. Нужно выбрать (\n), по-умолчанию стоит не отправлять перевод строки
     
    Brokenangel и Demorr нравится это.
  4. Brokenangel

    Brokenangel Нуб

    Благодарю! Заработало-таки!