Project

General

Profile

valvula.py

Valvula - Ignacio Garrido, 12/11/2024 12:28 AM

Download (1.58 KB)

 
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()