рд╢рд░реНрдмрдд: рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рдЧреЗрдорд┐рдВрдЧ рдХреАрдмреЛрд░реНрдб

рдмрд┐рд▓рд┐рдпрдо рдбреВ- рдЗрдЯ рд╕реЗ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж- рд╕реНрд╡рдпрдВ рдмреНрд▓реЙрдЧ,

рдореЗрд░реЗ рд▓реЙрдЬрд┐рдЯреЗрдХ G13 рдХреЗ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЕрдм рдЗрд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдЯреВрдЯ рдЧрдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рд╢реЗрд░рдмреЗрдЯ рдиреЗ рдмреБрд▓рд╛рдпрд╛ред

рдкрд╣рд▓рд╛ - рдХреНрдпрд╛ рд╣реБрдЖ:


рдХреАрдмреЛрд░реНрдб рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд╕рд╛рдеред

рдкреНрд░рд┐рдВрдЯ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢: www.prusaprinters.org/prints/5072-sherbet-gaming-keypad

рдбрд┐рдЬрд╝рд╛рдЗрди


рдореИрдВ G13 рдХреА рддрд░рд╣ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рдердВрдм рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдиреНрдп рдХреАрдмреЛрд░реНрдб рд╕реЗ рдХрдИ рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - Dactyl рдХреАрдмреЛрд░реНрдб , Dactyl Manuform , Kinesis рдлрд╛рдпрджрд╛ рдФрд░ Ergodox ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ - рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реЗ рдХреБрдВрдЬреА рдХреА рдкрд╛рд░реА, рдКрдВрдЪрд╛рдИ рдореЗрдВ рдмрджрд▓рд╛рд╡, рд╕реНрддрдВрднреЛрдВ рдХреА рд╡рдХреНрд░рддрд╛ рдФрд░ рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЭреБрдХрд╛рд╡ред

рдореИрдВрдиреЗ рдХреАрдмреЛрд░реНрдб рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛ-рд╕реНрдкреАрдб рдХреАрдмреЛрд░реНрдб рд╕реНрд╡рд┐рдЪ (рд░реИрдЦрд┐рдХ рдиреЙрд╡реЗрд▓рдХреЗ рдХреИрд▓рд╛рд╢ рдЪреЛрдХ) рдХреЛ рдЪреБрдирд╛ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рдбреЗрд╕реНрдХ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд░рд╛рдорджрд╛рдпрдХ рдХреАрдмреЛрд░реНрдб рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмреА рд╣реИ рдФрд░ рдиреАрдЪреЗ рдПрдХ рдмрдбрд╝реА рд╢реЗрд▓реНрдл рд╣реИред рд╢реЗрд▓реНрдл рдФрд░ рдЯреЗрдмрд▓рдЯреЙрдк рдХреЗ рдмреАрдЪ рдХреАрдмреЛрд░реНрдб рдФрд░ рдмреНрд░рд╢ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 10 рд╕реЗрдореА рд╢реЗрд╖ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЬрдЧрд╣ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рд╕реНрд╡рд┐рдЪ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ - рдлрд┐рд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрдЯрди рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреАред рдореИрдВ Dactyl рдпрд╛ Dactyl-Manuform рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рднреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдореБрдЭрд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рд▓рд┐рдпрд╛ред

рдореИрдВрдиреЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд▓рд╛рд╢ рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рд╢реБрд░реВ рдХреАрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╡реЗ рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдЖрдП, рддрдм рдореИрдВрдиреЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЙрд▓рдо рд╡рдХреНрд░рддрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдпрд╣реА рдорд┐рд▓рд╛:


рд░реЗрдбреА рд╕реНрдкреАрдХрд░ рдХреЗ


рдЪрдпрди рдХрд╛ рдЪрдпрди рд▓реЗрдЖрдЙрдЯ рдФрд░ рдХреЙрд▓рдо рдХреА рдКрдБрдЪрд╛рдИ


рдбрд┐рдЬрд╝рд╛рдЗрди рдХреАрдЬрд╝,


рдКрдкрд░ рд╕реЗ from рджреЗрдЦрдиреЗ рдХрд╛ рдПрдХ рджреГрд╢реНрдп, рдХреЛрдИ рдПрдХ рд╢рд┐рдлреНрдЯ рд╕реНрдкреАрдХрд░


