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