Мотор на Arduino Uno
Пройдено шагов: 0 из 5
Угадайте ответ и нажмите «Запустить»
D9, ШИМ0 %обороты0 %время, с0,0
Шаги урока
Что даст analogWrite(motor, 128)?
Выберите ответ до запуска.
Скетч
// Мотор через MOSFET IRLZ44N: затвор через 220 Ом на D9, 10 кОм от затвора к GND
// Диод 1N4007 на моторе, мотор от трёх батареек AA, минус батареек на GND
const int motor = 9;
int upMs = 0; // пауза на ступени разгона, мс
int downMs = 0; // пауза на ступени остановки, мс
int holdMs = 2000; // полный ход, мс
void setup() {
pinMode(motor, OUTPUT);
Serial.begin(9600);
}
void loop() {
for (int s = 0; s <= 255; s += 5) {
analogWrite(motor, s);
delay(upMs);
}
Serial.println("полный ход");
delay(holdMs);
for (int s = 255; s >= 0; s -= 5) {
analogWrite(motor, s);
delay(downMs);
}
Serial.println("стоп");
delay(2000);
}
Нажмите на строку или оранжевое число
Монитор порта
Serial, 9600 бодвремя платы 0,0 с
Об уроке
Мотор 130 с крыльчаткой от трёх батареек AA, минус батареек общий с GND платы. MOSFET IRLZ44N включает мотор: затвор через 220 Ом на D9 и 10 кОм к GND, диод 1N4007 параллельно мотору полосой к плюсу. Около 12 минут, без регистрации. Пять шагов: угадать, запустить, разобрать код, поменять числа и сделать задание с проверкой.
Собрать в жизни
Детали
- Arduino Uno R3
- Мини-макетка
- Мотор 130 с крыльчаткой
- MOSFET IRLZ44N
- Диод 1N4007
- Резисторы 220 Ом и 10 кОм
- Отсек на 3 батарейки AA
- 6 проводов папа-папа
Провода
| Откуда | Куда |
|---|---|
| D9 | резистор 220 Ом, потом затвор (G) MOSFET |
| Затвор (G) | резистор 10 кОм, потом исток (S) |
| Исток (S) | GND платы и минус батареек |
| Сток (D) | вывод мотора M2 и анод диода |
| Плюс батареек | вывод мотора M1 и катод диода (полоса) |
Мотор питается от батареек. На пуске он берёт до 500 мА, и от 5V платы на USB плата перезагружалась бы. Минус батареек соединяют с GND платы.
Открыть схему в конструктореРаспиновка UnoРаспиновка IRLZ44NРаспиновка диодаРаспиновка мотораОтсек батареек
Скетч ниже уходит на плату с числами по умолчанию: upMs 0, downMs 0, holdMs 2000. Числа, поменянные в уроке, передаёт прошивалке ссылка «На плату» над кодом.
Скетч целиком
// Мотор через MOSFET IRLZ44N: затвор через 220 Ом на D9, 10 кОм от затвора к GND
// Диод 1N4007 на моторе, мотор от трёх батареек AA, минус батареек на GND
const int motor = 9;
int upMs = 0; // пауза на ступени разгона, мс
int downMs = 0; // пауза на ступени остановки, мс
int holdMs = 2000; // полный ход, мс
void setup() {
pinMode(motor, OUTPUT);
Serial.begin(9600);
}
void loop() {
for (int s = 0; s <= 255; s += 5) {
analogWrite(motor, s);
delay(upMs);
}
Serial.println("полный ход");
delay(holdMs);
for (int s = 255; s >= 0; s -= 5) {
analogWrite(motor, s);
delay(downMs);
}
Serial.println("стоп");
delay(2000);
}
Что учесть на настоящей плате
Подключать мотор к выводу напрямую нельзя: вывод даёт до 20 мА, а мотор 130 в упоре до 500 мА. Сгорит вывод или весь микроконтроллер.
Без диода катушка мотора при выключении даёт выброс в десятки вольт и пробивает транзистор. Полоса диода смотрит на плюс батареек.
IRLZ44N открывается от 5 В на затворе. Похожий IRF520 рассчитан на 10 В и от вывода Uno открывается не полностью и греется.
Скетч занимает 2376 байт flash и 222 байт ОЗУ.
Лицензии кода урока
Эмулятор avr8js 0.21.1, © 2019-2025 Uri Shaked, лицензия MIT. Редактор CodeMirror 6, © Marijn Haverbeke и соавторы, лицензия MIT. Сцена на three.js, © авторы three.js, лицензия MIT.
Прошивка урока собрана с ядром Arduino AVR (LGPL 2.1), исходники: ArduinoCore-avr. Скетч урока и сцена сделаны для этого сайта.
Текст лицензии MIT: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.