СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 18.05.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Уроки программирования на Arduino

Категория: Прочее

Нажмите, чтобы узнать подробности

Данная методическая разработка предназначена для изучения учащимися 1 года обучения начальных навыков программирования платформ Arduino.

Просмотр содержимого документа
«Уроки программирования на Arduino»

Муниципальное бюджетное учреждение

дополнительного образования «Станция юных техников»

города Каменск-Шахтинский





Принята на методическом совете

Протокол №______ от «___» _________ 20___г





Уроки программирования на Arduino

Методическая разработка

(Для учащихся 1 года обучения робототехнических объединений учреждений дополнительного образования)

Автор: Барышев Е. В.

педагог дополнительного образования.




2021

Содержание

1.

Пояснительная записка.

3

2.

Основная часть.

5


Урок 1. Мигаем светодиодом.

6


Урок 2. Кнопка и светодиод.

9


Урок 3. Плавное включение светодиода.

11


Урок 4. RGB-светодиод.

13


Урок 5. Бегущие огни.

17

3.

Заключение.

20

4.

Источники информации.

21





1. Пояснительная записка

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

Методическая разработка является частью приложения к образовательной программе «Робототехника», рассчитана на учащихся 12 – 13 лет и направлена на достижение следующих целей и задач:

Образовательные:

• ознакомить учащихся с описанием структуры программы языка программирования;

• научить учащихся подключать различное периферийное оборудование к платформе Arduino.

Развивающие:

• развитие интереса и склонностей в области программирования;

• развитие навыков при работе в открытой среде программирования Arduino IDE.

Воспитывающие:

• воспитание всестороннего интереса к технике, творческого отношения к труду;

• воспитание чувства взаимоуважения между кружковцами.

Для освоения руководства уроков по программирования и изучения открытой среды программирования Arduino IDE предлагается следующая методика изучения:

• повторение знаний физических основ электричества в рамках школьного курса по физике;

• использование персонального компьютера;

• самостоятельно собирать электрические схемы на макетной плате;

• применение команд управления исполнительными устройствами и считывания информации с датчиков, подключенных к контроллеру.

Сохраняя общую направленность материала, определяемую предлагаемой методической разработкой, преподаватель, должен иметь свой авторский демонстрационный материал (готовые проекты, фото и видео материал). Учащийся может использовать данную методическую разработку как шаблон, для создания своей научно - исследовательской работы в области программирования платформ Arduino.

Arduino — небольшая плата с собственным процессором и памятью, которая плотно взаимодействует с окружающей средой. Это отличает данный «микрокомпьютер» от персональных компьютеров, которые не выходят за рамки виртуальности. Кроме того, Arduino может работать автономно или взаимодействовать с компьютером.

На плате Arduino есть десятки контактов, к которым можно подключать всевозможные компоненты: светодиоды, датчики, моторы и платы расширения. В процессор можно загрузить программу для Ардуино (ее называют скетч), которая будет принимать показания датчиков и управлять всеми устройствами по заданному алгоритму.


2. Основная часть



На первом занятии рассмотрим, что такое Arduino, как пользоваться данной платформой. Разберем сборку электрических схем с помощью макетной платы. И соберем простую схему с мигающим светодиодом на Arduino, чтобы понять, как программировать микропроцессор на плате Ардуино через компьютер.

Для уроков нам понадобиться следующий комплект модулей и радиодеталей (рисунки 1 и 2).

Рисунок 1.



Рисунок 2.


Урок 1. Мигаем светодиодом.



Как известно, первая программа, которую человек пишет, при изучении программирования, называется «Hello World!». Суть этой программы сводится к тому, чтобы после запуска на экране появилась указанная простая фраза.

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

Устройство светодиода.

Светодиод - это устройство, которое представляет собой полупроводниковый прибор, способный излучать свет при пропускании через него электрического тока в прямом направлении (от анода к катоду). Ниже приведена схема типичного светодиода с линзой (рисунок 3).

Рисунок 3.

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

  1. Анод светодиода имеет более длинный проводник

  2. 2) Со стороны катода, корпус светодиода немного срезан

