Top

L293D

Ein Chip mit dem man bis zu zwei Motoren betreiben kann.

L293D

Der Chip hat 16 Pins und eine halbrunde Ausstanzung, zeigt diese nach oben werden die Pins von links oben nach rechts oben gezählt.
Also links oben Pin 1, links unten Pin 8, recht unten Pin 9 und rechts oben Pin 16.

L293D RASPBERRY PI
Pin 1 – ENABLE 1 Pin 22 – GPIO 25
Pin 2 – INPUT 1 Pin 18 – GPIO 24
Pin 3 – OUTPUT 1 -
Pin 4 – GND Pin 6 – GROUND
Pin 5 – GND Pin 6 – GROUND
Pin 6 – OUTPUT 2 -
Pin 7 – INPUT 2 Pin 16 – GPIO 23
Pin 8 – VCC1 -
Pin 9 – ENABLE 2 -
Pin 10 – INPUT 3 -
Pin 11 – OUTPUT 3 -
Pin 12 – GND Pin 6 – GROUND
Pin 13 – GND Pin 6 – GROUND
Pin 14 – OUTPUT 4 -
Pin 15 – INPUT 4 -
Pin 16 – VCC2 Pin 2 – 5V

L293D

Den Chip verkabelt man mit dem Raspberry Pi. Der Motor wird an Pin 3 (OUTPUT 1) und Pin 6 (OUTPUT 2) des Chips angeschlossen.

L293D

Um einen Motor zu betreiben nutzt man eine weitere Stromquelle. Die hier verwendete Batterie wird mit Minus an GROUND und mit Plus an Pin 8 (VCC1) des Chips angeschlossen.

L293D

Mit einem Python Skript kann man nun den Motor nach links und rechts drehen lassen.

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

motor_a = 16
motor_b = 18
motor_enable = 22

GPIO.setup(motor_a, GPIO.OUT)
GPIO.setup(motor_b, GPIO.OUT)
GPIO.setup(motor_enable, GPIO.OUT)

def turn_left():
    GPIO.output(motor_a, GPIO.HIGH)
    GPIO.output(motor_b, GPIO.LOW)
    GPIO.output(motor_enable, GPIO.HIGH)

def turn_right():
    GPIO.output(motor_a, GPIO.LOW)
    GPIO.output(motor_b, GPIO.HIGH)
    GPIO.output(motor_enable, GPIO.HIGH)

try:
    turn_left()
    time.sleep(3)
    turn_right()
    time.sleep(3)
    GPIO.output(motor_enable, GPIO.LOW)
    GPIO.cleanup()
except KeyboardInterrupt:
    print "Bye..."
    GPIO.cleanup()