рдлреНрд░рдВрдЯ рд╡реНрдпреВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ, рдХреЙрд▓рдо рдХреА рдКрдБрдЪрд╛рдИ

рдЪреБрдиреА рдЧрдИ рд╕реНрдХреАрдо рдХреЛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдореИрдВрдиреЗ рд╕реНрд╡рд┐рдЪ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдореБрдЦреНрдп рд╕рдорд░реНрдерди рдкреНрд▓реЗрдЯред


рдХреБрдВрдЬреА рдкреНрд▓реЗрдЯ рдореЙрдбрд▓


рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред


рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрдЯред


рдЪрд╛рдмрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж

рдореИрдВрдиреЗ рдХреАрдмреЛрд░реНрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХреЛрдгреЛрдВ рдХреЛ рдЙрдард╛рдпрд╛, рдФрд░ рд▓рдЧрднрдЧ 20 рдбрд┐рдЧреНрд░реА рдХреЗ рдХреЛрдг рдкрд░ рд░реЛрдХ рджрд┐рдпрд╛ред рдФрд░ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдХреАрдмреЛрд░реНрдб рдХреЗ рдКрдкрд░ рдПрдХ рдЬрдЧрд╣ рд╣реЛред рдпрд╣ рдХреЛрдг рдХреЛ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдлреНрд▓реИрдЯ рдЬреА 13 рдФрд░ рдореЗрд░реЗ рд╡рд░реНрддрдорд╛рди рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рдХреАрдмреЛрд░реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдлреНрдпреВрдЬрди 360 рдореЗрдВ, рдореИрдВрдиреЗ рдЭреБрдХрд╛рд╡ рдХреЛрдг рдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдмрдирд╛ рджрд┐рдпрд╛ рддрд╛рдХрд┐ рдмрд╛рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рджреЗред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдм рджреВрд╕рд░реЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЭреБрдХрд╛рд╡ рдЪрдпрди рдХреЗ рд▓рд┐рдП рдореБрджреНрд░рд┐рдд рд╕рдорд░реНрдерди рдкреНрд▓реЗрдЯ

рдмреНрд░рд╢ рд╕реНрдЯреИрдВрдб