А вот так выглядят светодиоды «в живую» (рисунок 4).

Рисунок 4.

Это обычные одноцветные светодиоды. А бывают еще двух, и даже трехцветные. Вот так, например, выглядит трехцветный (RGB) светодиод (рисунок 5):

Рисунок 5.

У этого светодиода сразу четыре ноги. Одна — катод, а три другие — аноды для трех разных цветов.

В современной микроэлектронике применяются миниатюрные светодиоды для поверхностного монтажа.



Схема включения светодиода

Чтобы зажечь светодиод, нам потребуется подключить его к одному из цифровых выводов Ардуино. Катод светодиода подключим к минусу (земля), а анод пойдет у нас на линию D2. через токозадающий резистор 360 — 510 Ом. Принципиальная схема подключения светодиода (рисунок 6) и внешний вид макета (рисунок 7).

Рисунок 6.



Рисунок 7.

Резистор помогает решить две задачи. Во-первых, при подключении к источнику питания, светодиод старается бесконтрольно пропустить через себя как можно больше тока. Это может привести к самосожжению самого светодиода и к повреждению контроллера! Обычному светодиоду нужно всего 20 мА тока.

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

Вообще, если под рукой нет резистора на 150 Ом, можно любой другой большего номинала. Просто светодиод будет гореть менее ярко.

Теперь, когда светодиод подключен, а Ардуино, настало время программирования.

Для вывода высокого или низкого уровня сигнала на один из контактов общего назначения, в редакторе программ Arduino IDE используется функция digitalWrite. Вызов этой функции имеет вид:

digitalWrite( номер_контакта, уровень_сигнала );

где аргумент уровень_сигнала может принимать два значения: HIGH (высокий, +5В) или LOW (низкий, заземлен).

Другими словами, если написать:

digitalWrite( 2, HIGH );

То Ардуино соединит порт D2 с питанием +5В и светодиод загорится!

Если же напишем:

digitalWrite( 2, LOW);

Анод светодиода замкнется на землю, и светодиод погаснет.

С этим понятно. Остался еще один момент. Чтобы порт D2 именно выводил сигнал, а не принимал его, потребуется использовать специальную функцию для установки режима контактов — pinMode. Формат этой функции таков:

pinMode( номер_контакта, режим_контакта );

где аргумент режим_контакта может принимать значения: OUTPUT (вывод) и INPUT (ввод).

То есть нам, чтобы помигать светодиодом, надо будет добавить в программу строчку:

pinMode( 2, OUTPUT );

Итоговый программный код для мигания светодиодом показан в таблице 1.

int led = 2;

void setup()

{

pinMode(led, OUTPUT); // установка 2-го контакта в режим вывода

}

void loop()

{

digitalWrite(led, HIGH); // вывод №2 в активное состояние

delay(1000); // пауза 1-секунда

digitalWrite(led, LOW); // вывод №2 в неактивное состояние

delay(1000); // пауза 1-секунда

}

Таблица 1.

В программе присутствует еще одна полезная функция — delay. Это просто пауза, задаваемая в миллисекундах. delay (1000) — означает паузу в 1000мс, что равно 1-й секунде.

Урок 2. Кнопка и светодиод.



Это эксперимент по работе с кнопкой. Мы будем включать светодиод, нажимая кнопки, и выключать при отпускании кнопки. Рассмотрим понятие дребезга и программные методы его устранения.

Необходимые компоненты:

  • контроллер Arduino UNO R3;

  • плата для прототипирования;

  • кнопка;

  • светодиод;

  • резистор 220 Ом;

  • резистор 10 кОм;

  • провода папа-папа.

В данном эксперименте мы будем использовать контакт D2 Arduino в качестве входа. Это позволяет подключить к нему кнопку для взаимодействия с проектом в режиме реального времени. При использовании Arduino в качестве входов используют pull-up- и pulldown-резисторы, чтобы вход Arduino не находился в «подвешенном» состоянии (в этом состоянии он будет собирать внешние наводки и принимать произвольные значения), а имел заранее известное состояние (0 или 1). Резисторы pull-up подтягивают вход к питанию +5 В, pull-down-резисторы подтягивают вход к GND. Кроме этого, pull-up- и pull-down-резисторы гарантируют, что кнопка не создаст короткого замыкания между +5 В и землей при нажатии. Схема подключения кнопки и светодиода изображена на рисунке 8.

