- Python Programming with Raspberry Pi
- Sai Yamanoor Srihari Yamanoor
- 268字
- 2021-07-02 23:48:48
DC motor control in Python
In this section, we will discuss motor control using the Raspberry Pi Zero. Why discuss motor control? As we progress through different topics in this book, we will culminate in building a mobile robot. Hence, we need to discuss writing code in Python to control a motor using a Raspberry Pi.
In order to control a motor, we need an H-bridge motor driver (Discussing H-bridge is beyond our scope. There are several resources for H-bridge motor drivers: http://www.mcmanis.com/chuck/robotics/tutorial/h-bridge/). There are several motor driver kits designed for the Raspberry Pi. In this section, we will make use of the following kit: https://www.pololu.com/product/2753.
The Pololu product page also provides instructions on how to connect the motor. Let's get to writing some Python code to operate the motor:
from gpiozero import Motor
from gpiozero import OutputDevice
import time
motor_1_direction = OutputDevice(13)
motor_2_direction = OutputDevice(12)
motor = Motor(5, 6)
motor_1_direction.on()
motor_2_direction.on()
motor.forward()
time.sleep(10)
motor.stop()
motor_1_direction.off()
motor_2_direction.off()

Raspberry Pi based motor control
In order to control the motor, let's declare the pins, the motor's speed pins and direction pins. As per the motor driver's documentation, the motors are controlled by GPIO pins 12, 13 and 5, 6, respectively.
from gpiozero import Motor
from gpiozero import OutputDevice
import time
motor_1_direction = OutputDevice(13)
motor_2_direction = OutputDevice(12)
motor = Motor(5, 6)
Controlling the motor is as simple as turning on the motor using the on() method and moving the motor in the forward direction using the forward() method:
motor.forward()
Similarly, reversing the motor direction could be done by calling the reverse() method. Stopping the motor could be done by:
motor.stop()
- 數據展現的藝術
- GNU-Linux Rapid Embedded Programming
- Windows程序設計與架構
- Docker High Performance(Second Edition)
- Splunk Operational Intelligence Cookbook
- ESP8266 Home Automation Projects
- 單片機C語言應用100例
- SQL Server數據庫應用基礎(第2版)
- 會聲會影X4中文版從入門到精通
- 生成對抗網絡項目實戰
- 人工智能云平臺:原理、設計與應用
- 計算機硬件技術基礎學習指導與練習
- PostgreSQL High Performance Cookbook
- JSP網絡開發入門與實踐
- 智能機器人創新熱點與趨勢