рдлрд┐рд░ рдореИрдВрдиреЗ рдмреНрд░рд╢ рд╕реНрдЯреИрдВрдб рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдЕрдкрдиреЗ рд╣рд╛рде рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╕реНрдЯреИрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдБрдЪрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореИрдВрдиреЗ рдПрдХ рдорд┐рдЯреНрдЯреА рдХрд╛ рдорд┐рдЯреНрдЯреА рдХрд╛ рд╕реНрдЯреИрдВрдб рдмрдирд╛рдпрд╛, рдлрд┐рд░ рдПрдХ 3 рдбреА рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд╢рд░реВрдо рдлреЛрдЯреЛрдЧреНрд░рд╛рдордореЗрдЯреНрд░рд┐рдХ рдкреИрдХреЗрдЬ (рдФрд░ рдлреЛрдЯреЛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рддрд╛рдХрд┐ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдореВрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПред рдкреЙрд▓рд┐рдорд░ рдХреНрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдЯреИрдВрдб рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдиреНрдирд┐рдХрдЯрдиред рдХрдИ рддрд╕реНрд╡реАрд░реЗрдВред рдореЗрд╢рд░реВрдо рд╕реЗ рдмрдирд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрдб рдмрд┐рджрд╛рдИред рдореЙрдбрд▓ рдлреНрдпреВрдЬрди 360 рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ ред рдлрд┐рд░ рдореИрдВ рдмрд╕ рдореЙрдбрд▓ рдХреЗ рдореБрдЦреНрдп рдЖрдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рдЧрдпрд╛, рдЗрд╕реЗ рдЪрд┐рдХрдирд╛ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд┐рдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛: рдмрд╣реБрд▓рдХ рдорд┐рдЯреНрдЯреА рдХреЗ рдПрдХ рд╢рд╛рдирджрд╛рд░ 3D рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЧрд▓рд╛ рдореЙрдбрд▓ рдЗрд╕рдХреЗ рдмрдЧрд▓ рдореЗрдВред рдПрдХ рд╕реБрдЪрд╛рд░реВ рдФрд░ рдореБрджреНрд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде





















рдРрд╕рд╛ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореБрджреНрд░рдг рдХреЗ рджреМрд░рд╛рди рдпреЗ рд╕рднреА рдореЛрдбрд╝ рд╣рд╛рде рдХреЛ рд╣рд┐рд▓рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рднреА рд╕рдкрд╛рдЯ рд╣реИрдВред рдХреБрдВрдЖтАж

рдЖрд╡рд╛рд╕


рддрдм рдореИрдВрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рд╕рднреА рдХрд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рдЪрд░рдг рдирд┐рдХрд▓рд╛ред рдореИрдВ рдЕрднреА рднреА рд╕реАрдПрдбреА рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЗрддрдиреЗ рдЬрдЯрд┐рд▓ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╕рдВрдпреБрдХреНрдд рдШрдЯрддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рджреЛ рд╕рддрд╣реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ, рдФрд░ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рд▓рдЧрд╛ред


рдПрдХ Arduino рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдФрд░ рдЕрдВрдЧреВрдареЗ рдмрдЯрди рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдХрд╛ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдореЙрдбрд▓ред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд╛рддрд╛рд╡рд░рдг рднреА рдкрд╛рдпрд╛ , рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЪрд┐рддреНрд░ рдмреЗрд╣рддрд░ рдмрдиреЗред


рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗрд╕ рдореЙрдбрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛


, рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗрд╕ рдореЙрдбрд▓, рдореЗрдВ рджреЗрдЦреЗрдВ,

рдореИрдВрдиреЗ рдЗрд╕рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рд╕реНрдерд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЕрдВрдЧреВрдареЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдпрд╣ рдПрд░реНрдЧреЛрдиреЙрдорд┐рдХреНрд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред


рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрд░рд┐рдд рдЬреЙрдпрд╕реНрдЯрд┐рдХред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдирд┐рдВрдЯреЗрдВрдбреЛ рд╕реНрд╡рд┐рдЪ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдЬреЙрдп-рдХреЙрди рдирд┐рдпрдВрддреНрд░рдХ рдЦрд░реАрджрд╛, рдЬрд┐рд╕реЗ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЬрдЧрд╣ рд╣реИред рдпрд╣ 5 рддрд╛рд░реЛрдВ 0.5 рдорд┐рдореА рдХреЗ (рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ) рдлреНрд▓реИрдЯ рдХреЗрдмрд▓ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдореЗрдЬрд╝реЕрди рдкрд░ 6 рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмреЛрд░реНрдб рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдИрдмреЗ рдпрд╛ рдЕрд▓реАрдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╕реЗ рд▓реЗрдирд╛ рдмрд╣реБрдд рд╕рд╕реНрддрд╛ рд╣реИред рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдЬреЙрдп-рдХреЙрди рдЬреЙрдпрд╕реНрдЯрд┐рдХ рджреНрд╡рд╛рд░рд╛ рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕ рдХреА


рддреБрд▓рдирд╛





рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдЖрд╡рд╛рд╕

рдПрдХ рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ред рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╛рд╕ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛, рдПрдХ рдЫреЛрдЯреЗ рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рдкреИрдирд▓ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдХреЗ рд▓рд┐рдП Teensy рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рдореИрдВ рдПрдХ рдзрд╛рд░рдХ рд╣реИ, рдЬреЛ рдореЗрдВ рдпрд╣ рдмрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╕рдХрд░ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдФрд░ рд╢рд┐рдХрдВрдЬрд╛ рдмрдирд╛рдпрд╛ рд╣реИред рдмреНрд░рд╢ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрдб рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреНрд▓реИрдВрдк рдФрд░ 4 рдорд┐рдореА рдЫреЗрдж рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╕реНрдерд╛рдиред

рдореИрдВ рдореБрдЦреНрдп USB рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛ рдпреВрдПрд╕рдмреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдЦрд░рд╛рдм рди рд╣реЛ рдФрд░ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдЪрд░рдг рдХреЗ рдкреВрд░реЗ


рдорд╛рдорд▓реЗ рдХреЗ

рд▓рд┐рдП, рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рдХреБрд▓ рд╕рдордп рд▓рдЧ рдЧрдПред рдореИрдВ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдШрдВрдЯреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ "рдмрд╣реБрдд рд╕рд╛рд░реЗ" рдереЗред

рдЫрд╛рдк


рдЬрдм рдореИрдВрдиреЗ рдЗрддрдирд╛ рд╕рдордп рдбрд┐рдЬрд╛рдЗрдирд┐рдВрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдмрд┐рддрд╛рдпрд╛, рддреЛ рдореБрдЭреЗ рдпрд╣ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдВрддрд┐рдо рдкреНрд░рд┐рдВрдЯ рдЙрдмрд╛рдК рдФрд░ рдмрд┐рдирд╛ рдШрдЯрдирд╛ рдХреЗ рдерд╛ред


рдореЗрдХрд░ рд╕рд┐рд▓реЗрдХреНрдЯ рдкреНрд▓рд╕ рдкрд░ 0.2 рдорд┐рдореА рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдореБрджреНрд░рдг рдореЗрдВ 15 рдШрдВрдЯреЗ рд▓рдЧреЗред


рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ: рдмреИрдХрдЕрдк рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕рдлрд╛рдИред рдиреБрдХрд╕рд╛рди рдЫреЛрдЯрд╛ рдирд┐рдХрд▓рд╛ред


рд╕реНрдерд╛рдкрд┐рдд рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдХрд╛ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕рд╛ред

рдореИрдВрдиреЗ рд╕рдлреЗрдж рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХреЛ рднреА рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдПрдХ рдХреЙрд░реНрдХ рдХреЛрдЯрд┐рдВрдЧ рдХреЛ рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ред рдХрд╡рд░ рдХреЛ рд╢рд░реАрд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдо 3 рд╕реНрдХреНрд░реВ рдФрд░ рдПрдХ рдереНрд░реЗрдбреЗрдб рдореЗрдЯрд┐рдВрдЧ рд╕реНрд▓реАрд╡ рдХреЛ рдЧрд░реНрдо рдХрд░рдХреЗ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реВрдВ ред


рдиреЙрди-рд╕реНрд▓рд┐рдк рдХреЙрд░реНрдХ рдХрд╡рд░

рдЪрд┐рддреНрд░


рдбрд┐рдЬрд╛рдЗрди рдХреЗ рджреМрд░рд╛рди, рдореИрдВ рдХрдИ рд░рдВрдЧ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рдЧрдпрд╛, рдФрд░ рдЕрдВрддрддрдГ рдПрдХ рд╕рдорд╛рди рдПрдХ рдкрд░ рдмрд╕ рдЧрдпрд╛ред рдХрдИ рд░рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЪрд╛рдмрд┐рдпрд╛рдБ рдХреЗрд╡рд▓ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рд╣реИрдВред


рд░рдВрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛

рдЕрдВрддрд┐рдо рд╕рдорд╛рдкрди рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдкрд░рддреЛрдВ рдФрд░ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП 220 рдЧреНрд░рд┐рдЯ рд╕реИрдВрдбрдкреЗрдкрд░ рдХреЗ рд╕рд╛рде рднрд╛рдЧ рдХреЛ рд╕реИрдВрдб рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдкреНрд░рд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрд╡рд░ рдХрд┐рдпрд╛ред


рдорд┐рдЯреНрдЯреА рдХреА рдкрд╣рд▓реА рдкрд░рдд

рдкреНрд░рд╛рдЗрдорд░ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдмреЙрдиреНрдбреЛ рд╕реЗ рдкреЛрдЯреАрди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рднрд╛рдЧ рдХреЛ рд╕реИрдВрдб рдХрд┐рдпрд╛ (рд╕реИрдВрдбрдкреЗрдкрд░ 220 рдФрд░ 600), рдлрд┐рд░ рдкреНрд░рд╛рдЗрдорд░, рдкреЛрдЯреАрди рдФрд░ рдлрд┐рд░ рд╕реЗ рд░реЗрдд рд╕реЗ рдврдХрд╛ред


рдкреНрд░рд╛рдЗрдорд░ рдФрд░ рдкреЛрдЯреАрди рдХреЗ рд╕рд╛рде рджреЛ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдФрд░ рд╣рд╛рд░реНрдб рд╕реИрдВрдбрд┐рдВрдЧред


рд╕рдлреЗрдж рдкреНрд░рд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдкрд░рдд,

рдореИрдВрдиреЗ рдПрдХ рдкрддрд▓реА рд╡рд┐рдирд╛рдЗрд▓ рдлрд┐рд▓реНрдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрдЯреНрдЯреА рдмрдирд╛рдИ, рдФрд░ рдлрд┐рд░ рдПрдХ рд╕реНрдкреНрд░реЗ рдмрдВрджреВрдХ рд╕реЗ рдЧреБрд▓рд╛рдмреА рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЬрдЧрд╣ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ред


рдХреЗрд╕ рдФрд░ рдкреЗрдВрдЯ рдЕрд╡рд╢реЗрд╖

рдкреЗрдВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЪрдордХрджрд╛рд░ рдХреЛрдЯрд┐рдВрдЧ рдХреА 4-5 рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рднрд╛рдЧ рдХреЛ рдХреЛрдЯ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдзреВрд▓, рдлреБрд▓ рдФрд░ рдХреАрдбрд╝реЗ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ 1200 рдЧреНрд░рд┐рдЯ рдХреЗ рд╕рд╛рде рд╕реИрдВрдб рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдлрд┐рд░ рд╕реЗ рд╡рд╛рд░реНрдирд┐рд╢ рдХрд┐рдпрд╛ред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╡рд╛рд░реНрдирд┐рд╢ рдХреА рдЦреБрд░рджрд░рд╛рдкрди рдФрд░ рдзрдмреНрдмреЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдЬрдЧрд╣реЛрдВ рдХреЛ рд╕реИрдВрдбрдкреЗрдкрд░ 1200 рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдкреЙрд▓рд┐рд╢ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╕рд░ рдХреЗ рд╕рд╛рде рдкреЙрд▓рд┐рд╢ рдХрд┐рдпрд╛ред


рдкреАрд╕рдиреЗ рдФрд░ рдЪрдордХрд╛рдиреЗ рдХреЗ рдмрд╛рдж

рд╕рднрд╛


рдореИрдВрдиреЗ рдмреАрдпрд░рд┐рдВрдЧ рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ 1.5 рдорд┐рдореА рд╕рд┐рд░реЗрдорд┐рдХ рдЧреЗрдВрджреЛрдВ рдХреЛ рджрдмрд╛рдХрд░ рдиреЗрддреНрд░рд╣реАрди рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП pimples рдмрдирд╛рдпрд╛ред рдлреЛрдЯреЛ рдПрдХ рдЫреЗрдж рдХреЛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдФрд░ рдПрдХ рдХреЛ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЧреЗрдВрдж рдХреЛ рджрдмрд╛рдпрд╛ (рдмрд┐рдирд╛ рдЧреЛрдВрдж рдХреЗ)ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЛ рдЦрд╝рд░рд╛рдм рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЧреЛрдВрдж рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝реЗ рдЫреЗрдж рдореЗрдВ рдбрд╛рд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред



рдЬрдм рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдерд╛ рдЬреЛ рдореБрдЭреЗ рд╢рд┐рдерд┐рд▓рддрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ, рддреЛ рдореИрдВрдиреЗ рддрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдПред

рдореБрдЭреЗ рд╕реНрдерд╛рдиреАрдп рджреБрдХрд╛рдиреЛрдВ рдореЗрдВ рдкрддрд▓реЗ рддрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓реЗ, рдФрд░ рдПрдХрдорд╛рддреНрд░ рдПрдХрд▓-рдХреЛрд░ рддрд╛рд░ рдЬреЛ рдмреЗрдЪрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд╣ 22 awg [ рдХреНрд░реЙрд╕-рд╕реЗрдХреНрд╢рди 0.325% рд╡рд░реНрдЧ) рдерд╛ред / рд▓рдЧрднрдЧред perevред] - рдФрд░ рдХреЙрд▓рдо рдСрдлрд╝рд╕реЗрдЯ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЭреБрдХрдирд╛ рдФрд░ рдХреЗрд╕ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХреЗ рдмреАрдЪ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЬрдЧрд╣ рдореЗрдВ рд╕рд╛рдорд╛рди рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдПрдХ 28 рдЖрд░реНрдЧрди рдлрдВрд╕реЗ рддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ [ рдХреНрд░реЙрд╕ рд╕реЗрдХреНрд╢рди 0.089 mm.kvред / рд▓рдЧрднрдЧред perevред ], рдЬрд┐рд╕реЗ рдПрдХ рдлреНрд▓реИрдЯ рдХреЗрдмрд▓ рд╕реЗ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдерд╛, рдПрдХ рд╡рд╛рдпрд░ рд╕реНрдЯреНрд░рд┐рдкрд░ рдХреЗ рд╕рд╛рде рдЫреАрди рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдлрд┐рд░ рдЫреЛрд░реЛрдВ рдкрд░ рдЫреЛрд░реЛрдВ рдХреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред рдкрддрд▓реЗ рд╕рд┐рдВрдЧрд▓-рдХреЛрд░ рдХреЗрдмрд▓ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛрдЧрд╛ред


рдЯрд╛рдВрдХреЗ рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рд╕реНрд╡рд┐рдЪ


рдПрдХ рд╕рдкрд╛рдЯ рдХреЗрдмрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ, рд╕реНрддрдВрднреЛрдВ, рдПрдХ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдФрд░ рдПрдХ рдпреВрдПрд╕рдмреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмреЛрд░реНрдб рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ




рдореИрдВрдиреЗ рдПрдХ рдмреНрд░рд╢ рд╕реНрдЯреИрдВрдб рдХреЛ рджреЛ M4 рд╢рд┐рдХрдВрдЬреЗ рдореЗрдВ рдмрд╛рдВрдз рджрд┐рдпрд╛, рдЬреЛ рдЧрд░реНрдо рдХрд░рдХреЗ рдореБрдЦреНрдп рд╢рд░реАрд░ рдХреЗ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдореЗрдВ рдбрд╛рд▓реЗ рдЧрдП рдЖрд╕реНрддреАрди рдореЗрдВ рдмрдБрдзрд╛ рд╣реЛрддрд╛ рд╣реИред рдХрдкрд▓рд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЫреЗрдж рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдЫреЗрдж рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдо 4 рдирдЯ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЯреЗрдмрд▓ рдкрд░ рдХреАрдмреЛрд░реНрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреЙрд░реНрдХ рдиреАрдЪреЗ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рдЬрди рдХреЗ рд╕рд╛рде рднреА, рдХреАрдмреЛрд░реНрдб рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ: рдореИрдВрдиреЗ рд╕реНрдЯреИрдВрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдФрд░ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рджреЛ рдПрдо 4 рдирдЯреНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдЪрд▓реЗред

рдХрд┐рдпрд╛ рд╣реБрдЖ!



рддреИрдпрд╛рд░ рдЖрд╡рд╛рд╕ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдмреНрд░рд╢ рдзрд╛рд░рдХ


рдЖрд╡рд╛рд╕, рдиреАрдЪреЗ рдХрд╛ рджреГрд╢реНрдп

рдлрд░реНрдорд╡реЗрдпрд░


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдХреНрдпреВрдПрдордХреЗ рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рдПрдХ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд▓ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛ рдЕрднреА рддрдХ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, QMK рдирдП ARM Teensy рдирд┐рдпрдВрддреНрд░рдХреЛрдВ (3.2 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг) рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрди рдкреИрдЪ рдЕрднреА рддрдХ ARM рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЗрд╕ рдкреИрдЪ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдЖрд░рдПрдо рд╕рдорд░реНрдерди, рдореИрдВ QMK рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рдореИрдВрдиреЗ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЗрдЪ рдмрдирд╛рдпрд╛ред

рдЗрд╕рдореЗрдВ рджреЛ рдореЛрдб рд╣реИрдВ, рдПрдХ рдорд╛рдирдХ QWERTY рд▓реЗрдЖрдЙрдЯ рдФрд░ рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╡рд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдмрдЯрди рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдЯреАрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдмрдЯрди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ XInput рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдПрдХ рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛрдб
// , . , sherbet.ino.
#include ┬лusb_names.h┬╗

#define PRODUCT_NAME {'s', 'h', 'e', 'r', 'b', 'e', 't'}
#define PRODUCT_NAME_LEN 7

struct usb_string_descriptor_struct usb_string_product_name = {
2 + PRODUCT_NAME_LEN * 2,
3,
PRODUCT_NAME
};



рдлрд░реНрдорд╡реЗрдпрд░
/*
Original programming by Stefan Jakobsson, 2019
Released to public domain
forum.pjrc.com/threads/55395-Keyboard-simple-firmware
*/
/*
Copyright 2019 Colin Fein
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ┬лSoftware┬╗), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED ┬лAS IS┬╗, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

// Use USB Type: Keybord+Mouse+Joystick

#include <Bounce2.h>

const int ROW_COUNT = 4; //Number of rows in the keyboard matrix
const int COL_COUNT = 6; //Number of columns in the keyboard matrix

const int DEBOUNCE = 5; //Adjust as needed: increase if bouncing problem, decrease if not all keypresses register; not less than 2
const int SCAN_DELAY = 5; //Delay between scan cycles in ms

const int JOYSTICK_X_PIN = 14; // Analog pin used for the X axis
const int JOYSTICK_Y_PIN = 15; // Analog pin used for the Y axis
const bool REVERSE_X = true; // Reverses X axis input
const bool REVERSE_Y = true; // Reverses Y axis input
const int MIN_X = 215; // Minimum range for the X axis
const int MAX_X = 780; // Maxixmum range for the X axis
const int MIN_Y = 280; // Minimum range for the Y axis
const int MAX_Y = 815; // Maximum range for the Y axis
const int BUTTON_COUNT = 1; // Number of joystick buttons

const int JOY_MIN = 0;
const int JOY_MAX = 1023;

Bounce buttons[BUTTON_COUNT];
Bounce switches[ROW_COUNT * COL_COUNT];

boolean buttonStatus[ROW_COUNT * COL_COUNT + BUTTON_COUNT]; //store button status so that inputs can be released
boolean keyStatus[ROW_COUNT * COL_COUNT]; //store keyboard status so that keys can be released

const int rowPins[] = {3, 2, 1, 0}; //Teensy pins attached to matrix rows
const int colPins[] = {11, 10, 9, 8, 7, 6}; //Teensy pins attached to matrix columns
const int buttonPins[] = {12}; //Teensy pins attached directly to switches

int axes[] = {512, 512};

int keyMode = true; // Whether to begin in standard qwerty mode or joystick button mode

// Keycodes for qwerty input
const int layer_rows[] = {
KEY_ESC, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5,
KEY_TAB, KEY_Q, KEY_W, KEY_E, KEY_R, KEY_T,
KEY_CAPS_LOCK, KEY_A, KEY_S, KEY_D, KEY_F, KEY_G,
MODIFIERKEY_SHIFT, KEY_Z, KEY_X, KEY_C, KEY_V, KEY_B
};
// keystroke to use (counting from top left to top right of keypad) to switch between standard qwerty input and joystick buttons
// default uses B+5
const int mode_swap_keystroke[2] = {23, 5};
int pivoted_keystroke[2]; //rows to columns
boolean keystrokeModifier = false; //whether beginning of keystroke is active

// rows to columns
int layer[ROW_COUNT * COL_COUNT];

void setup() {
int i;
//pivot key array for row-to-column diodes
for (i = 0; i < ROW_COUNT * COL_COUNT; i++) {
layer[rotateIndex(i)] = layer_rows[i];

// create debouncers for row pins
Bounce debouncer = Bounce();
debouncer.attach(rowPins[i % ROW_COUNT]);
debouncer.interval(DEBOUNCE);
switches[i] = debouncer;
}

//convert keystroke to (pivoted) indexes
for (i = 0; i < 2; i++) {
pivoted_keystroke[i] = rotateIndex(mode_swap_keystroke[i]);
}

// create debouncers for non-matrix input pins
for (i = 0; i < BUTTON_COUNT; i++) {
Bounce debouncer = Bounce();

debouncer.attach(buttonPins[i], INPUT_PULLUP);
debouncer.interval(DEBOUNCE);
buttons[i] = debouncer;
}

// Ground first column pin
pinMode(colPins[0], OUTPUT);
digitalWrite(colPins[0], LOW);

for (i = 1; i < COL_COUNT; i++) {
pinMode(colPins[i], INPUT);
}

//Row pins
for (i = 0; i < ROW_COUNT; i++) {
pinMode(rowPins[i], INPUT_PULLUP);
}
}

void loop() {
scanMatrix();
scanJoy();
delay(SCAN_DELAY);
}

/*
Scan keyboard matrix, triggering press and release events
*/
void scanMatrix() {
int i;

for (i = 0; i < ROW_COUNT * COL_COUNT; i++) {
prepareMatrixRead(i);
switches[i].update();

if (switches[i].fell()) {
matrixPress(i);
} else if (switches[i].rose()) {
matrixRelease(i);
}
}
}