Рисунок 8.

Когда кнопка отключена, вход D2 будет подтянут к «земле» через резистор номиналом 10 кОм, который будет ограничивать поток тока, и на входном контакте будет установлено значение напряжения LOW. При нажатии на кнопку входной контакт напрямую связан с 5 В. Большая часть тока будет протекать по пути наименьшего сопротивления через замкнутую кнопку, и на входе генерируется уровень HIGH. При нажатии на кнопку включаем светодиод, при отпускании – гасим.

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




// нажали кнопку – светодиод горит, отпустили кнопку – светодиод погас

const int LED=10; // Контакт 10 для подключения светодиода

const int BUTTON=2; // Контакт 2 для подключения кнопки

void setup()

{

pinMode (LED, OUTPUT); // Сконфигурировать контакт светодиода как выход

pinMode (BUTTON, INPUT); // Сконфигурировать контакт кнопки как вход

}

void loop()

{

if (digitalRead(BUTTON) == LOW)

{

digitalWrite(LED, LOW); // включаем светодиод, подавая на вывод 1 (LOW)

}

else

{

digitalWrite(LED, HIGH); // выключаем светодиод, подавая на вывод 0 (HIGH)

}

}

Таблица 1.

Порядок подключения:

1. Длинную ножку светодиода (анод) подключаем к цифровому выводу D10 Arduino, другую (катод) – через резистор 220 Ом к выводу GND (см. рис. 2.1).

2. Один вход кнопки подключаем к +5 В, другой – через резистор 10 кОм к GND, выход кнопки подключаем к входу D2 Arduino (см. рисунок 8).

3. Загружаем в плату Arduino скетч.

4. При нажатии на кнопку светодиод должен гореть, при отпускании – затухнуть.

Усложним задачу – будем переключать состояние светодиода (включен/выключен) при каждом нажатии кнопки.

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

При нажатии кнопки светодиод должен изменять свое состояние. Но это будет происходить не всегда. Виной тому – дребезг кнопок.

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








// нажали кнопку – светодиод горит, отпустили кнопку – светодиод горит, нажали // еще раз светодиод погас

const int LED=10; // Контакт 10 для подключения светодиода

const int BUTTON=2; // Контакт 2 для подключения кнопки

int tekButton = LOW; // Переменная для сохранения текущего состояния кнопки

int prevButton = LOW; // Переменная для сохранения предыдущего состояния

// кнопки

boolean ledOn = false; // Текущее состояние светодиода (включен/выключен)

void setup()

{

pinMode (LED, OUTPUT); // Сконфигурировать контакт светодиода как выход

pinMode (BUTTON, INPUT); // Сконфигурировать контакт кнопки как //вход

}

void loop()

{

tekButton=digitalRead(BUTTON);

if (tekButton == HIGH && prevButton == LOW)

{

ledOn=!ledOn; // нажатие кнопки – изменить состояние светодиода

digitalWrite(LED, ledOn);

}

prevButton=tekButton;

}

Таблица 2.

Микроконтроллер зафиксирует все эти нажатия, потому что дребезг неотличим от настоящего нажатия на кнопку. Устранить влияние дребезга можно программно. Алгоритм следующий:

1. Сохраняем предыдущее состояние кнопки и текущее состояние кнопки (при инициализации LOW).

2. Считываем текущее состояние кнопки.

3. Если текущее состояние кнопки отличается от предыдущего состояния кнопки, ждем 5 мс, потому что кнопка, возможно, изменила состояние.

4. После 5 мс считываем состояние кнопки и используем его в качестве текущего состояния кнопки.

5. Если предыдущее состояние кнопки было LOW, а текущее состояние кнопки HIGH, переключаем состояние светодиода.

6. Устанавливаем предыдущее состояние кнопки для текущего состояния кнопки.

7. Возврат к шагу 2. Добавляем к нашему скетчу подпрограмму устранения дребезга.

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









Урок 3. Плавное включение светодиода.



В данном уроке по программированию Arduino мы научимся плавно изменять яркость светодиода с помощью ШИМ (PWM). Светодиод будет с начало плавно разгораться, а затем так же плавно гаснуть.

Подключать будем к контакту D9 платы, так как она поддерживает PWM. Принципиальная схема включения светодиода (рисунок 10), и монтажная схема (рисунок 11).

Рисунок 10.



Рисунок 11.



Программный код для изменения яркости светодиода показан в таблице 1.


// Плавное изменение яркости светодиода PWM

int value = 0; // переменная для хранения значения ШИМ

int ledpin = 9; // светодиод подключён к выводу 9

void setup()

{

// ничего не устанавливаем

}

void loop()

{

for(value = 0 ; value value+=5) // напряжение постепенно увеличивается (от 0V to 5V)

{

analogWrite(ledpin, value);

delay(100); // ждём 30 миллисекунд, светодиод постепенно загорается

}

for(value = 240; value =0; value-=5) // напряжение постепенно уменьшаться (от 5V to 0V)

{

analogWrite(ledpin, value);

delay(100);

} }


Таблица 1.



Урок 4. RGB-светодиод.

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

Arduino не может на цифровой вывод выдавать произвольное напряжение. Выдается либо +5В (HIGH), либо 0В (LOW). Но уровнем напряжения управляется многое: например, яркость светодиода или скорость вращения мотора. Для симуляции неполного напряжения используется ШИМ (широтно-импульсная модуляция, или PWM).

ШИМ – это операция получения изменяющегося аналогового значения посредством цифровых сигналов. Цифровой сигнал на выходе постоянно переключается между максимальным и минимальным значениями. Переключение имеет частоту в тысячи герц. Глаз не замечает мерцания более 50Гц, поэтому нам кажется, что светодиод не мерцает, а горит в неполную силу. Длительность включения максимального значения называется шириной импульса. Для получения различных аналоговых величин изменяется ширина импульса (рисунок 12).

Arduino-функция analogWrite() выдает ШИМ-сигнал на цифровой вывод Arduino. После вызова analogWrite() на выходе будет генерироваться постоянная прямоугольная волна с заданной шириной импульса до следующего вызова analogWrite(), частота выдаваемого ШИМ-сигнала равна 490Гц. На платах Arduino Nano и UNO ШИМ поддерживают выводы 3, 5, 6, 9, 10 и 11, на плате Mega – выводы 2–13. Данные выводы отмечены знаком тильды ˜.

Рисунок 12.

Рисунок 13.

В данном эксперименте мы используем RGB-светодиод. RGB расшифровывается как аббревиатура Red, Green, Blue, при помощи этих цветов можно получить любой цвет путем смешения. Светодиод RGB отличается от обычного тем, что содержит 3 небольших кристалла R, G, B, которые смогут синтезировать любой цвет или оттенок. RGB-светодиод имеет 4 вывода (рисунок 13). Подключим RGB-светодиод к плате Arduino и заставим переливаться его цветами радуги. На рисунке 14 показана схема подключения RGB-светодиода к плате Arduino.

Теперь перейдем к написанию скетча. На самом деле радуга имеет множество цветов, а 7 цветов были придуманы только потому, что эти цвета наиболее устойчиво воспринимаются и определяются глазом и мы их можем назвать и вспомнить поговоркой «Каждый Охотник Желает Знать, Где Сидит Фазан».



Рисунок 14.



Список этих 7 основных цветов радуги с разложением по компонентам R, G и B представлен в таблице 1.

Таблица 1.

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

1. Примем за начальную точку отсчета красный цвет (255, 0, 0).

2. Будем постепенно увеличивать значение зеленой составляющей G, пока не достигнем значения оранжевого (255, 125, 0), а затем и желтого цвета (255, 255, 0).

3. Постепенно уменьшим значение красной составляющей R до значения зеленого цвета (0, 255, 0).

4. Постепенно увеличим значение синей составляющей B до значения голубого цвета (0, 255, 255).

