Включи двигатель, повернись!
Транзистор и двигатель.
Порты Arduino великолепны для прямого управления небольшими электрическими элементами, такими как светодиоды. Однако при реализации более крупных предметов (например, игрушечного мотора или стиральной машины) требуется внешний транзистор.
Транзистор невероятно полезен. Он производит значительный ток, используя более слабый ток. Трехконтактный транзистор. Для транзистора отрицательного типа (NPN) ты подключаешь заряд к коллектору, а передатчик к земле. Затем, когда небольшой ток проходит от базы к передатчику, ток проходит через транзистор, и ваш двигатель поворачивается.
Здесь буквально тысячи разных типов транзисторов, позволяющих точно реагировать на каждую ситуацию. Мы выбрали P2N2222AG, транзистор довольно обычного назначения.
Важными факторами в нашем случае является то, что максимальное напряжение (40в) и максимальный ток (200 милли-ампс) оба достаточно сильны для нашего игрушечного мотора (подробнее можно ознакомиться с этим штекером).
Диод 1N4001 действует как свободное колесо.
КОМПОНЕНТЫ
- Транзистор P2N2222AG (TO92). (Примечание переводчика: я использовал эталонный транзистор BC7478K7E без проблем).
- Игрушечный двигатель.
- Диод (1N4001).
- Сопротивление 330 Ом (оранжево-оранжево-коричневый)
- Соединительный провод.
СХЕМА ЦЕПИ
МОНТАЖ ЦЕПИ
Фото монтажа двигателя переводчиком
КОД
You can find this code in CIRC03-code-motor.js.
var five = require("johnny-five"), board, myMotor, led;
board = new five.Board();
board.on("ready", function() {
myMotor = new five.Motor({ pin: 9 });
// gestionnaire d'évènement pour démarrer et stopper
myMotor.on("start", function( err, timestamp ) {
console.log( "started", timestamp );
// stoppe après 2 secondes
board.wait(2000, function() { myMotor.stop(); });
});
myMotor.on("stop", function( err, timestamp ) {
console.log( "stopped", timestamp );
});
myMotor.start();
});
АВАРИЙНЫЙ РЕМОНТ
Двигатель, который не поворачивается?
Если ты со своим собственным транзистором, то, конечно, проверь вилку, что скрежет совместим с P2N2222AG (многие перевернуты).
Все еще не повезло
?Если вы принесли собственный двигатель, убедитесь, что он работает на 5 вольтах и не требует слишком большой мощности. Возможно, потребуется подключение к внешнему источнику питания.
Все еще не
работает?Иногда плата Arduino отключается от компьютера. Попробуйте отключить его, а затем перенаправить на USB-порт.
РАСШИРЕНИЕ КОДА
Контроль скорости
:Вы развлекались способностью Arduino управлять яркостью светодиодного индикатора раньше, теперь мы будем использовать ту же функцию для контроля скорости двигателя.
Arduino делает это, используя что-то называемое широтно-импульсной модуляцией (PWM или Pulse Width Modulation). Это относится к способности Arduino оперировать по-настоящему, по-настоящему быстро. Вместо того, чтобы напрямую управлять напряжением из порта Ардуино, мы быстро переключим порт. В компьютерном мире это составляет от 0 до 5 вольт несколько раз в секунду, но в мире человека мы видим это как напряжение.
Например, если Arduino пульсирует на 50%, мы видим свет, ослабленный на 50%, потому что наши глаза недостаточно быстры, чтобы видеть, как он проходит между выключенным и включенным. Та же особенность работает с транзисторами. Вы ему не верите? Попробуйте - укажите параметр метода start для управления скоростью (от 0 до 255):
myMotor.start(250);