Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634928)
Контекстум
Руконтекст антиплагиат система
Левша  / №12 2015

СТРОИМ РОБОТАНК! (35,00 руб.)

0   0
Первый авторХолостов
Страниц3
ID437689
АннотацияВ качестве «бортового компьютера» предлагаю использовать Arduino нано или Arduino микро. Источники питания — четыре батарейки ААА (4 х 1,5 В = 6 В), или пять аккумуляторов ААА (5 х 1,2 В = 6 В), включенных последовательно, или другой источник питания 5,5 — 7 В.
Холостов, К. СТРОИМ РОБОТАНК! / К. Холостов // Левша .— 2015 .— №12 .— С. 18-20 .— URL: https://rucont.ru/efd/437689 (дата обращения: 30.04.2024)

Предпросмотр (выдержки из произведения)

Начало см. в «Левше» №11 за 2015 г. В качестве «бортового компьютера» пред лагаю использовать Arduino нано или Arduino микро. <...> Два силовых моторредуктора отвеча ют за движение танка, приводят в дви жение гусеницы. <...> В этом случае танк будет двигаться вперед, поворачи вать влево и вправо. <...> Несколько сложнее управлять мото рами через драйвер L293 (более мощ ный аналог L298). <...> Зато оба мотора можно крутить в любом направлении и с любой скоростью. <...> Схема подключения двигате лей к драйверу показана на рисунке 1. <...> Выводы 4, 5, 12, 13 соединяем меж ду собой, затем соединяем с выводом GND Arduino и с «минусом» источни ка питания двигателей (батарея или аккумулятор). <...> Вывод 1 драйвера соединяем с пином 6 Arduino, вывод 2 драйвера — с пином 7 Arduino, вывод 7 драйвера — с пином 8. <...> Вывод 8 драйвера соединяем с «плю сом» источника питания двигателей. <...> ) Пример программы, в котором реа лизованы движение вперед на разных скоростях, остановка, движение назад на разных скоростях, поворот на месте: int EN1 = 6; // ENABLE1 к пину 6 int IN1 = 7; // INPUT1 к пину 7 int IN2 = 8; // INPUT2 к пину 8 int EN2 = 3; // ENABLE2 к пину 3 int IN3 = 4; // INPUT3 к пину 4 int IN4 = 5; // INPUT4 к пину 5 void setup() { pinMode (EN1, OUTPUT); // объявля ем все pinMode (IN1, OUTPUT); // задей ствованные 12 pinMode (IN2, OUTPUT); // выводы pinMode (EN2, OUTPUT); // как pinMode (IN3, OUTPUT); // выходы pinMode (IN4, OUTPUT);} void loop() { digitalWrite (IN1, HIGH); // выбираем первому мотору digitalWrite (IN2, LOW); // движение вперед digitalWrite (IN3, HIGH); // выбираем второму мотору digitalWrite (IN4, LOW); // движение вперед analogWrite(EN1,55); // запускаем первый и второй analogWrite(EN2,55); // моторы с мощностью около 20% delay(3000); // двигаемся 3 секунды analogWrite(EN1,127); //увеличиваем мощность analogWrite(EN1,127); // до 50% delay(2000 <...>