Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PYTHON Y ARDUINO
1. Objetivos
1.1.Objetivo General
1.2.Objetivos específicos
Realizar el programa usando Visual Code, instalar las librerías necesarias, para realizar
el enlace
2. Materiales
Arduino
3. Marco Teorico
servidores de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa que
no se necesita compilar el código fuente para poder ejecutarlo, lo que ofrece ventajas como
vida real. Esto se hace a través de un modelo conocido como clase, y dentro de esta clase se
define lo que se conoce como atributos y métodos que al crear un objeto definirán la
por serial. Esto es útil para mandar o recibir datos de periféricos que sean comunes o que
4. Procedimiento
Se realizó la descarga y la instalación del programa y las librerías necesarias para realizar el
SCKETCH ARDUINO
int trigger=8;
int echo=9;
int tiempo; //variables para guardar el tiempo
int distancia;
int vel =250;
//motor A
int ena = 2;
int in1 = 3;
int in2 = 4;
//motor B
int enb = 7;
int in3 = 6;
int in4 = 5;
//funciones creadas
void adelante();
void atras();
void derecha();
void izquierda();
void parar();
void setup() {
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(13,OUTPUT);
//declaramos pines de los motores como salidas
pinMode(ena,OUTPUT);
pinMode(enb,OUTPUT);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
}
void loop() {
digitalWrite(trigger, HIGH); //la señal trigger es el que mandara la señal para
que el sensor detecte
delay(1); //la señal sera activada 1 milisegundo
digitalWrite(trigger, LOW); //despues la señal sera baja
tiempo = pulseIn(echo,HIGH); //haciendo uso del comando pulseIn
determinamos el tiempo
distancia=tiempo/58.2; //realizando la respectiva operación obtenemos la
distancia
Serial.print("Distancia: ");
Serial.println(distancia);
if(Serial.available()){
int a=Serial.read();
switch(a){
case '1':
Serial.println("Arriba");
adelante();
break;
case '2':
Serial.println("Izquierda");
izquierda();
break;
case '3':
Serial.println("Atras");
atras();
break;
case '4':
Serial.println("Derecha");
derecha();
break;
case '5':
Serial.println("Parar");
parar();
break;
}
}
delay (100);
}
void adelante(){
//Dirección motor A
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
analogWrite(ena,vel); //velocidad motor A
//dirección motor B
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
analogWrite(enb,vel); //velocidad motor B
}
void atras(){
//Dirección motor A
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
analogWrite(ena,vel); //velocidad motor A
//dirección motor B
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
analogWrite(enb,vel); //velocidad motor B
}
void derecha(){
//Dirección motor A
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
analogWrite(ena,vel); //velocidad motor A
//dirección motor B
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
analogWrite(enb,vel); //velocidad motor B
}
void izquierda(){
//Dirección motor A
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
analogWrite(ena,vel); //velocidad motor A
//dirección motor B
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
analogWrite(enb,vel); //velocidad motor B
}
void parar(){
//Dirección motor A
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
analogWrite(ena,0); //velocidad motor A
//dirección motor B
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
analogWrite(enb,0); //velocidad motor B
}
PROGRAMA EN PYTHON
import serial, time
arduino = serial.Serial("COM3",9600)
print("Envio de datos al arduino")
time.sleep(1)
num =int(input('Introduzca la opcion: '))
print("1 (datos de distancia)")
print("2 (Movimiento motor)")
if(num==1):
i=0
while 1:
while(arduino.inWaiting()==0):
pass
datoString = arduino.readline()
a = datoString.splitlines()
if(num==2):
print("Introduzca un valor ")
print("1 (adelante)")
print("2 (atras)")
print("3 (giro a la derecha)")
print("4 (giro a la izquierda)")
print("5 (parar)")
while 1:
b=input()
b=str(b)
arduino.write(b.encode('ascii'))
RESULTADOS
5. Conclusiones
a) Se cumplió con el objetivo del trabajo, se realizó el enlace de python con arduino,
través de Visual Code, y finalmente se usó el “Símbolo del sistema” para ejecutar el
código
6. Recomendaciones
reconozca para poder realizar la comunicación con el puerto serial. Las librerías necesarias
se deben instalar para que no hay problemas, y es necesario tener un buen diseñador de
código.
7. Referencias
https://www.youtube.com/watch?v=dE8ktHkFRek
https://www.luisllamas.es/primer-programa-python/