Вы находитесь на странице: 1из 6

!

ATENCION
Este documento está bajo licencia Creative Commons 4.0 internacional,
Reconocimiento-NoComercial-CompartirIgual, al descargar, abrir y/o leer
este documento está aceptando la licencia Creative Commons con sus
repectivas restricciones.

En consecuencia, si viola y/o infringe la licencia Creative Commons se


recurrirá a la justicia ordinaria.

Cualquier modificación que desee hacerle al proyecto presentado en el


documento, tiene que ponerse en contacto con el autor del mismo, el
decidirá si le da el permiso o no de hacer la modificación.

Esta licencia (BY-NC-ND) permite copiar y distribuir libremente la obra


pero obliga a atribuir la autoría y prohíbe la creación de obras derivadas
(modificación) y el uso comercial.
1

Uso y manejo
En esta novena parte del curso de Raspberry Pi, se
enseña el uso y manejo de motores, entre los cuales
podemos observar el manejo de un servomotor y el

de motores
manejo de un motor DC, veremos cómo podemos
controlarlos de distintas maneras, en el caso del
servomotor con un potenciómetro y en el caso del
motor DC tanto con un transistor (mosfet) y con nuestro
clásico puente H.

Material Código AG

1 Raspberry Pi 3 B+ - RASPBERRYPI-3-MODB+-1GB
1 Eliminador - T5454DV
1 Puente H - AR-MOTOR
1 Miniprotoboard - OKY0005
1 Servomotor - SERVO-9G
1 Mosfet - ACT00200P
1 MCP3008 - MCP3008
1 Potenciometro 10k o 100k - IM120710014
1 Motor - RB-04M022
Jumpers - ACC171120
Fuente de 12v - TFTS-25W-12

Visita la tienda online: https://www.agelectronica.com

Codigo (Servomotor):

import RPi.GPIO as GPIO


from time import sleep
GPIO.setmode(GPIO.BOARD)

servo_Uno = 11

GPIO.setup(servo_UNo, GPIO.OUT)

pulso = GPIO.PWM(sevo_Uno, 50)


pulso.start(2.5)

try:
while True:
for i in range(0,180):
grados = 1.0/18.0*(i)+2.5
pulso.ChangeDutyCycle(grados)
except KeyboardInterrupt:
pulso.stop()
GPIO.cleanup()

Tutorial Electrónica
Nueva Electrónica México
Por: Misael Saenz Flores
Correo: misa2pac@gmail.com
2

Uso y manejo
En esta novena parte del curso de Raspberry Pi, se
enseña el uso y manejo de motores, entre los cuales
podemos observar el manejo de un servomotor y el

de motores
manejo de un motor DC, veremos cómo podemos
controlarlos de distintas maneras, en el caso del
servomotor con un potenciómetro y en el caso del
motor DC tanto con un transistor (mosfet) y con nuestro
clásico puente H.

Diagrama (Servomotor):

Codigo (Servomotor con potenciometro):

import spidev def analogRead(canal):


from numpy import interp spi.max_speed_hz = 1350000
from time import sleep adc = spi.xfer2([1,(8+canal)<<4,0])
import RPi.GPIO as GPIO data = ((adc[1]&3) << 8) + adc[2]
return data
spi = spidev.SpiDev()
spi.open(0,0) try:
while True:
servo_Uno = 11 output = analogRead(0)
GPIO.setmode(GPIO.BOARD) output = interp(output, [0, 1023], [0, 180])
GPIO.setup(servo_Uno, GPIO.OUT) grados = 1.0/18.0*(output)+2.5
pwm.ChangeDutyCycle(grados)
pwm = GPIO.PWM(servo_Uno, 50) except KeyboardInterrupt:
pwm.start(2.5) pwm.stop()
GPIO.cleanup()

Tutorial Electrónica
Nueva Electrónica México
Por: Misael Saenz Flores
Correo: misa2pac@gmail.com
3

Uso y manejo
En esta novena parte del curso de Raspberry Pi, se
enseña el uso y manejo de motores, entre los cuales
podemos observar el manejo de un servomotor y el

de motores
manejo de un motor DC, veremos cómo podemos
controlarlos de distintas maneras, en el caso del
servomotor con un potenciómetro y en el caso del
motor DC tanto con un transistor (mosfet) y con nuestro
clásico puente H.

Diagrama (Servomotor con potenciometro):

Codigo (Motor DC con mosfet): Codigo (Motor DC con mosfet PWM):

import RPi.GPIO as GPIO import RPi.GPIO as GPIO


from time import sleep from time import sleep
GPIO.setmode(GPIO.BOARD) GPIO.setmode(GPIO.BOARD)
motorFET = 11
motorFET = 11 GPIO.setup(motorFet, GPIO.OUT)
pwm = GPIO.PWM(motorFET, 100)
GPIO.setup(motorFet, GPIO.OUT) pwm.start(0)
try: try:
while True: while True:
GPIO.output(motorFET, 1) for x in range(100):
sleep(10) pwm.ChangeDutyCycle(x)
GPIO.output(motorFET, 0) sleep(0.01)
sleep(10) for x in range(100,0,-1):
except KeyboardInterrupt: pwm.ChangeDutyCycle(x)
pwm.stop() sleep(0.01)
GPIO.cleanup() except KeyboardInterrupt:
pwm.stop()
GPIO.cleanup()

Tutorial Electrónica
Nueva Electrónica México
Por: Misael Saenz Flores
Correo: misa2pac@gmail.com
4

Uso y manejo
En esta novena parte del curso de Raspberry Pi, se
enseña el uso y manejo de motores, entre los cuales
podemos observar el manejo de un servomotor y el

de motores
manejo de un motor DC, veremos cómo podemos
controlarlos de distintas maneras, en el caso del
servomotor con un potenciómetro y en el caso del
motor DC tanto con un transistor (mosfet) y con nuestro
clásico puente H.

Diagrama (Motor DC con mosfet y PWM):

Codigo (Motor DC con puente H):

import RPi.GPIO as GPIO else:


from time import sleep GPIO.output(motorA_1, 0)
GPIO.setmode(GPIO.BOARD) GPIO.output(motorA_2, 0)

motorA_1 = 11 try:
motorA_2 = 13 while True:
MoverMotor(1)
GPIO.setup(motorA_1, GPIO.OUT) sleep(5)
GPIO.setup(motorA_2, GPIO.OUT) MoverMotor(5)
sleep(5)
def MoverMotor(x): MoverMotor(0)
if x == 0: sleep(5)
GPIO.output(motorA_1, 1) except KeyboardInterrupt:
GPIO.output(motorA_2, 0) GPIO.cleanup()
elif x == 1:
GPIO.output(motorA_1, 0)
GPIO.output(motorA_2, 1)

Tutorial Electrónica
Nueva Electrónica México
Por: Misael Saenz Flores
Correo: misa2pac@gmail.com
5

Uso y manejo
En esta novena parte del curso de Raspberry Pi, se
enseña el uso y manejo de motores, entre los cuales
podemos observar el manejo de un servomotor y el

de motores
manejo de un motor DC, veremos cómo podemos
controlarlos de distintas maneras, en el caso del
servomotor con un potenciómetro y en el caso del
motor DC tanto con un transistor (mosfet) y con nuestro
clásico puente H.

Diagrama (Motor DC con puente H):

Tutorial Electrónica
Nueva Electrónica México
Por: Misael Saenz Flores
Correo: misa2pac@gmail.com

Вам также может понравиться