Está en la página 1de 10

Traducido del inglés al español - www.onlinedoctranslator.

com

Descripción/información de pedido

El L293 y el L293D son controladores de media H cuádruples de alta corriente. El L293 está diseñado para proporcionar

corrientes de excitación bidireccionales de hasta 1 A a voltajes de 4,5 V a 36 V. El L293D está diseñado para

proporcionar corrientes de excitación bidireccionales de hasta 600 mA a voltajes de 4,5 V a 36 V. Ambos dispositivos

son diseñado para impulsar cargas inductivas como relés, solenoides, motores paso a paso bipolares y de CC, así como

otras cargas de alta corriente/alto voltaje en aplicaciones de suministro positivo.

Todas las entradas son compatibles con TTL. Cada salida es un circuito impulsor de tótem completo, con un sumidero

de transistor Darlington y una fuente pseudo-Darlington. Los controladores se habilitan en pares, con los

controladores 1 y 2 habilitados por 1,2EN y los controladores 3 y 4 habilitados por 3,4EN. Cuando una entrada de

habilitación es alta, los controladores asociados se habilitan y sus salidas están activas y en fase con sus entradas.

Cuando la entrada de habilitación es baja, esos controladores están deshabilitados y sus salidas están apagadas y en

estado de alta impedancia. Con las entradas de datos adecuadas, cada par de controladores forma un controlador

reversible full-H (o puente) adecuado para aplicaciones de solenoide o motor.

Diagrama de bloques

40/106
V
CC1

1
1 dieciséis

2
1 15 1 METRO

0 0
1
3 14

4 13

METRO 5 12

6 11

2 3
1 1
0 7 10 0
8 9 1 METRO

V
CC2

Me harté de los diagramas de pinout indescifrables dentro de las hojas de datos, así que
diseñé el mío propio que creo que brinda información más pertinente.

Hay 3 cables conectados al Arduino, 2 cables conectados al motor y 1 cable


conectado a una batería.

Para usar este pinout:

El lado izquierdo trata con el primer motor, el lado derecho trata con un segundo
motor. Sí, puede hacerlo funcionar con un solo motor conectado.

41/106
Diagrama de cableado

42/106
Instrucciones de prueba
Este proyecto está diseñado para aprender a usar el botón para controlar el LED. Primero
necesitamos leer el estado del botón y luego determinar si enciende el LED de acuerdo con el
estado del botón.
C_Code_6_DC_Motor
Primero, observe el resultado del proyecto, luego analice el código.
2. Use el comando cd para ingresar al directorio 6_DC_Motor del código C.
cd ~/LAFVIN_PI_Code/C_Code/6_DC_Motor
2. Use el siguiente comando para compilar el código "DC_Motor.c" y generar el
archivo ejecutable "DC_Motor.c"
gcc Motor_CC.c ‒o Motor_CC -lwiringPi
3. Luego ejecute el archivo generado "DC_Motor".
sudo ./DC_Motor
El motor de CC girará durante 5 segundos y luego se detendrá durante 5 segundos, luego durante otros 5
segundos, continuará el proceso.

Explicación del código


escritura digital (habilitación del motor, ALTA);// Habilitar el L239D

escritura digital (MotorPin1, ALTO);


/* Establecer un nivel alto para 2A (pin 7); dado que 1,2EN (pin 1) está en nivel alto, 2Y generará un
nivel alto*/

escritura digital (MotorPin2, BAJO);


// Establezca un nivel bajo para 1A, luego 1Y emitirá un nivel bajo y el motor girará.

para(i=0;i<3;i++){
retraso (1000);
}// este bucle se demorará 3*1000ms

digitalWrite(MotorEnable, BAJO)
// Si 1,2EN (pin1) está en nivel bajo, L293D no funciona. El motor deja de girar.

escritura digital (MotorPin1, BAJO)


escritura digital (MotorPin2, ALTO)
// Invierta el flujo de corriente del motor, luego el motor girará en sentido inverso.

Python_Code_6_DC_Motor
Primero, observe el resultado del proyecto, luego analice el código.
1. Use el comando cd para ingresar al directorio 6_DC_Motor del código Python.
cd ~/LAFVIN_PI_Code/Python_Code/6_DC_Motor
2. Utilice el comando de Python para ejecutar DC_Motor.py.
python DC_Motor.py
El motor de CC girará durante 5 segundos y luego se detendrá durante 5 segundos, luego durante otros 5
segundos, continuará el proceso.

43/106
Explicación del código
GPIO.configuración (MotorPin1, GPIO.OUT)# Establecer pin1 y pin2 para la dirección de rotación del
motor como pin de salida
GPIO.configuración (MotorPin2, GPIO.OUT)
GPIO.setup(MotorEnable, GPIO.OUT)# Establecer pines para las condiciones de trabajo del motor como pin de
salida
GPIO.salida(MotorEnable, GPIO.BAJO)# Establecer el nivel bajo del motor para el estado inicial
GPIO.salida(MotorEnable, GPIO.ALTO)# Poner el motor en nivel alto GPIO.salida (MotorPin1,
GPIO.ALTO)# Establecer pin1 en nivel alto y pin2 en nivel bajo GPIO.salida (MotorPin2,
GPIO.BAJO)# Hacer que el motor gire en el sentido de las agujas del reloj tiempo.dormir(5)# girar
durante 5 segundos GPIO.salida(MotorEnable, GPIO.BAJO)# Detener el motor tiempo.dormir(5)
#espera 5 segundos

44/106
Lección 7 Servos
Acerca de esta lección:

En esta lección, aprenderemos cómo controlar el servo con raspberry pi.

