Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Raspberry Pi 5-Controlled Multi-Servo System with Environmental Sensing

Image of Raspberry Pi 5-Controlled Multi-Servo System with Environmental Sensing

Circuit Documentation

Summary

This circuit is designed to control multiple servo motors using two Adafruit PCA9685 PWM Servo Breakouts, which are interfaced with a Raspberry Pi 5. The circuit also includes a DHT11 temperature and humidity sensor and an MKE-S01 Ultrasonic Distance Sensor for additional sensing capabilities. The Raspberry Pi 5 serves as the central controller, providing power and signal communication to the breakout boards and sensors.

Component List

Adafruit PCA9685 PWM Servo Breakout

  • Description: A 16-channel, 12-bit PWM Fm+ I2C-bus LED controller.
  • Purpose: Used to control multiple servo motors with precise timing via the I2C interface.
  • Pins: 5.0V, GND, PWRIN, PWM0-15, VCC, SDA, SCL, OE.

Servo Motor

  • Description: A rotary actuator or linear actuator that allows for precise control of angular or linear position, velocity, and acceleration.
  • Purpose: Used to create movement or control mechanisms as per the command signals from the PWM breakout board.
  • Pins: gnd, vcc, pulse.

Raspberry Pi 5

  • Description: A small single-board computer with a broad set of I/O options.
  • Purpose: Acts as the central processing unit, running the control software and interfacing with the PWM breakout boards and sensors.
  • Pins: Type-C, Micro HDMI, Camera, PoE, Fan, PCIe, USB, Ethernet, 5V, GND, 3.3v, GPIOs.

MKE-S01 Ultrasonic Distance Sensor

  • Description: A sensor that measures distance by sending out an ultrasonic wave and measuring the time it takes to come back after reflecting off an object.
  • Purpose: Used to measure distances or detect objects within the range of the sensor.
  • Pins: GND, 5V, TRIG, ECHO.

DHT11

  • Description: A basic, ultra low-cost digital temperature and humidity sensor.
  • Purpose: Used to measure the ambient temperature and humidity.
  • Pins: DATA, GND, VCC.

Wiring Details

Adafruit PCA9685 PWM Servo Breakout

  • 5.0V: Connected to the 5V pin of the Raspberry Pi 5 and to the vcc pin of all Servo Motors.
  • GND: Connected to the GND pin of the Raspberry Pi 5 and to the gnd pin of all Servo Motors.
  • SDA: Connected to GPIO 2 (SDA) of the Raspberry Pi 5.
  • SCL: Connected to GPIO 3 (SCL) of the Raspberry Pi 5.
  • PWM0-15: Each connected to the pulse pin of a corresponding Servo Motor.
  • VCC: Connected to the 5V pin of the Raspberry Pi 5.
  • OE: Not connected in this circuit.

Servo Motor

  • gnd: Connected to the GND pin of the corresponding Adafruit PCA9685 PWM Servo Breakout.
  • vcc: Connected to the 5.0V pin of the corresponding Adafruit PCA9685 PWM Servo Breakout.
  • pulse: Connected to a PWM pin (PWM0-15) on the corresponding Adafruit PCA9685 PWM Servo Breakout.

Raspberry Pi 5

  • 5V: Provides power to the Adafruit PCA9685 PWM Servo Breakouts, the MKE-S01 Ultrasonic Distance Sensor, and the DHT11 sensor.
  • GND: Common ground for the entire circuit.
  • GPIO 2 (SDA): I2C data line connected to the SDA pin of the Adafruit PCA9685 PWM Servo Breakouts.
  • GPIO 3 (SCL): I2C clock line connected to the SCL pin of the Adafruit PCA9685 PWM Servo Breakouts.
  • GPIO 14: Connected to the DATA pin of the DHT11 sensor.
  • GPIO 15: Connected to the ECHO pin of the MKE-S01 Ultrasonic Distance Sensor.

MKE-S01 Ultrasonic Distance Sensor

  • GND: Connected to the GND pin of the Raspberry Pi 5.
  • 5V: Connected to the 5V pin of the Raspberry Pi 5.
  • TRIG: Not connected in this circuit.
  • ECHO: Connected to GPIO 15 of the Raspberry Pi 5.

DHT11

  • DATA: Connected to GPIO 14 of the Raspberry Pi 5.
  • GND: Connected to the GND pin of the Raspberry Pi 5.
  • VCC: Connected to the 5V pin of the Raspberry Pi 5.

Documented Code

No code has been provided for the microcontrollers in the circuit. The code would typically include initialization of the I2C interface, servo control routines, sensor data acquisition, and logic for processing and responding to sensor inputs.