МАЯЧОК
Знакомство с Arduino
Что такое микроконтроллер?
Микроконтроллер представляет собой микросхему, которая используется для управления электронными устройствами. По сути, это однокристальный компьютер, способный выполнять относительно простые задачи. Не стоит путать с микропроцессором, так как он не содержит в себе периферийных устройств.
Под периферийными устройствами обычно понимают порты входа/выхода, ШИМ-модуляторы, таймеры, радиочастотные приёмники и так далее.
Arduino - эффективная аппаратно- программная платформа для проектирования и создания новых устройств, состоящая из самой платы и программного обеспечения.
Arduino применяется для создания электронных устройств с возможностью приема сигналов от различных цифровых и аналоговых датчиков, которые могут быть подключены к нему, и управления различными исполнительными устройствами. Проекты устройств, основанные на Arduino, могут работать самостоятельно или взаимодействовать с программным обеспечением на компьютере.
Что такое Arduino ?
Примеры проектов
Что к ней можно подключить?
Кнопка RESET
Цифровые порты
14 штук
7 ШИМ(~)
USB-A
Аналоговые порты
6 штук
Разъем питания
Порты питания
Интерфейсы подключения
Цифровой порт
Аналоговый порт
Цифровые порты позволяют подключить к Arduino различные датчики, сенсоры и прочие микросхемы.
Arduino Uno имеет на своей плате шесть аналоговых портов A0, A1, A2, A3, A4, A5. Аналоговые порты нужны для того, чтобы подавать или считывать напряжение на порте от 0 до 5V. Диапазон их значений, доступных для приёма и передачи лежит в отрезке от 0 до 1023, где 0 соответствует 0V, а 1023 - 5V.
Цифровой порт имеет всего два значения для приёма/передачи: HIGH (высокий) и LOW (низкий). Они же соответственно 5V и 0V.
Как программируется Arduino?
Программирование осуществляется на языке C++, которому мы будем учиться на протяжении всего обучения.
Программа состоит из команд, которые в свою очередь объединяются в структурные блоки: функции, процедуры, методы.
В каждой программе для Arduino, которые еще называют скетчами, должны присутствовать две функции: setup() и loop().
void setup () { pinMode ( 5 , OUTPUT ); } void loop () { digitalWrite ( 5 , HIGH );
delay ( 1000 ); digitalWrite ( 5 , LOW );
delay ( 1000 ); }
Макетная плата
На картинке показано каким образом связаны точки подключения на макетной плате. Красными линиями изображены металлические пластины, соединяющая точки.
Первая схема
Подключаем светодиод к Arduino.
Подключая датчик, радиоэлемент или другой электрический компонент, первым делом замыкаем цепь. В нашем случае источником питания будет 5V, а замыкающим пином GND.
Основы синтаксиса
Правило №1.
Важным правилом в языке программирования С++ является разделение строк кода точкой с запятой ";". Каждая команда должна заканчиваться точкой с запятой.
int num = 13;
float num1 = 13.0;
String num2 = “13.0”;
Правило №2.
Вся программа на языке программирования С++ состоит из так называемых блоков, начало и конец блока обозначаются фигурными скобками, а содержимое записывается внутри этих скобок.
void setup (){ оператор; } void loop (){ оператор; }
Комментарии
Поставив двойной слэш, можно писать что угодно, при этом не опасаясь ошибок при компиляции кода. Обычно в комментарии записывают пояснения к коду для других программистов или для себя.
void setup (){ //Эта функция запускается оператор; //1 раз } void loop (){ //Эта функция работает оператор; //в бесконечном цикле }
Переменные
Переменная - это именованная ячейка в памяти, для хранения данных заранее определенного типа.Типов данных бывает очень много: целые числа, числа с запятой, строки, символы, булеаны и так далее.
int num = 13;
float num1 = 13.0;
String num2 = “13.0”;
char num3 = ‘3’;
int a = 10;
int b = 5;
Операторы
Операторы - это команды, выполняющие определенное действие при их вызове. Существует несколько видов операторов: управляющие операторы (циклы, условия), арифметические операторы(сложение вычитание и прочее), операторы сравнения(больше, меньше и так далее), логические операторы(отрицание, конъюнкция, дизъюнкция) и так далее.
pinMode
Самая важная команда при работе с аналоговым или цифровым портом - pinMode() . Эта команда настраивает определенный порт в определенный режим работы. Как уже говорилось на прошлых занятиях, порты могут работать в режиме входа или выхода. В режиме входа мы получаем некоторую информацию на пин, а в режиме выхода наоборот посылаем. В программе эти режимы называются INPUT(вход) и OUTPUT(выход). Давайте настроим 13-ый пин как выход, а 12-ый пин как вход:
void setup()
{
pinMode(13, OUTPUT);
//через запятую вводим сперва номер пина, а потом режим работы
pinMode(12, INPUT);
}
digitalWrite( )
В функцию digitalWrite() необходимо вписать номер пина и уровень сигнала, который необходимо отправить. Так как это цифровой пин, то доступно два варианта LOW - низкий уровень напряжения (0V) или HIGH - высокий уровень напряжения (5V).
void loop()
{
int value = digitalRead(12); //записываем значение, считанное с 12-ого пина в value
digitalWrite( 13, HIGH); // подаем на 13-ый пин 5V
}
delay( )
void loop()
{
int value = digitalRead(12); //записываем значение, считанное с 12-ого пина в value
digitalWrite( 13, HIGH);
// подаем на 13-ый пин 5V
delay(1000);
//задерживаем высокий сигнал на 1 секунду.
digitalWrite( 13, LOW);
// подаем на 13-ый пин 0V
delay(1000);
//задерживаем низкий сигнал на 1 секунду.
}
При создании различных устройств и роботов нам придется работать с функциями, управляющими временными задержками внутри программы. Самой главной функцией, управляющей задержками является delay() . При выполнении эта программа тормозит все процессы на заданное количество миллисекунд.
Вторая схема
Подключаем светодиод к Arduino.
Подключая датчик, радиоэлемент или другой электрический компонент, первым делом замыкаем цепь. В нашем случае источником питания будет 13 пин, а замыкающим пином GND.
Задание: Написать код мигающего светодиода
Дополнительное задание
Самостоятельно подключить еще один светодиод к схеме и изменить код.