Introducción
Servo es un tipo de motorreductor que solo puede girar 180 grados. Se controla
mediante el envío de pulsos eléctricos desde su raspberry pi. Estos pulsos le dicen al
servo a qué posición debe moverse. El Servo tiene tres cables, de los cuales el marrón
es el cable de tierra y debe conectarse al puerto GND de raspberry pi, el rojo es el cable
de alimentación y debe conectarse al puerto de 5v, y el naranja es la señal cable y debe
conectarse al puerto GPIOx.

Usamos una señal PWM de 50 Hz con un ciclo de trabajo en un cierto rango para impulsar el servo. El

tiempo de duración de 0,5 ms-2,5 ms de nivel alto de ciclo único PWM corresponde al ángulo del

servo 0 grados - 180 grados linealmente. Parte de los valores correspondientes son los siguientes:

tiempo de alto nivel Ángulo servo

0.5ms 0 grado
1ms 45 grados
1,5 ms 90 grados
2ms 135 grados
2,5 ms 180 grados

45/106
Diagrama de cableado

46/106
Instrucciones de prueba
En este experimento, el servo de control de frambuesa pi gira desde el ángulo mínimo hasta el ángulo
máximo, y luego hace que el servo gire desde el ángulo máximo hasta el ángulo mínimo

C_Code_7_Servo
Primero, observe el resultado del proyecto, luego analice el código. 3. Use
el comando cd para ingresar al directorio 7_Servo del código C.
cd ~/LAFVIN_PI_Code/C_Code/7_Servo
2. Use el siguiente comando para compilar el código "Servo.c" y generar el archivo
ejecutable "Servo.c"
gcc Servo.c ‒o Servo -lwiringPi
3. Luego ejecute el archivo generado "Servo".
sudo ./Servo
Después de ejecutar el programa, el servo girará de 0 grados a 180 grados, y
luego de 180 grados a 0 grados, circularmente.

Explicación del código


void servoInit(pin int) {

softPwmCreate(pin, 0, 200); }

/* función de inicialización para servo pin PWM, pulso de 50 Hz, a saber, ciclo de 20 ms, s
necesario para controlar Servo. En la función softPwmCreate (int pin, int initialValue, in t
pwmRange), la unidad del tercer parámetro pwmRange es 100US, es decir, 0,1 ms. Para r
obtener el PWM con un ciclo de 20 ms, el pwmRange debe establecerse en 200. Entonces, norte

como subfunción de servoInit (), creamos un pin PWM con pwmRange 200.*/

void servoWrite(pin int, ángulo int) {

si (ángulo > 180)


ángulo = 180;
si (ángulo < 0)
ángulo = 0;
softPwmWrite(pin,mapa(ángulo,0,180,SERVO_MIN_MS,SERVO_MAX_MS)); }

/*Especifique un cierto ángulo de rotación (0-180) para el servo. En la subfunción servoWrite () ,


ingrese directamente el ángulo (0-180 grados), y asigne el ángulo al ancho del pulso y luego
envíelo.*/

Python_Code_7_Servo
Primero, observe el resultado del proyecto, luego analice el código.
1. Use el comando cd para ingresar al directorio 7_Servo del código Python.
cd ~/LAFVIN_PI_Code/Python_Code/7_Servo
2. Use el comando Python para ejecutar Servo.py.
python Servo.py

47/106
Después de ejecutar el programa, el servo girará de 0 grados a 180 grados, y
luego de 180 grados a 0 grados, circularmente.

Explicación del código


p =GPIO.PWM( (servoPin, , 50) )# Establecer frecuencia a 50Hz

bucle de definición ():

mientras que Verdadero: :

para CC en el rango ((0, , 181, , 1):#hacer que el servo gire de 0° a 180°


servoEscribir ((CC))# Escribir en el servo
tiempo. .sleep( (0.001) )
tiempo. .dormir( (0.5) )
para CC en el rango ((180, , - -1, , - -1 ):#hacer que el servo gire de 180° a 0°
servoEscribir ((CC))
tiempo. .sleep( (0.001) )
tiempo. .dormir( (0.5) )
" " "en el ciclo "while" de la función principal, use dos ciclos "for" para hacer
que el servo gire de 0 grados a 180 grados, y luego de 180 grados a 0 grados". " "

48/106
Lección 8 LCD1602
Acerca de esta lección:

En esta lección, aprenderá a conectar y utilizar una pantalla LCD alfanumérica. La


pantalla tiene retroiluminación LED y puede mostrar dos filas con hasta 16 caracteres en
cada fila. Puede ver los rectángulos de cada carácter en la pantalla y los píxeles que
forman cada carácter. La pantalla es solo blanca sobre azul y está diseñada para mostrar
texto.

Introducción
LCD1602
Introducción a los pines de LCD1602:
VSS: un pin que se conecta a tierra
VDD: Un pin que se conecta a una fuente de alimentación de
+5V VO: Un pin th
RS: Un registro
Puedes seleccionar

registro, cual
L/E: una lectura
E: Una habilitación
ejecutar relevante

D0-D7:Alfiler
A y K: Alfiler

El chip de serie a paralelo utilizado en este módulo es PCF8574 (PCF8574A), y su dirección I2C predeterminada es
0x27 (0x3F), y puede ver todo el bus RPI en la dirección de su dispositivo I2C a través del comando "i2cdetect ‒y
1" para . (Consulte la sección "Configuración I2C" a continuación) a continuación se muestra el diagrama
esquemático de pines PCF8574 y el diagrama de pines de bloque:

49/106

También podría gustarte