Читаем Цифровая электроника для начинающих полностью

- добавить специальную схему для загрузки программы (“прошивки”),

- установить на ПК так называемую “среду разработки” (IDE) для написания кода.

Все это весьма трудоемко, поэтому в 2003м году итальянские инженеры (тогда еще студенты) придумали разместить все это на одной готовой плате. Так появился проект Arduino. Система стала настолько популярной, что к 2013 году на руках у пользователей было уже 700000 плат.

Arduino выглядит примерно так:

Она содержит:

- уже готовый к работе микроконтроллер,

- модуль для подключения к компьютеру по USB - через него осуществляется загрузка и отладка программы,

- базовый набор функций (светодиод, кнопка reset),

- большое количество выводов для подключения различных устройств (кнопки, экраны, датчики).

Существуют разные варианты плат - Arduino Uno, Arduino Mega, Arduino Nano и пр. Также можно приобрести различные платы расширения, например плату управления мотором, или плату с ЖК-экраном.

Помимо плат, существует и бесплатная среда разработки Arduino IDE, позволяющая писать код и загружать программу в плату. Загруженная программа сохраняется в Arduino и после отключения питания, готовую плату потом можно использовать отдельно от компьютера.

2.1 Основы языка Си

Для начала … отложим плату Arduino в сторону, и научимся писать несложные программы на языке Си. Ведь центральный процессор Arduino - это почти полноценный компьютер, а значит его нужно будет программировать. Для этого используется язык Си, весьма популярный для написания программ различных микроконтроллеров.

Чтобы писать программу на каком-либо языке программирования, нужны специальный редактор (так называемая “среда разработки” или IDE) и компилятор, преобразующий текст в готовую программу. Для упрощения мы воспользуемся онлайн компилятором, для чего можно зайти на сайт https://repl.it/languages/c или https://www.onlinegdb.com/online_c_compiler.

Простейшая программа на Си выглядит так:

#include

int main(void) {

printf("Hello World\n");

return 0;

}

Директива #include подключает служебный файл, в котором описаны необходимые нам функции. Функция printf выводит текст на экран. Запустим программу нажатием кнопки “>”, и справа мы увидим результат ее выполнения - появится текст Hello world.

Мы также можем создать целочисленную переменную, написав:

int i = 42;

Или вещественную:

float a = 1.0;

C переменными можно осуществлять математические действия:

float b = 3*val + 5;

Можно увеличить или уменьшить значение переменной:

i = i+1;       // Более короткая запись: i += 1; или еще короче i++;

i = i-1;             // Более короткая запись: i -= 1; или еще короче i--;

Можно вывести на экран значения переменных:

int i = 42;

float a = 1.0;

printf("I = %d, A = %f\n", i, a);

Нужный фрагмент программы можно повторить нужное число раз с помощью оператора for. Выведем значение переменной 10 раз:

for(int v=0; v<10; v++) {

printf("I = %d, A = %f\n", i, a);

}

Блок, который будет повторен, выделяется фигурными скобками { и }. Оператор for можно использовать не только для вывода, например вот так можно подсчитать и вывести сумму квадратов чисел от 1 до 100:

#include

int main(void) {

int sum = 0;

for(int v=0; v<100; v++) {

sum += v*v;

}

printf("Sum = %d\n", sum);

return 0;

}

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

if (sum > 100) {

printf("Sum > 100\n");

}

Это небольшое введение позволит нам ориентироваться в коде программ для Arduino. Желающие могут найти более подробное руководство по С++ самостоятельно.

Самостоятельная работа: найти любые примеры из школьного задачника по математике, и решить их с помощью программы на С.

2.2 Типы данных в Arduino

Мы уже рассмотрели некоторые виды переменных, например int и float. Рассмотрим более подробно типы данных, доступные для Arduino.

Переменные можно разбить на 3 основные группы.

Целочисленные. Они содержат целые числа, например в диапазоне -32768..32767, или 0..65535. Каждой переменной выделяется определенный размер памяти, который и определяет, насколько большое число можно хранить.

Вещественные. Это упрощенно говоря, все нецелые числа - например 2.5, или 3.14. Они занимают в памяти больше места и работа с ними выполняется гораздо медленнее, так что использовать их на маломощных процессорах вроде Arduino рекомендуется лишь при реальной необходимости.

Символьные. Это та же целочисленная переменная, только используемая для хранения кодов букв. Одна переменная хранит код одного символа в формате ASCII. Строка представляется в виде массива символов.

Таким образом, мы можем создать разные типы переменных:

int a = 5;

float pi = 3.1415;

char s = "B";

char str[10] = "Hello";

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника