рдмрд╣реБрдд рдмрд╛рд░, рд╢реБрд░реБрдЖрддреА рдФрд░ рди рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди рд╣реИрдВред рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ Arduino рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ? рдФрд░ рдЕрдЧрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдорд┐рдд рдШрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ? рдФрд░ рдЕрдЧрд░ рдЖрдк ESP8266 рдХреЗ рд╕рд╛рде рдкреАрдбрд╝рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣рд░ рдмрд╛рд░ Arduino IDE рдЦреЛрд▓рдирд╛ рдФрд░
рдкреЛрд░реНрдЯ рдореЙрдиреАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдорд╛рдВрдб рднреЗрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдореИрдВ Arduino рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛ред
рдЙрдкрдХрд░рдг
рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдмреЛрд░реНрдб рдорд┐рд▓рд╛ рд╣реИ:
рдЕрд░реБрдбрд┐рдиреЛ рдПрд╕рдПрд╕ рдорд╛рдЗрдХреНрд░реЛ ред Digispark Attiny 85 рдЬреИрд╕рд╛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдпрд╣ рдмреЛрд░реНрдб, рдлрд┐рд░ рднреА USB рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде Arduino Micro рдХрд╛ рдПрдХ рдЪреАрдиреА рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдирд╣реАрдВ рдХреА, рдХреНрдпреЛрдВрдХрд┐
iomoio рдЙрдкрдирд╛рдо
рд╡рд╛рд▓рд╛ рдПрдХ YouTube рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛
рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА
рд╣реИ ред
рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЫреЛрдЯреЗ рдШрд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддрд╛рд░реЛрдВ рдореЗрдВ рдПрдХ рд╕реБрдкрд░ рд╕рдВрдкрддреНрддрд┐ рд╣реИ: рд╕рдмрд╕реЗ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреНрд╖рдг рдореЗрдВ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВред
MacOS Mojave рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдпрдВрддреНрд░рдг рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд▓реЗрдЦ рдХреЛ рдмрдВрдж рди рдХрд░реЗрдВ - рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
Arduino рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдЪ
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╕реНрдХреЗрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд╕реЗ рдХрдорд╛рдВрдб рдкрд░, рдПрд▓рдИрдбреА рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреАArduino SS Micro рдореЗрдВ LED SS рдкреЛрд░реНрдЯ рдкрд░ рд╣реИрдВрдЧ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдорд╛рдирдХ
рдмреНрд▓рд┐рдВрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдирд┐рдорд┐рд╖ рдПрд▓рдИрдбреА рд╣реИред
char inChar; #define LED_PIN SS void setup() { pinMode(LED_PIN, OUTPUT);
рдпрджрд┐ рдЖрдк рдПрдХ рдФрд░ Arduino рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ - рдПрд▓рдИрдбреА рдХреЗ рдкрд┐рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ред
рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛрдб
рдкрд╛рдпрдерди рдХреЗ рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдЗрд╕рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- PySerial - рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп
- PyQT5 - рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп
рд╕реНрдерд╛рдкрдирд╛
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ - рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
pip install pyserial pyqt5
GUI рдмрдирд╛рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк qtDesigner рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЪреВрдВрдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреЛрд░реНрдЯ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЬрд┐рд╕ рдЧрддрд┐ рд╕реЗ рд╕рдВрдЪрд╛рд░ рд╣реЛрдЧрд╛ред

рд╕реНрд░реЛрдд рдХреЛрдб
рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рдо PySerial рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреИрд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд┐рд╕ рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ?
рдкреВрд░реЗ рдЬрд╛рдиреЗ-рдорд╛рдиреЗ
рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ рд╕рд╛рдЗрдЯ рдкрд░,
рдереЙрдорд╕ рдирд╛рдо рдХреЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдПрдХ рддреИрдпрд╛рд░-рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
def serial_ports(): """ Lists serial port names :raises EnvironmentError: On unsupported or unknown platforms :returns: A list of the serial ports available on the system """ if sys.platform.startswith('win'): ports = ['COM%s' % (i + 1) for i in range(256)] elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдЙрдкрд▓рдмреНрдз рдЧрддрд┐ рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦрдиреА рдЪрд╛рд╣рд┐рдП:
speeds = ['1200','2400', '4800', '9600', '19200', '38400', '57600', '115200']
рдЕрдм рдЪрд▓реЛ рдПрдХ рд╕рд╛рде
рдбрд┐рдЬрд╝рд╛рдЗрди (QtDesigner рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдФрд░ рдПрдХ ppyic5 рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ .py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ),
рдкреЛрд░реНрдЯ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░
рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб ред
рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ рд╡рд╛рд▓реЗ рдореБрдЦреНрдп рд╡рд░реНрдЧ
class LedApp(QtWidgets.QMainWindow, design.Ui_Form): def __init__(self): super().__init__() self.setupUi(self) self.Port.addItems(serial_ports()) self.Speed.addItems(speeds) self.realport = None self.ConnectButton.clicked.connect(self.connect) self.EnableBtn.clicked.connect(self.send) def connect(self): try: self.realport = serial.Serial(self.Port.currentText(),int(self.Speed.currentText())) self.ConnectButton.setStyleSheet("background-color: green") self.ConnectButton.setText('') except Exception as e: print(e) def send(self): if self.realport: self.realport.write(b'b')
рд╡реИрд░рд┐рдПрдмрд▓
рд╕реЗрд▓реНрдл.рдкреЛрд░реНрдЯ рдФрд░
рд╕реЗрд▓реНрдл.рдкреЗрдб рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреЛрд░реНрдЯ рдФрд░ рдЧрддрд┐ рдХреЗ рдорд╛рди рд╣реИрдВред
рдЬрдм рдЖрдк
self.ConnectButton рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ
рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЧрддрд┐ рд╕реЗ рджрд┐рдП рдЧрдП рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрдЯрди рд╣рд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓реЗрдмрд▓ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
рднреЗрдЬреЗрдВ рдлрд╝рдВрдХреНрд╢рди рд╣рдорд╛рд░реЗ рдкреЛрд░реНрдЯ рдХреЛ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рднреЗрдЬрддрд╛ рд╣реИ - рд╣рдореЗрдВ рдкрд▓рдХ рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк USB рд╕реЗ рдЬреБрдбрд╝реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рд▓реЗрдЦ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдФрд░ рдЕрд╡рд▓реЛрдХрди рд╣реИ, рдЕрдзрд┐рдХ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ:
Arduino рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдЪ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб
GitHub рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред