Видеоуроки по Arduino #5: Моторы и транзисторы (Jeremy Blum)

19.10.2016 20:03

genaonyx



Введение

В данном вводном видео уроке Джереми Блум расскажет Вам:

  • Как подключить и управлять мотором постоянного тока.
  • Как использовать биполярный транзистор для управления мотором.
  • Как подключить и управлять сервоприводом и ИК - дальномером.
  • Вкратце о библиотеке Servo.
  • И многое другое.

Приятного просмотра!


Понадобиться

  • Arduino UNO
  • Кабель USB-AB
  • Breadboard (Доска для прототипирования)
  • Двигатель постоянного тока
  • Сервопривод
  • Диод (1N4004)
  • Резистор 1 кОм
  • Конденсатор 0.1 мкФ
  • Конденсатор 1 мкФ
  • Конденсатор 22 мкФ
  • Биполярный транзистор (npn)
  • Батарея "Крона"
  • ИК - дальномер
  • Стабилизатор напряжения 5В (l4940v5)


Видеоурок


Схемы


Скетч №1

// Объявляем порт
int motorPin = 9;

void setup()
{
  // Настраиваем порт мотора как выход
  pinMode(motorPin, OUTPUT);
}

void loop()
{
  // Увеличиваем скорость мотора от 0 до 255
  for (int i=0; i<=255; i++)
  {
    analogWrite(motorPin, i);
    delay(10);
  }
  delay(500); // Держим скорость
  
  // Снижаем скорость с 255 до 0
  for(int i=255; i>=0; i--)
  {
    analogWrite(motorPin, i);
    delay(10);
  }
  delay(500); // Держим
}


Скетч №2

// Подключаем библиотеку Servo
#include "Servo.h"

// Объявляем порт
int servoPin = 9;

// Создаем объект Servo
Servo jeremysServo;

void setup()
{
 
  // Связываем сервопривод с портом
  jeremysServo.attach(servoPin);
}

void loop()
{
  // Поворот сервопривода на 20° каждую секунду
  for (int i = 0; i <=180; i=i+20)
  {
    jeremysServo.write(i);
    delay(1000);
  }
}


Скетч №3

// Подключаем библиотеку Servo
#include "Servo.h"

// Объявляем порты
int servoPin = 9;
int distPin = 0;

// Создаем объект Servo
Servo jeremysServo;

void setup()
{
 
  // Связываем сервопривод с портом
  jeremysServo.attach(servoPin);
}

void loop()
{
  // Чтение дистанции с ИК - дальномера и пересчет
  int dist = analogRead(distPin);
  int pos = map(dist, 0, 1023, 0, 180);
  
  // Поворачиваем сервопривод
  jeremysServo.write(pos);
}


Расскажи о нас

Сообщение

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