21.02.2017 20:34 Количество просмотров материала 3212 Время на чтение ~3 мин
Увеличить | Уменьшить Распечатать страницу

Программирование Arduino урок 6 - строки

Программирование Arduino урок 6 - строки

Продолжаем освоение платы ардиуно уно. В прошлой статье мы научились выводить информационные сообщения на экран компьютера/ноутбука.

Программирование Arduino урок 6 - строки

Если вы помните, у нас с вами осталось незавершённое дело. А именно способ задание входных параметров функций Serial.print () и Serial.println (). Мы задавали параметры этих функций непосредственно в строках, где они вызывались, вместо того, чтобы задавать параметры, через переменные.

Для начала снова соберём схему с двумя светодиодами. После чего открываем программу, что мы написали в 5 уроке.

Программирование Arduino урок 6 - строки

Как вы можете видеть, я дополнил второй цикл for необходимыми строками. Надеюсь, вы также выполнили это задание :-) Если же нет, тогда дополните вашу программу.

Программирование Arduino урок 6 - строки

Не стоит копировать строки кода из текста статьи. Например, кавычки в вердовском документе могут не восприниматься за «кавычки» в программной среде Arduino IDE. Еще хочу сказать следующее – если с первой попытки загрузить программу в МК не удалось, стоит повторить попытку (несколько раз).

В одной из предыдущих статей я уже затрагивал вопросы касающееся использования переменных. Повторюсь. Намного практичнее вносить изменения в необходимые параметры через изменения значений переменных, что находятся вначале программы или в отдельном файле, чем рыскать в поисках нужных значений по всему коду.

До сегодняшнего момента, мы использовали переменные, что имели тип целого числа. Такими числами удобно вести подсчёт или указывать номер вывода микроконтроллера. Кроме того, данный тип занимает гораздо меньший объём памяти микроконтроллера в сравнении с другими типами. Однако при считывании данных с датчиков (например, датчик температуры) мы будем получать значения, которые состоят из целой и дробной части. Для того, чтобы работать с такими числами нам потребуется тип float (числа с плавающей точкой). Данный тип будет описан отдельно, сейчас же поговорим о строковом типе данных String.

Переменным типа String присваиваются данные заключенные в двойные кавычки.

Объявим переменные типа String.

  • String greenLedText = “”;
  • String redLedText = “”;

В коде программы заменим текстовые сообщения на имена переменных. Как вы можете видеть, при записи переменных в качестве входных параметров функций двойные кавычки не нужны. Но что же будет, если мы запишем имя одной из переменных в двойных кавычках? А вот сейчас мы и проверим…

Программирование Arduino урок 6 - строки

Загрузим программу и посмотрим на результат. Одна строка отображается корректно, а вторая вместо того, чтобы выводить на экран необходимую информацию выводит имя переменной. Всему виной двойные кавычки.

Правило следующее: хотите вывести строку непосредственно с круглых скобок ставьте двойные кавычки, нужно вывести информацию, что присвоена строковой переменной – кавычки не ставим.

Создадим локальную переменную «приветствие» в void setup. Почему именно локальную? Во-первых, она занимает значительно меньше места в памяти микроконтроллера. Во-вторых, что мы зря что-ли обсуждали вопросы локальных и глобальных переменных, нужно теорию применять на практике. А почему создаём «локалку» именно в void setup, а всё потому, что он выполняется всего один раз.

Объявляем и присваиваем значение переменной.

String first_message = “Hello”;

Одного «hello» будет мало, нужно еще что-то. Давайте напишем что-то вроде… :-) и разобьём это на два сообщения.

  • String second_message = “I am Migalka”;
  • String third_message = “I want blinky”;

Вызов функций следует выполнять после строки включения (инициализации) последовательного порта.

  • Serial.println (first_message);
  • Serial.println (second_message);
  • Serial.println (third_message);

Программирование Arduino урок 6 - строки

Загрузим программу и посмотрим на результат. Как и планировалось, приветствие выводится один раз. Но как-то не красиво согласны? :-) Для того, чтобы второе и третье сообщение были на одной строке есть несколько вариантов:

  • Заменить функцию println (second_message) на Serial.print (second_message). Для того, чтобы третье сообщение не наплывало на второе после … «Migalka» поставьте пробел.
  • Соединить вместе второе и третье сообщение. sum_message = second_message + third_message;

Выбираем второй вариант. Предварительно объявим новую строковую переменную String sum_message;

Заменяем имя «second_message» на «sum_message». Если вы заменяли функцию Serial.println (second_message) на Serial.print (second_message), верните все назад, чтобы новое сообщение начиналось с новой строки, а строчку «Serial.println (third_message);» удаляем по причине ненадобности.

Программирование Arduino урок 6 - строки

Загрузим программу и смотрим на результат.

 Урок 6

На этом всё. Продолжение следует!)

Картотека программирования

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]


Вверх