sylvie-2024

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

stepperMulti_keyb-serial.py (4982B)


      1 import serial
      2 import os
      3 import sys
      4 import keyboard
      5 import time
      6 
      7 ser = serial.Serial('/dev/ttyUSB1', 115200, timeout=1)
      8 os.system("stty -echo")
      9 
     10 previous_status = "0"
     11 previous_message = ""
     12 
     13 def write_serial(status, printed):
     14     global previous_status
     15     if status != previous_status:
     16         clear_screen()
     17         print(printed)
     18         ser.write(str(status).encode() + b'\n')
     19         previous_status = status
     20 
     21 def clear_serial(status):
     22     global previous_status
     23     if status != previous_status:
     24         clear_screen()
     25         print("WAITING FOR USER INPUT! (TRY Q,W,E,R,T,A,S,D,F)")
     26         ser.write(str(status).encode() + b'\n')
     27         previous_status = status
     28 
     29 def clear_screen():
     30     if sys.platform.startswith('win'):
     31         os.system('cls')
     32     else:
     33         os.system('clear')
     34 
     35 print("Python script is running...")
     36 print("Is the serial port open?", ser.is_open)
     37 
     38 waiting_for_input = False
     39 
     40 while True:
     41     if keyboard.is_pressed('q'):
     42         write_serial(2, "KEYBOARD KEY [Q] PRESSED!")
     43         time.sleep(0.25)
     44         clear_serial(0)
     45         waiting_for_input = True
     46     elif keyboard.is_pressed('w'):
     47         write_serial(3, "KEYBOARD KEY [W] PRESSED!")
     48         time.sleep(0.25)
     49         clear_serial(0)
     50         waiting_for_input = True
     51     elif keyboard.is_pressed('e'):
     52         write_serial(4, "KEYBOARD KEY [E] PRESSED!")
     53         time.sleep(0.25)
     54         clear_serial(0)
     55         waiting_for_input = True
     56     elif keyboard.is_pressed('r'):
     57         write_serial(5, "KEYBOARD KEY [R] PRESSED!")
     58         time.sleep(0.25)
     59         clear_serial(0)
     60         waiting_for_input = True
     61     elif keyboard.is_pressed('t'):
     62         write_serial(6, "KEYBOARD KEY [T] PRESSED!")
     63         time.sleep(0.25)
     64         clear_serial(0)
     65         waiting_for_input = True
     66     elif keyboard.is_pressed('y'):
     67         write_serial(7, "KEYBOARD KEY [Y] PRESSED!")
     68         time.sleep(0.25)
     69         clear_serial(0)
     70         waiting_for_input = True
     71     elif keyboard.is_pressed('a'):
     72         write_serial(8, "KEYBOARD KEY [A] PRESSED!")
     73         time.sleep(0.25)
     74         clear_serial(0)
     75         waiting_for_input = True
     76     elif keyboard.is_pressed('s'):
     77         write_serial(9, "KEYBOARD KEY [S] PRESSED!")
     78         time.sleep(0.25)
     79         clear_serial(0)
     80         waiting_for_input = True
     81     elif keyboard.is_pressed('d'):
     82         write_serial(10, "KEYBOARD KEY [D] PRESSED!")
     83         time.sleep(0.25)
     84         clear_serial(0)
     85         waiting_for_input = True
     86     elif keyboard.is_pressed('f'):
     87         write_serial(11, "KEYBOARD KEY [F] PRESSED!")
     88         time.sleep(0.25)
     89         clear_serial(0)
     90         waiting_for_input = True
     91     elif keyboard.is_pressed('g'):
     92         write_serial(12, "KEYBOARD KEY [G] PRESSED!")
     93         time.sleep(0.25)
     94         clear_serial(0)
     95         waiting_for_input = True
     96     elif keyboard.is_pressed('h'):
     97         write_serial(13, "KEYBOARD KEY [H] PRESSED!")
     98         time.sleep(0.25)
     99         clear_serial(0)
    100         waiting_for_input = True
    101     elif keyboard.is_pressed('z'):
    102         write_serial(14, "KEYBOARD KEY [Z] PRESSED!")
    103         time.sleep(0.25)
    104         clear_serial(0)
    105         waiting_for_input = True
    106     elif keyboard.is_pressed('x'):
    107         write_serial(15, "KEYBOARD KEY [X] PRESSED!")
    108         time.sleep(0.25)
    109         clear_serial(0)
    110         waiting_for_input = True
    111     elif keyboard.is_pressed('u'):
    112         write_serial(16, "KEYBOARD KEY [U] PRESSED!")
    113         time.sleep(0.25)
    114         clear_serial(0)
    115         waiting_for_input = True
    116     elif keyboard.is_pressed('i'):
    117         write_serial(17, "KEYBOARD KEY [I] PRESSED!")
    118         time.sleep(0.25)
    119         clear_serial(0)
    120         waiting_for_input = True
    121     elif keyboard.is_pressed('c'):
    122         write_serial(18, "KEYBOARD KEY [C] PRESSED!")
    123         time.sleep(0.25)
    124         clear_serial(0)
    125         waiting_for_input = True
    126     elif keyboard.is_pressed('v'):
    127         write_serial(19, "KEYBOARD KEY [V] PRESSED!")
    128         time.sleep(0.25)
    129         clear_serial(0)
    130         waiting_for_input = True
    131     elif keyboard.is_pressed('b'):
    132         write_serial(20, "KEYBOARD KEY [B] PRESSED!")
    133         time.sleep(0.25)
    134         clear_serial(0)
    135         waiting_for_input = True
    136     elif keyboard.is_pressed('n'):
    137         write_serial(21, "KEYBOARD KEY [N] PRESSED!")
    138         time.sleep(0.25)
    139         clear_serial(0)
    140         waiting_for_input = True
    141     elif keyboard.is_pressed('j'):
    142         write_serial(22, "KEYBOARD KEY [J] PRESSED!")
    143         time.sleep(0.25)
    144         clear_serial(0)
    145         waiting_for_input = True
    146     elif keyboard.is_pressed('k'):
    147         write_serial(23, "KEYBOARD KEY [K] PRESSED!")
    148         time.sleep(0.25)
    149         clear_serial(0)
    150         waiting_for_input = True
    151     elif keyboard.is_pressed('p'):
    152         write_serial(1, "DONE.")
    153         ser.close()
    154         print("Serial port closed.")
    155         break
    156     else:
    157         if waiting_for_input:
    158             clear_screen()
    159             print("WAITING FOR USER INPUT! (TRY Q,W,E,R,T,A,S,D,F)")
    160             waiting_for_input = False
    161