KevsRobots Learning Platform
By Kevin McAleer, 3 Minutes
Welcome to Lesson 7 of the Raspberry Pi Pico with MicroPython - GPIO Mastery course. In this lesson, we will learn how to control motors using Pulse Width Modulation (PWM) with the Raspberry Pi Pico and MicroPython.
In this lesson, you will learn:
After you have completed this lesson, you will know how to control the speed of a motor using Pulse Width Modulation (PWM) with the Raspberry Pi Pico and MicroPython. You will be able to set up a motor circuit and write MicroPython code to control the motorβs speed using PWM.
To follow this lesson, you will need:
To wire up the circuit, follow these steps:
To control the motor, you will need to write code using the machine and time modules in MicroPython. Here is some example code to get you started:
from machine import Pin
import time
# Set up the pins for the motor driver inputs
input_1 = Pin(0, Pin.OUT)
input_2 = Pin(1, Pin.OUT)
# Set the motor direction to forward
input_1.value(1)
input_2.value(0)
# Set up the PWM output for the motor speed
motor_speed = Pin(2, Pin.OUT)
pwm = machine.PWM(motor_speed)
pwm.freq(1000)
# Set the motor speed to 50%
pwm.duty(512)
# Wait for 5 seconds
time.sleep(5)
# Stop the motor
input_1.value(0)
input_2.value(0)
pwm.deinit()
In this lesson, you got hands-on practice working with motors using your Raspberry Pi Pico board. You learned how to wire up a circuit, and how to control the motor using MicroPython code. You can use this knowledge to create a variety of projects with your Raspberry Pi Pico board.
You can use the arrows β β on your keyboard to navigate between lessons.
Comments