Загрузил Александр Иванович Гофман

Ардублок мобильный робот

Реклама
ArduBlock
Программа блочного кодирования для платформ Arduino
Arduino
МОБИЛЬНЫЙ РОБОТ
30 проектов
Инструкция по сборки робота
Блочное программирование
Дистанционное управление
ardublock.ru
ArduBlock
МОБИЛЬНЫЕ РОБОТЫ
NRF
Bluetooth
ik
Bluetooth
NRF
ik
ArduBlock | Technologies 2020
ArduBlock
Компоненты
Плата Arduino Uno ­ 2 шт.
ПлатаСветодиоды 5мм ­ 1 шт.
Активный зуммер ­ 1шт.
TSOP1736 ­ 1шт.
ИК модуль Пульт ­ 1 шт.
HC­05 Bluetooth ­ 1 шт.
2,4G NRF24L01 ­ 2 шт.
Драйвер L9110S DC ­ 1шт.
Драйвер L298N ­ 1 шт.
Ультрозвуковой дальномер ­ 1шт.
Двухосевой XY джойстик ­ 1шт.
Датчик линии ­ 2 шт.
2WD робот тележка ­ 1 шт.
Плата расширения ­ 1 шт.
Dupont кабель ­ 20 шт.
Телефон Android ­ 1 шт.
Ссылочки на компоненты с Aliexpress
http://ardublock.ru/ali/?ali=3 Плата Arduino Uno ­ 2 шт.
http://ardublock.ru/ali/?ali=6 Светодиоды 5мм ­ 1 шт.
http://ardublock.ru/ali/?ali=20 Активный зуммер ­ 1шт.
http://ardublock.ru/ali/?ali=21 TSOP1736 ­ 1шт.
http://ardublock.ru/ali/?ali=25 Dupont кабель ­ 20 шт.
http://ardublock.ru/ali/?ali=36 ИК модуль Пульт ­ 1 шт.
http://ardublock.ru/ali/?ali=37 HC­05 Bluetooth ­ 1 шт.
http://ardublock.ru/ali/?ali=40 2,4G NRF24L01 ­ 2 шт.
http://ardublock.ru/ali/?ali=46 Драйвер L9110S DC ­ 1шт.
http://ardublock.ru/ali/?ali=49 Драйвер L298N ­ 1 шт.
http://ardublock.ru/ali/?ali=66 Ультрозвуковой дальномер ­ 1шт.
http://ardublock.ru/ali/?ali=69 Двухосевой XY джойстик ­ 1шт.
http://ardublock.ru/ali/?ali=116 2WD робот тележка ­ 1 шт.
http://ardublock.ru/ali/?ali=32 Плата расширения ­ 1 шт.
http://ardublock.ru/ali/?ali=141 Датчик линии ­ 2 шт.
1
ArduBlock
Оглавление
1. Знакомство с ArduBlock и первый старт.
3
2. Моя первая программа: Мигающий светодиод.
4
8
3. Комплект Перво робота + Чертежи в масштабе 1:1.
10
4. Перво робот ­ Установка моторов на платформу робота.
11
5. Перво робот ­ Установка передних шасси.
12
6. Перво робот ­ Установка, платы Arduino UNO.
13
7. Перво робот ­ Установка отсека батареек на платформу робота.
14
8. Перво робот ­ Установка платы драйвера моторов + подключение.
15
9. Перво робот ­ Программа: Первые движения робота + скорость.
19
10. Перво робот ­ Программа: Движение робота по времени.
11. Робот дальномер ­ Установка дальномера на робота + подключение. 20
21
12. Робот дальномер ­ Программа: Ультра звуковая линейка.
13. Робот дальномер ­ Программа: Остановка робота при препятствии. 22
23
14. Робот дальномер ­ Программа: Робот охотник. Нападает на цель.
24
15. Робот дальномер ­ Программа: Поле Чудес. Крутим барабан.
25
16. Робот дальномер ­ Программа: Робот пылесос.
26
17. Робот лине ­ Установка лине сенсора на робота.
27
18. Робот лине ­ Программа: Робот боится чёрной линии.
28
19. Робот лине ­ Программа: Робот миноискатель.
29
20. Робот лине ­ Программа: Робот суммо. Битва роботов.
30
21. Робот лине ­ Программа: Робот ездит по линии.
31
22. Робот лине ­ Программа: Робот ездит по линии + остановка.
32
23. Управление роботом ­ Установка джойстика + Управление.
24. Управление роботом ­ Установка ik модуля + Сканируем код кнопок. 34
25. Управление роботом ­ Программа: Движение робота с кнопок пульта. 35
36
26. Управление роботом по Bluetooth.
39
27. Сборка джойстика ­ Пульт.
28. Сборка джойстика ­ Подключение джойстика и NRF к плате Arduino. 40
41
39. Сборка джойстика ­ Программа пульта.
30. Управление роботом ­ NRF к роботу, программа управление роботом. 42
2
ArduBlock
Знакомство и первый старт
1. Скачайте Arduino IDE
#ardu
block
2. Установите Arduino IDE
3. Скачайте архив с библиотеками ArduBlock
4. Распакуйте архив в Мои документы → Arduino
5. Подключите плату Arduino к компьютеру через USB
6. Запустите Arduino IDE
7. В «Инструменты → Плата» выберите модель вашей платы
8. В «Инструменты → Порт» выберите порт COM
9. Откройте онлайн приложение ArduBlock http://ardublock.ru/
10. Соберите программу из блоков
11. Для того чтобы скопировать код кликните скопировать код
12. Перейдите в программу Arduino IDE
13. Замените код. Кликните на рабочее поле, Control + A, Control + V,
14. Нажмите «Загрузить» на панели инструментов.
15. Программа компилируется и загружается на плату Arduino.
Копировать код
Удалить все блоки
Сохранить ino файл
Загрузить проект
Сохранить проект
Язык
Библиотеки
Основной блок
Блоки
Масштаб:
Центр
Увеличить
Уменьшить
Корзина
3
ArduBlock
Моя первая программа
Установите светодиод на плату Arduino.
Длинная нога светодиода это плюс в 13 pin.
Минус светодиода в GND.
Напишем программу ­ Мигающий светодиод.
Откроем онлайн приложение ArduBlock.
­
+
Моя первая программа на Arduino ­ Мигающий светодиод.
lock
#ardub
Перед нами основной блок и две глобальные функции.
Функция настройки ­ Производит настройки
программы, устанавливает подключение и тд.
Выполняется только один раз и только при
включении питания платы Arduino.
Функция программа ­ Это основная часть программы,
здесь и собирается, бесконечно выполняемая программа.
Программа выполняется бесконечно, пока на плату
Arduino, подаётся питание.
Включим светодиод!
В меню блоков открываем раздел
Модули выхода ­ Светодиод
Светодиод
Установите блок светодиод в основной блок программы
и измените Pin 1 на Pin 13 Сигнал включить.
4
ArduBlock
Моя первая программа
Если загрузить нашу программу на плату Arduino, то мы увидим простое
свечение светодиода. А наша цель добиться мигания светодиода так что
продолжаем, работать над программой.
При мигании светодиода, Мы в начале включаем светодиод на какое то
время и потом отключаем его на определённое время, и так бесконечно, пока
на плату будет подаваться питание. Переходим в Меню блоков
Время ­ Системное ­ Миллисекунды.
Установим блок Миллисекунд 1000 = 1 секунда, после включения светодиода.
Читаем программу:
Бесконечно
Светодиод будет включён
на 1 секунду
Светодиод включен на 1 секунду, теперь отключим светодиод.
Создадим дубликат блока
(клик правой кнопкой мыши
откроется меню) Дублировать
5
Моя первая программа
Измените сигнал светодиода, Отключить.
ArduBlock
Установите блок Светодиод отключен после времени включения.
Отключим светодиод так же на 1 секунду или 1000 миллисекунд.
Дублируем блок Миллисекунд и установим после отключения светодиода.
Читаем программу:
Бесконечно
Светодиод будет включён
на 1 секунду
Отключаем светодиод
на 1 секунду
Всё это находится в бесконечном цикле программы и выполняться будет
бесконечно пока на плату подаётся питание.
6
ArduBlock
Моя первая программа
Загрузим программу на плату Arduino. Клик Копировать код.
1
Код находится в
буфере обмена
Открываем программу
Arduino IDE Выделяем
всё (CTRL+A),
Вставляем код (CTRL+V)
4
Загрузить
2
Выделить всё (CTRL+A)
Вставить код (CTRL+V)
3
Программа загрузиться на плату Arduino, Светодиод мигает.
Поздравляю тебя с первой программой на Arduino!
7
ArduBlock
Комплект перво робота
Основа робота:
1 шт.
Крепление моторов:
4 шт.
Винты m3x30mm:
4 шт.
Гайки m3:
4 шт.
Масштаб 1:1 mm.
Перечерчено: Для ЧПУ или печати на 3D принтере.
8
ArduBlock
Комплект перво робота
Колесо:
Мотор редуктор:
Стойки m3x10:
Передние шасси:
2 шт.
2 шт.
8 шт.
1 шт.
Болты m3x5,6:
16 шт.
Плата Arduino Uno:
1 шт.
Драйвер моторов:
Драйвер моторов:
1 шт.
1 шт.
или
L9110S
Отсек для батареек:
1 шт.
АА
АА
АА АА
9
L298N
Провода:
12 шт.
ArduBlock
Установка моторов на платформу
1. Установите центральные держатели моторов на платформу робота:
2.Подготовьте Винт m3x30,
второй держатель, мотор:
3. Установите сборку: мотор с держателем
к первому держателю на платформе.
4. Закрутите гайки.
Для удобной работы
переверните
платформу
робота.
5.Установите колёса.
10
ArduBlock
Установка передних шасси
1. Прикрутите 4 стойки m3x10 на шасси болтами m3x5,6.
2. Прикрутите собранные шасси к платформе робота болтами m3x5,6.
Шасси робота установлены.
11
Установка платы Arduino UNO
ArduBlock
1. Прикрутите 2 стойки m3x10 на плату болтами m3x5,6.
2. Установите плату Arduino на
робо ­ платформу.
3. Зафиксируйте плату Arduino на
робо ­ платформе, болтами m3x5,6.
12
ArduBlock
Установка отсека батареек
1. Прикрутите 2 стойки m3x10 на отсек батареек, болтами m3x5,6.
2. Прикрутите отсек батареек,
к платформе, болтами m3x5,6.
Вкл/Выкл
3. Отсек батареек установлен.
4. Подключение:
Батарея
Плата
+ (плюс)
+5v
­ (минус)
GND
13
ArduBlock
Установка драйвера моторов
1. Установите драйвер моторов на основу робота.
Вкл/Выкл
Вкл/Выкл
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
8
9
10
11
12
13
8
9
10
11
12
13
2. Подключите драйвер моторов к плате Arduino.
ML
MR
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Motor B
0
1
2
3
4
5
6
7
VIN
GND
GND
+5V
8
9
10
11
12
13
14
Motor A
VIN
GND
GND
+5V
Первые шаги робота с L298N
1. Движение робота: Вперёд.
2. Движение робота: Назад.
ArduBlock
L
R
L
R
L
R
L
R
L
R
3. Движение робота: На право.
4. Движение робота: На лево.
5. Остановка робота.
15
Первые шаги робота с L9110S
1. Движение робота: Вперёд.
2. Движение робота: Назад.
ArduBlock
В
А
В
А
В
А
В
А
В
А
3. Движение робота: На лево.
4. Движение робота: На право.
5. Остановка робота.
16
ArduBlock
Функции движения робота
1. Для удобной работы с движением робота, создадим функции движения:
2.Переименуйте
название функции
3.Forward
Движение
робота
вперёд
4.Back
Движение
робота
назад
5.Left
Движение
робота
на лево
6.Right
Движение
робота
на право
7.Stop Остановка робота
8.Функции:
L9110S
17
ArduBlock
Функции движения робота
1. Для удобной работы с движением робота, создадим функции движения:
2.Переименуйте
название функции
3.Forward
Движение
робота
вперёд
4.Back
Движение
робота
назад
5.Left
Движение
робота
на лево
6.Right
Движение
робота
на право
7.Stop Остановка робота
8.Функции:
L298N
18
ArduBlock
Движение робота по времени
В
1. Движение робота по времени: Каждую минуту робот выполняет действие.
А
В
А
А
В
В
А
А
В
2. Функция движение вперёд
3. Движение вперёд
на 1 секунду
4. Поворот на право
5. На право 1 секунду
(время поворота подбирается при тестировании робота)
19
Установка ультразвукового дальномера ArduBlock
1. На кусочек двух сторонней липкой ленты, приклейте
конектокры.
2. Установите
дальномер.
3. Приклейте
дальномер
к отсеку
батареек.
Вкл/Выкл
0
1
2
3
4
5
6
7
8
9
10
11
12
13
+5V
pin3 ­ Trig
pin4 ­ Echo
GND
4. Подключите дальномер
к плате Arduino UNO.
20
ArduBlock
Ультразвуковая звуковая линейка
1. Установите предмет перед роботом.
1 СМ
2 СМ
3 СМ
4 СМ
5 СМ
6 СМ
7 СМ
2. Отправим полученные значения монитор последовательного порта:
Установим скорость общения монитора порта
Каждый раз с новой строки будем отображать значения
с ультразвукового дальномера:
Период обновления отправки значения поставим 200 мс.
3. Откроем монитор последовательного порта:
Посмотрим на результат.
Скорость:
21
Остановка робота при препятствии
ArduBlock
1. Если значение на дальномере будет меньше 10, то остановка робота.
STOP
10 СМ
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
3. Все полученные значения будем отправлять в монитор com порта.
4. Если значение на ультразвуковом
дальномере будет меньше 10, то
остановка робота, “а если ложно” то:
иначе робот едет вперёд.
22
ArduBlock
Робот охотник, нападает на цель
1. Если значение на дальномере будет меньше 10, робот начинает движение.
STOP
10 СМ
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
5
6
7
8. Если значение меньше 10, то
движение вперёд, если нет то
остановка.
3
9
4
23
ArduBlock
Робот, крутит барабан, ПолеЧудес
1. Если значение на дальномере будет меньше 10, робот начинает движение.
100 р
уб
Игра:
lock
#ardub
START
500 руб
10 СМ
STOP
уб
50 р
0 руб
20
lock
#ardub
0р
уб
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
3. Если значение на Ультразвуковом дальномере будет меньше 10, то
робот начинает разворот, с случайным значением временем от 2 до 5 секунд.
24
ArduBlock
STOP
10
Переменна для хранения поворота
10 СМ
STOP
10 СМ
Робот, пылесос
10 СМ
25
ArduBlock
Установка лине сенсора на робота
L
R
pin А4
+5V
GND
pin А5
+5V
GND
1 или 1023
m3
m3x40
Вкл/Выкл
L
0
1
2
3
4
5
6
7
8
9
10
11
12
13
R
26
0
ArduBlock
Робот боится чёрной линии
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
3. Если один из датчиков линии зафиксировал чёрную линию то производим
разворот робота, иначе продолжаем движение дальше, до препятствия.
L
R
27
ArduBlock
Робот ­ Миноискатель
1. Установите Зуммер на робота.
2. Зуммер будет сигнализировать
о нахождении чёрной метки на столе.
Зуммер
+
GND
STOP
ПИП
+ 11pin
+
0
1
2
3
4
5
6
7
8
9
10
11
12
13
+
#ardub
lock
Если на один из датчиков линии попала чёрная метка то
Робот останавливается
Подаёт сигнал
Проезжает метку
И снова движется по спирали
в поиске новой метки
Новая функция для движения
робота по спирали.
Выберите свой драйвер!
28
ArduBlock
Робот ­ Суммо
1. Робот выталкивает стаканчики за чёрную линию.
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
4. Робот касается чёрной
линии. Движение назад.
3. Робот выталкивает стаканчик
за предел поля.
2. В поле зрения
робота попала
цель: Стаканчик.
1. Робот крутится
в поиске цели.
29
5. Робот снова
в поиске новой
цели.
ArduBlock
Робот ­ Движение по линии
1. Робот движется по чёрной линии.
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
3 этап
ч
б
откл
вкл
ч
б
вкл
Левый
датчик линии
pin A4
S ­ A0­A5
V ­ +5V
G ­ GND
вкл
2 этап
откл
Правый
датчик линии
pin A5
вкл
б
б
1 этап
А5
30
Робот ­ Движение по линии + остановка ArduBlock
1 этап
вкл
1. Робот движется по чёрной линии, если есть препятствие то остановка.
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
откл
2 этап
ч
б
вкл
откл
3 этап
ч
вкл
б
б
б
вкл
STOP
А5
31
ArduBlock
Вкл/Выкл
Робот ­ Подключение джойстика
GND ­ GND
Vcc ­ +5V
X ­ Pin A1
Y ­ Pin A0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
X ­ Pin A1 = 0
Y ­ Pin A0 = 500
X ­ Pin A1 = 500
Y ­ Pin A0 = 1023
1. Прочитаем значения с А0 и А1.
2. Отправим полученные значения в монитор порта.
32
X ­ Pin A1 = 500
Y ­ Pin A0 = 0
X ­ Pin A1 = 1023
Y ­ Pin A0 = 500
ArduBlock
Робот ­ Управление с джойстика
Оси джойстика
1. Функция движения робота стр 17­18.
(Выбор драйвера моторов)
X ­ Pin A1 = 0
Y ­ Pin A0 = 500
X ­ Pin A1 = 500
Y ­ Pin A0 = 1023
2. Проверяем каждую ось и
выполняем действие.
STOP
X ­ Pin A1 = 500
Y ­ Pin A0 = 0
X ­ Pin A1 = 1023
Y ­ Pin A0 = 500
X ­ Pin A1 = 0
X ­ Pin A1 = 1023
Y ­ Pin A0 = 0
Y ­ Pin A0 = 1023
STOP
33
ArduBlock
Робот ­ Управление с пульта
Вкл/Выкл
1. Установите ik модуль на плату Arduino.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
GND ­ GND
Vcc ­ +5V
S ­ Pin 11
2. Отправим значение c
ik в Serial USB и
посмотрим под каким
кодом каждая кнопка на
пульте. Выпишите код каждой 16712445
ck
ardublo
#
кнопки для дальнейшего
использования. Код кнопок 16769055
16754775
каждого пульта отличается.
16750695
16748655
34
ArduBlock
Робот ­ Управление с пульта
16712445
16769055
16750695
lock
#ardub
Вкл/Выкл
16754775
16748655
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Код кнопки
35
Робот ­ Управление по Bluetooth
1. Подключение Bluetooth модуля к Arduino.
ArduBlock
0
1
2
3
4
5
6
7
8
9
10
11
12
13
2. Отправим полученные значения в Монитор порта с Bluetooth модуля.
36
Робот ­ Управление по Bluetooth
ArduBlock
1. Установите приложение Bluetooth Arduino на телефон.
Ссылочка на приложение: http://ardublock.ru/index.php?id=ru­041
2. Запустите приложение:
Поиск
Клик
Введите напротив
кнопок цифры
Настройки
37
Робот ­ Управление по Bluetooth
ArduBlock
1. Откройте монитор последовательного порта. Клик на кнопки в приложении.
2. Напишем программу управления роботом.
38
ArduBlock
Робот ­ Управление по NRF
1. Пульт:
Масштаб 1:1 mm.
Перечерчено: Для ЧПУ или печати на 3D принтере.
39
Робот ­ Управление по NRF
1. Установите джойстик на основание Пульта:
ArduBlock
2. Подключите джойстик и NRF модуль к плате Arduino:
1 ­ GND ­ GND
2 ­ Vcc ­ +3.3V
3 ­ pin9
4 ­ pin10
5 ­ pin13
6 ­ pin11
7 ­ pin12
3.3v
GND ­ GND
Vcc ­ +5V
X ­ Pin A1
Y ­ Pin A0
9v
3. Установите плату Arduino на основу пульта.
40
ArduBlock
Робот ­ Управление по NRF
Оси джойстика
1. Напишем программу для пульта.
1
X ­ Pin A1 = 500
Y ­ Pin A0 = 1023
4
STOP
0
X ­ Pin A1 = 0
Y ­ Pin A0 = 500
STOP
X ­ Pin A1 = 1023
Y ­ Pin A0 = 500
2
STOP
41
3
X ­ Pin A1 = 500
Y ­ Pin A0 = 0
ArduBlock
Робот ­ Управление по NRF
0
1
2
3
4
5
6
7
8
9
10
11
12
13
1 ­ GND ­ GND
2 ­ Vcc ­ +3.3V
3 ­ pin7
4 ­ pin8
5 ­ pin13
6 ­ pin11
7 ­ pin12
3.3v
1. Подключаем NRF к роботу.
2. Функция движения робота стр 17­18. (Выбор драйвера моторов)
Архив с программами и 3d моделями:
http://ardublock.ru/book/002a.zip
42
ArduBlock
Для заметок
43
ArduBlock
Для заметок
44
ArduBlock
Для заметок
45
ArduBlock
Программа блочного кодирования для платформ Arduino
Мобильный робот на платформе Arduino
30 проектов
Издатель: ArduBlock
Сайт: ardublock.ru
Автор: Виталий Николаевич
Эл.почта: [email protected]
Скачать