#CÓDIGO PYTHON import cv2 import mediapipe as mp import serial import time ser = serial.Serial( port = "COM7", #Modificar este puerto JETSON -- "/dev/ttyACM0" Computadora "COM3" baudrate = 115200) # Inicializar MediaPipe Hands mp_hands = mp.solutions.hands hands = mp_hands.Hands() mp_drawing = mp.solutions.drawing_utils # Capturar video desde la cámara cap = cv2.VideoCapture(0) def movimiento(x): if x < 50: print("PRENDE") ser.write("A".encode()) else: print("APAGA") ser.write("B".encode()) while cap.isOpened(): ret, frame = cap.read() if not ret: break # Convertir la imagen de BGR a RGB rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # Procesar la imagen y detectar manos results = hands.process(rgb_frame) # Dibujar las anotaciones de las manos en la imagen original if results.multi_hand_landmarks: for hand_landmarks in results.multi_hand_landmarks: mp_drawing.draw_landmarks(frame, hand_landmarks, mp_hands.HAND_CONNECTIONS) # Obtener la posición x del dedo índice (landmark 8) index_finger_tip = hand_landmarks.landmark[mp_hands.HandLandmark.INDEX_FINGER_TIP] x = index_finger_tip.x x = x * 100 #print(f"Posición x del dedo índice: {x}") movimiento(x) # Mostrar la imagen con las anotaciones cv2.imshow('Hand Detection', frame) # Salir del bucle si se presiona la tecla 'q' if cv2.waitKey(1) & 0xFF == ord('q'): break # Liberar los recursos cap.release() cv2.destroyAllWindows()