Está en la página 1de 18

Turbo

Código

07
Comunicación Serial con Arduino
(Pyserial,Threading,
Turbo Código Checkbutton, Scale)
https://www.youtube.com/user/juarezefren
Circuito

Turbo Código
https://www.youtube.com/user/juarezefren
Servo SG90 1.5k
• PIN_MOT=5

• #include <Servo.h>
• Servo mot;
• mot.attach(PIN_MOT);
• mot.write( value );

• value: 0-180

• https://www.arduino.cc/en/reference/servo

Turbo Código
https://www.youtube.com/user/juarezefren
Código Arduino Parte1

Turbo Código
https://www.youtube.com/user/juarezefren
Dividir una cadena separada por comas
Documentación:

• cad = 1 2 3 , 8 8 Clase String Arduino:


https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/

Clase Serial Arduino:


https://www.arduino.cc/reference/en/language/functions/communication/serial/
pos = 3

• pos = cad.indexOf(‘,’);
cad1 = 1 2 3

• cad1 = cad.substring(0,pos);
• cad2 = cad.substring(pos+1); cad2 = 8 8

Turbo Código
https://www.youtube.com/user/juarezefren
Turbo Código
https://www.youtube.com/user/juarezefren
Circuito

Turbo Código
https://www.youtube.com/user/juarezefren
Potenciometro
• value_pot = analogRead(PIN_POT);

• value_pot = map(value_pot , 0, 1023, 0, 100);

• Serial.println(value_pot);

Turbo Código
https://www.youtube.com/user/juarezefren
Ultrasonico
• Rango de 2 cm a 400 cm
• Mide el tiempo, en microsegundos
• Velocidad Sonido = 343 M/S

Trig -> 2

Echo -> 3
Turbo Código
https://www.youtube.com/user/juarezefren
Algo parecido a multihilo en Arduino
Ejecuta una función cada cierto tiempo
-- se puede hacer también utilizando millis() --

• https://github.com/sstaub/Ticker

No usar delay() en el loop()


Turbo Código
https://www.youtube.com/user/juarezefren
Código Arduino Parte 2
Enviando valores con el formato
“label:value” Documentación:

• cad = “mot:135” Clase String Arduino:


https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/

Clase Serial Arduino:


https://www.arduino.cc/reference/en/language/functions/communication/serial/
pos = 3

• pos = cad.indexOf(‘:’);
label = “mot”

• label = cad.substring(0,pos);
• value = cad.substring(pos+1); value = 135

Turbo Código
https://www.youtube.com/user/juarezefren
Circuito

Turbo Código
https://www.youtube.com/user/juarezefren
Python
(Diseño de la ventana)

Scale
Pyserial (instalación)
• Instalación
• pip install pyserial

• Lista tus dispositivos serie:


• python -m serial.tools.list_ports

Turbo Código
https://www.youtube.com/user/juarezefren
Pyserial (uso)
• import serial
• dev = serial.Serial("COM4", 9600)

• cad = “1,180”

• dev.write( cad.encode('ascii’) )

• dev.close()
Turbo Código
https://www.youtube.com/user/juarezefren
Pyserial (lectura)
• import serial
• dev = serial.Serial("COM4", 9600)

• val =dev.readline()

• cad = val.decode('ascii')

• dev.close()

Turbo Código
https://www.youtube.com/user/juarezefren

También podría gustarte