/*
Scan physical, non-matrix joystick buttons
*/
void scanJoy() {
int i;
boolean anyChange = false;

for (i=0; i < BUTTON_COUNT; i++) {
buttons[i].update();
if (buttons[i].fell()) {
buttonPress(i);
anyChange = true;
} else if (buttons[i].rose()) {
buttonRelease(i);
anyChange = true;
}
}

int x = getJoyDeflection(JOYSTICK_X_PIN, REVERSE_X, MIN_X, MAX_X);
int y = getJoyDeflection(JOYSTICK_Y_PIN, REVERSE_Y, MIN_Y, MAX_Y);
Joystick.X(x);
Joystick.Y(y);

if (x != axes[0] || y != axes[y]) {
anyChange = true;

axes[0] = x;
axes[1] = y;
}

if (anyChange) {
Joystick.send_now();
}
}

/*
Return a remapped and clamped analog value
*/
int getJoyDeflection(int pin, boolean reverse, int min, int max) {
int input = analogRead(pin);
if (reverse) {
input = JOY_MAX тАФ input;
}

return map(constrain(input, min, max), min, max, JOY_MIN, JOY_MAX);
}
/*
Returns input pin to be read by keyScan method
Param key is the keyboard matrix scan code (col * ROW_COUNT + row)
*/
void prepareMatrixRead(int key) {
static int currentCol = 0;
int p = key / ROW_COUNT;

if (p != currentCol) {
pinMode(colPins[currentCol], INPUT);
pinMode(colPins[p], OUTPUT);
digitalWrite(colPins[p], LOW);
currentCol = p;
}
}

/*
Sends key press event
Param keyCode is the keyboard matrix scan code (col * ROW_COUNT + row)
*/
void matrixPress(int keyCode) {
if (keyMode) {
keyPress(keyCode);
} else {
buttonPress(BUTTON_COUNT + keyCode);
}

keystrokePress(keyCode);
}

/*
Sends key release event
Param keyCode is the keyboard matrix scan code (col * ROW_COUNT + row)
*/
void matrixRelease(int keyCode) {
//TODO: Possibly do not trigger keyboard.release if key not already pressed (due to changing modes)
if (keyMode) {
keyRelease(keyCode);
} else {
buttonRelease(BUTTON_COUNT + keyCode);
}

keystrokeRelease(keyCode);
}

/*
Send key press event
*/
void keyPress(int keyCode) {
Keyboard.press(layer[keyCode]);
keyStatus[keyCode]=true;
}

/*
Send key release event
*/
void keyRelease(int keyCode) {
Keyboard.release(layer[keyCode]);
keyStatus[keyCode]=false;
}

/*
Send joystick button press event
Param buttonId 0-indexed button ID
*/
void buttonPress(int buttonId) {
Joystick.button(buttonId + 1, 1);
buttonStatus[buttonId] = true;
}

/*
Send joystick button release event
Param buttonId 0-indexed button ID
*/
void buttonRelease(int buttonId) {
Joystick.button(buttonId + 1, 0);
buttonStatus[buttonId] = false;
}

/*
Listen for keystroke keys, and change keyboard mode when condition is met
*/
void keystrokePress(int keyCode) {
if (keyCode == pivoted_keystroke[0]) {
keystrokeModifier = true;
} else if (keystrokeModifier && keyCode == pivoted_keystroke[1]) {
releaseLayer();
keyMode = !keyMode;
}
}

/*
Listen for keystroke key release, unsetting keystroke flag
*/
void keystrokeRelease(int keyCode) {
if (keyCode == pivoted_keystroke[0]) {
keystrokeModifier = false;
}
}

/*
Releases all matrix and non-matrix keys; called upon change of key mode
*/
void releaseLayer() {
int i;
for (i = 0; i < ROW_COUNT * COL_COUNT; i++) {
matrixRelease(i);
}

for (i=0; i < BUTTON_COUNT; i++) {
if (buttonStatus[i]) {
buttonRelease(i);
}
}
}

/*
Converts an index in a row-first sequence to column-first
[1, 2, 3] [1, 4, 7]
[4, 5, 6] => [2, 5, 8]
[7, 8, 9] [3, 6, 9]
*/
int rotateIndex(int index) {
return index % COL_COUNT * ROW_COUNT + index / COL_COUNT;
}


All Articles