valvula.py
1 |
import kivy |
---|---|
2 |
from kivy.app import App |
3 |
from kivy.uix.button import Button |
4 |
from kivy.uix.boxlayout import BoxLayout |
5 |
import serial |
6 |
import time |
7 |
|
8 |
# Configura el puerto serial para comunicarte con el Arduino
|
9 |
puerto_arduino = '/dev/ttyUSB0' # Cambia a tu puerto (en Windows puede ser 'COM3') |
10 |
baud_rate = 9600 # Debe coincidir con el baud rate configurado en Arduino |
11 |
|
12 |
# Establecer la conexión serial con el Arduino
|
13 |
ser = serial.Serial(puerto_arduino, baud_rate, timeout=1)
|
14 |
|
15 |
class ControlReleApp(App): |
16 |
def build(self): |
17 |
# Crear un diseño de caja vertical
|
18 |
layout = BoxLayout(orientation='vertical', padding=10, spacing=10) |
19 |
|
20 |
# Crear botones
|
21 |
btn_encender = Button(text="Encender Relé", font_size=24, size_hint=(None, None), size=(200, 100)) |
22 |
btn_apagar = Button(text="Apagar Relé", font_size=24, size_hint=(None, None), size=(200, 100)) |
23 |
|
24 |
# Asignar acciones a los botones
|
25 |
btn_encender.bind(on_press=self.encender_rele)
|
26 |
btn_apagar.bind(on_press=self.apagar_rele)
|
27 |
|
28 |
# Agregar los botones al layout
|
29 |
layout.add_widget(btn_encender) |
30 |
layout.add_widget(btn_apagar) |
31 |
|
32 |
return layout
|
33 |
|
34 |
def encender_rele(self, instance): |
35 |
ser.write(b'1') # Enviar '1' al Arduino para encender el relé |
36 |
print("Relé encendido")
|
37 |
|
38 |
def apagar_rele(self, instance): |
39 |
ser.write(b'0') # Enviar '0' al Arduino para apagar el relé |
40 |
print("Relé apagado")
|
41 |
|
42 |
def on_stop(self): |
43 |
# Asegurarse de cerrar el puerto serial cuando la aplicación termine
|
44 |
ser.close() |
45 |
|
46 |
if __name__ == '__main__': |
47 |
ControlReleApp().run() |