5. Постепенно уменьшим количество зеленой составляющей G до значения синего цвета (0, 0, 255).

6. Постепенно увеличим количество красной составляющей R до значения фиолетового цвета (255, 0, 255).

7. Выдерживаем небольшую паузу и переходим к шагу 1.

Содержимое скетча показано в таблице 2.


const int RED=11; // вывод красной ноги RGB-светодиода

const int GREEN=10; // вывод зеленой ноги RGB-светодиода

const int BLUE=9; // вывод синей ноги RGB-светодиода

int red; // переменная для хранения R-составляющей цвета

int green; // переменная для хранения G-составляющей цвета

int blue; // переменная для хранения B-составляющей цвета

void setup()

{;}

void loop()

{

red=255;green=0;blue=0; // от красного к желтому

for(green=0;green

setRGB(red,green,blue);

for(red=255;red=0;red--) // от желтому к зеленому

setRGB(red,green,blue);

for(blue=0;blue// от зеленого к голубому

setRGB(red,green,blue);

for(green=255;green=0;green--) // от голубого к синему

setRGB(red,green,blue);

for(red=0;red// от синего к фиолетовому

setRGB(red,green,blue);

delay(2000);

}

void setRGB(int r,int g,int b) // функция установки цвета RGB-светодиода

{

analogWrite(RED,r);

analogWrite(GREEN,g);

analogWrite(BLUE,b);

delay(10);

}


Таблица 2.

Порядок подключения:

1. Чтобы видеть смешивание трех компонент R, G, B, а не отдельные составляющие, необходимо сделать поверхность светодиода шероховатой небольшой обработкой напильником или накрыть RGB-светодиод матовой пластиной.

2. Подключаем RGB-светодиод по схеме на рисунке 14.

3. Загружаем в плату Arduino скетч из таблицы 2.

4. Наблюдаем свечение светодиода переливающимися цветами радуги.









Урок 6. Бегущие огни.

Для этого урока нужно:

— 8 светодиодов,

— 8 резисторов на 680 Ом,

— провода, макетная площадка и Аrduino.

Схема подключения.

Программный код для бегущих огней на светодиодах показан в таблице 1.



// Скетч бегущие огни на светодиодах

//Пин-переменные для светодиодов

int ledPins[] = {6,7,8,9,10,11,12,13}; // Массив для хранения пин-кода. Led0 подключается к контакту 6, Led1, 7 и так далее

void setup()

{

for(int i = 0; i i++) //этот цикл будет повторяться восемь раз

{

pinMode(ledPins[i],OUTPUT); // установить каждый пин как выход

} }

void loop()

{

oneAfterAnotherNoLoop(); //

//oneAfterAnotherLoop(); //

//oneOnAtATime(); //

//inAndOut(); //

}

void oneAfterAnotherNoLoop()

{

int delayTime = 100;

digitalWrite(ledPins[0], HIGH);

delay(delayTime);

digitalWrite(ledPins[1], HIGH);

delay(delayTime);

digitalWrite(ledPins[2], HIGH);

delay(delayTime);

digitalWrite(ledPins[3], HIGH);

delay(delayTime);

digitalWrite(ledPins[4], HIGH);

delay(delayTime);

digitalWrite(ledPins[5], HIGH);

delay(delayTime);

digitalWrite(ledPins[6], HIGH);

delay(delayTime);

digitalWrite(ledPins[7], HIGH);

delay(delayTime);

digitalWrite(ledPins[7], LOW);

delay(delayTime);

digitalWrite(ledPins[6], LOW);

delay(delayTime);

digitalWrite(ledPins[5], LOW);

delay(delayTime);

digitalWrite(ledPins[4], LOW);

delay(delayTime);

digitalWrite(ledPins[3], LOW);

delay(delayTime);

digitalWrite(ledPins[2], LOW);

delay(delayTime);

digitalWrite(ledPins[1], LOW);

delay(delayTime);

digitalWrite(ledPins[0], LOW);

delay(delayTime);

}

void oneAfterAnotherLoop()

{

int delayTime = 100;

for(int i = 0; i

digitalWrite(ledPins[i], HIGH);

delay(delayTime);

}

for(int i = 7; i = 0; i--)

{

digitalWrite(ledPins[i], LOW);

delay(delayTime);

}

}

void oneOnAtATime()

{

int delayTime = 100;

for(int i = 0; i

{

int offLED = i - 1;

if(i == 0) {

offLED = 7;

}

digitalWrite(ledPins[i], HIGH); //turn on LED #i

digitalWrite(ledPins[offLED], LOW); //turn off the LED we turned on last time

delay(delayTime);

}

}

void inAndOut()

{

int delayTime = 100; //the time (in milliseconds) to pause between LEDs

for(int i = 0; i

{

int offLED = i - 1; //Calculate which LED was turned on last time through

if(i == 0) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will

offLED = 3; //turn on LED 2 and off LED 1)

}

int onLED1 = 3 - i; //this is the first LED to go on ie. LED #3 when i = 0 and LED

int onLED2 = 4 + i;

int offLED1 = 3 - offLED; //turns off the LED we turned on last time

int offLED2 = 4 + offLED; //turns off the LED we turned on last time

digitalWrite(ledPins[onLED1], HIGH);

digitalWrite(ledPins[onLED2], HIGH);

digitalWrite(ledPins[offLED1], LOW);

digitalWrite(ledPins[offLED2], LOW);

delay(delayTime);

}

for(int i = 3; i = 0; i--)

{

int offLED = i + 1; //Calculate which LED was turned on last time through

if(i == 3) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will

offLED = 0; //turn on LED 2 and off LED 1)

}

int onLED1 = 3 - i;

int onLED2 = 4 + i;

int offLED1 = 3 - offLED; //turns off the LED we turned on last time

int offLED2 = 4 + offLED; //turns off the LED we turned on last time

digitalWrite(ledPins[onLED1], HIGH);

digitalWrite(ledPins[onLED2], HIGH);

digitalWrite(ledPins[offLED1], LOW);

digitalWrite(ledPins[offLED2], LOW);

delay(delayTime);

}

}

Таблица 1.

2. Заключение

Данная методическая разработка была апробирована в робототехническом объединении учащимися 1 и 2 года обучения.

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

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


3. Источники информации



Литература:

1. Ньютон С. Брага. М. Создание роботов в домашних условиях, НТ. Пресс 2007.

2. Кашкаров А.П. 500 схем для радиолюбителей. Электронные датчики. Наука и Техника. 2008.

3. Оуэн Бишоп. Настольная книга разработчика роботов. Киев. «МК Пресс» 2010.

4. Петин В. А., Проекты с использованием контроллера Arduino. — СПб.: БХВ-Петербург, 2014. — 400 с.: ил. — (Электроника).

5. Блум Джереми., Изучаем Arduino., Пер. с англ. — СПб.: БХВ-Петербург, 2015. — 336 с: ил.

6. Фрибель В., Ролоф Х., Шиллер Х. Программирование микропроцессоров - Энергоиздат. 2009.

Интернет ресурс:

7. http://www.arduino.cc/ playground/Main/SimilarBoards#goShie - официальный сайт проекта Arduino.

8. http://shieldlist.org/, - описание 244 шилдов для платформ Arduino.

9. http://arduino.cc/en/Main/Software - версия среды Arduino 1.0.5 и бета Arduino 1.5.2 (с поддержкой Arduino Due).

10. https://www.arduino.cc/en/Tutorial/LibraryExamples - Библиотеки для Ардуино.

11. http://arduino.ru/Reference - Справочник языка для Ардуино.

12. http://ledjournal.info/spravochnik/shirotno-impulsnaya-modulyaciya.html - Широтно-импульсная модуляция (ШИМ).

13. https://supereyes.ru/articles/obzor_kontrollerov_apparatnoy_platformy_arduino - Обзор контроллеров (аппаратной платформы) Arduino.

14. http://pikabu.ru/story/obzor_populyarnyikh_shildov_dlya_arduino_4262944 - Обзор популярных шилдов для Arduino.



13



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!