
declarar condición con sensor en python
Publicado por barbs (1 intervención) el 23/02/2023 01:05:49
Buenas, estoy realizando un programa en python que mediante instrucciones mueve dos motores paso a paos. Todo bien hasta ahí, sin embargo quiero agregar una condición en que si detecta un sensor (SENSOR 1), uno de los motores cambie su dirección al contrario y cuando detecte el otro sensor (SENSOR 2) reinicie el bucle que estaba haciendo inicialmente.
Este es el extracto del código:
De momento estoy usando un sensor infrarrojo tipo seguidor de línea, pero luego lo cambiaré a uno de ranura.
Este es el extracto del código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
def Loop(self):
try:
a=0
while True:
self.serial.arduino.write(b'1')
#MOTOR
item = []
rowCount = self.ui.tabla.rowCount()
columnCount= self.ui.tabla.columnCount()
for r in range(rowCount):
fila=[]
for c in range(columnCount):
fila.append(self.ui.tabla.item(r,c).text())
item.append(fila)
MovWU=self.ui.tabla.item(r,4).text()
wait_up=int(MovWU)
MovWD=self.ui.tabla.item(r,5).text()
wait_down=int(MovWD)
MovX=self.ui.tabla.item(r,0).text()
x=int(MovX)
for mx in range (0, x):
self.serial.arduino.write(b'1')
print("MOTOR X: ",mx)
time.sleep(0.05)
yield
MovDip=self.ui.tabla.item(r,3).text()
dip=int(MovDip)
for mdip in range (0,dip):
MovZD=self.ui.tabla.item(r,1).text()
z=int(MovZD)
for mzd in range (0,z):
self.serial.arduino.write(b'2')
print("MOTOR ZDOWN:", mzd)
time.sleep(0.1)
yield
time.sleep(wait_down)
MovZU=self.ui.tabla.item(r,2).text()
zu=int(MovZU)
for mzu in range(0,zu):
self.serial.arduino.write(b'3')
print("MOTOR ZUP:", mzu)
time.sleep(0.1)
yield
time.sleep(wait_up)
yield
a=+a
except serial.serialutil.SerialException:
QMessageBox.about (self,'Información', 'ARDUINO NO CONECTADO')
return None
De momento estoy usando un sensor infrarrojo tipo seguidor de línea, pero luego lo cambiaré a uno de ranura.
Valora esta pregunta


0