рд╣рдо IR рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ iRobot Roomba рд░реЛрдмреЛрдЯ рд╡реИрдХреНрдпреВрдо рдХреНрд▓реАрдирд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ


рдирдП рд╕рд╛рд▓ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧреА рдкрд╛рд▓рддреВ рдЬрд╛рдирд╡рд░ рдерд╛ - iRobot Roomba 630ред рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рд╕рдмрд╕реЗ рдмреЗрдХрд╛рд░ Roomba рдореЙрдбрд▓ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдПрдХ рдкреАрд╕реА рд╕реЗ рд░реЛрдмреЛрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛, рдлрд┐рд░ рдЗрд╕реЗ рджреВрд░ рд╕реЗ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд░реЛрдмреЛрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, iRobot рдПрдХ IR рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдмрдирд╛рддрд╛ рд╣реИ, "рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ!" - рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдФрд░ Roomb рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IR рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рднреА рдЗрдЪреНрдЫреБрдХ рдХреГрдкрдпрд╛ рдПрдХ рдХрдЯ рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдВ!



рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдмреЗрд╢рдХ, рдореИрдВрдиреЗ рдЬреЛ рдкрд╣рд▓рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рд╡рд╣ рд░реЙрдореНрдм рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдордВрдЪ www.robotreviews.com рдкрд░ рд╕рдмрд╕реЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдорд┐рд▓рд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреЛрд╕реНрдЯ , рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрджреНрдзрд░рдг рд╣реИ:
рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдЖрдИрдЖрд░ рд╕реНрдЯреНрд░реАрдо рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрд╡рдзрд┐ рдореЗрдВ 8 рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдХрд╛рдЧрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдЯ 1ms рдХрдо рдЕрд╡рдзрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдорд╛рди 0 рд╣реИ, рддреЛ рдкрд▓реНрд╕ 2 рдФрд░ рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдХрдо рд░рд╣рддрд╛ рд╣реИред рдпрджрд┐ рдкрд▓реНрд╕ 2ms рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдорд╛рди 1 рд╣реИред 1ms рдЙрдЪреНрдЪ рдлрдЯ рднреЗрдЬрдХрд░ рдмрд┐рдЯ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред

рд▓реЗрдЦрдХ рдЙрди рдЯреАрдореЛрдВ рдХреЗ рдХреЛрдб рднреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╛рдпрд╛ рдерд╛ред
рд░рд┐рдореЛрдЯ рдмрдЯрди рдЖрдИрдЖрд░ рд╕реНрдЯреНрд░реАрдо рд╕реЗрдВрд╕рд░ рдХреЛрдб
рд╡рд╛рдо: 10000001 129
рдлреЙрд░рд╡рд░реНрдб: 10000010 130
рд╕рд╣реА: 10000011 131
рд╕реНрдкреЙрдЯ: 10000100 132
рдЕрдзрд┐рдХрддрдо: 10000 101 133
рд╕реНрд╡рдЪреНрдЫ: 10001000 136
рдард╣рд░рд╛рд╡: 10001001 137
рдкрд╛рд╡рд░: 10001010 138
рдлреЙрд░рд╡рд░реНрдб / рд▓реЗрдлреНрдЯ: 10001011 139
рдлреЙрд░рд╡рд░реНрдб / рд░рд╛рдЗрдЯ: 10001100 140
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рдкреАрдЫреЗ: 11110010 242
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рд╕рд╣реА: 11110110 246
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рдереЛрдбрд╝рд╛ рд╕рд╣реА: 11110111 247
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рд╡рд╛рдо: 11111010 250
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рдереЛрдбрд╝рд╛ рдмрд╛рдПрдВ: 11111011 251
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рдордзреНрдп: 11111110 254

=== рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдП рдЧрдП рдХреЛрдб ... рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ ===
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рджреВрд░ ???????? 248
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рджреВрд░ ???????? 244
рдбреЙрдХрд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди: рджреВрд░ ???????? 240
рдпрдХреАрди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ ???? ???????? 252

рд╕рдВрдХреЗрддрд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ рдФрд░ рдореИрдВ рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рдерд╛: рдПрдХ рд╣реА рдордВрдЪ рдкрд░, PSP рдХреЗ рд╕рд╛рде рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП irshell рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ ред
рдпрд╣рд╛рдБ рд╡реЗ рд╣реИрдВ
TITLE = рд░реВрдореНрдмрд╛
рдпреВрдкреА = рдКрдкрд░
0000 0069 0000 0008 0070 0027 0023 0070 0023 0070 0023 0070 0023 0070 0070 0070 0027 0023 0030 030B
рдмрд╛рдПрдБ = рдмрд╛рдПрдБ
0000 0069 0000 008 0027 0023 0070 0023 0070 0023 0070 0023 0070 0023 0070 0023 0070 0070 02C8
рдЕрдзрд┐рдХрд╛рд░ = рдЕрдзрд┐рдХрд╛рд░
0000 0067 0000 0008 0072 0024 0024 0072 0024 0072 0024 0072 0024 0072 0072 0072 0072 0024 0072 0072 02D0
CIRCLE = рд╕реНрдкреЙрдЯ
0000 0067 0000 0008 0074 0024 0024 0074 0024 0074 0074 0074 0074 0074 0074 0024 0024 0024 0024 0024 0024 0314
рдХреНрд░реЙрд╕ = рд╕рд╛рдл
0000 0069 0000 0008 0071 0027 0023 0071 0023 0071 0071 0071 0071 0027 0023 0071 0071 0023 0071 0023 0023 030B
TRIANGLE = рдбреЙрдХ (рдкреБрд░рд╛рдиреЗ рдореЙрдбрд▓ рдкрд░ MAX?)
0000 0069 0000 008 0027 0024 0070 0024 0070 0024 0070 0024 0070 0070 0027 0024 0070 0070 02C8
L_SQUARE = тАЛтАЛрдмрд┐рдЬрд▓реА рдмрдВрдж
0000 0069 0000 0008 0070 0027 0023 0070 0023 0070 0023 0070 0070 0027 0070 0070 0027 0023 0023 030B
L_TRIANGLE = рд░реЛрдХреЗрдВ
0000 0069 0000 008 0023 0023 0070 0023 0070 0023 0070 0070 0023 0023 0070 0023 0070 0070 02C8

рдпрд╣рд╛рдВ рдХрдорд╛рдВрдб рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдпрд╣ рддрдерд╛рдХрдерд┐рдд рдкреНрд░реЛрдЯреЛ рдЖрдИрдЖрд░ рдкреНрд░рд╛рд░реВрдк рд╣реИред рдореБрдЭреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рд╡рд░рдг рдорд┐рд▓рд╛ ( Yandex.Disk - рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ) рдЙрдирдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд╛рдлреА рд╕рд░рд▓ рдирд┐рдХрд▓рд╛ред
рдкреНрд░рд╛рд░реВрдк рд╡рд┐рд╡рд░рдг рд╕реЗ рдХреБрдЫ рдЪрд┐рддреНрд░



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдЪреНрдЫ рдЖрджреЗрд╢ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╡рд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛:
0000 0069 0000 0008 0071 0027 0023 0071 0023 0071 0023 0071 0071 0027 0023 0071 0023 0071 0023 030B

0000 - рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░реЛрдЯреЛ RAW рдкреНрд░рд╛рд░реВрдк рд╣реИ, рдЗрд╕рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдЪрд┐рддреНрд░ рдЕрдзрд┐рдХ рд╣реИрдВред
0069 - рд╡рд╛рд╣рдХ рдЖрд╡реГрддреНрддрд┐: 69 16 = 105 10 ; f = 4.145146 MHz / 105 = 39.477663 kHzред
0000 - рддреЛ рдХреЛрдИ рд╕реНрдЯрд╛рд░реНрдЯ рдХрдорд╛рдВрдб рдирд╣реАрдВ рд╣реИ рдЬреЛ рд░рд┐рдкреАрдЯ рди рд╣реЛред
0008 - рджреЛрд╣рд░рд╛рд╡ рдЖрджреЗрд╢ рдореЗрдВ 8 рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛ рдПрдХ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдорд╛рдВрдб рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд╣реИ, рд╡рд╛рд╣рдХ рдЖрд╡реГрддреНрддрд┐ рдХреА рдЕрд╡рдзрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВред
режрежрез - рдкрд╣рд▓рд╛ рдкреИрдХ packрез резрем рдЕрд╡рдзрд┐ рддрдХ рдЪрд▓рд╛, рдЕрд░реНрдерд╛рддред рд▓рдЧрднрдЧ 2862 ╬╝sред
0027 - рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ 16 16 рдЕрд╡рдзрд┐рдпреЛрдВ, рдЕрд░реНрдерд╛рддреНред рд▓рдЧрднрдЧ 988 ╬╝sред
рдЖрдЧреЗ - рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╕рдВрдХреЗрдд рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдпрджрд┐ рдкрд╣рд▓рд╛ рдкреИрдХ рдПрдХ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╢реВрдиреНрдп рд╣реИ, рддреЛ рдордВрдЪ рд╕реЗ рд╕рдВрджреЗрд╢ рдХреЗ рдХрдорд╛рдВрдб рдХреЛрдб рд╕рд╣реА рд╣реИрдВ:
рдЯреАрдордХреЛрдб
рд╡рд╛рдо129
рдЖрдЧреЗ130
рд╕рд╣реА131
рд╕реНрдкреЙрдЯ132
рдбреЙрдХ133
рд╕реНрд╡рдЪреНрдЫ136
рд░реЛрдХреЗрдВ137
рдмрд┐рдЬрд▓реА138
FORWARD_LEFT139
FORWARD_RIGHT140

рдирд┐рд░реНрдорд╛рдг

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

рдпрд╣ рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рдереА:



рдШрдЯрдХ:

рдЖрдИрдЖрд░ рдбрд╛рдпреЛрдб рдХрд╛ рд╕рдВрдХреЗрдд рдПрдордХреЗ рдХреЗ 5 рдкрд┐рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЬрдм рдПрдХ рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рдЖрд░ 2 рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ ATTiny2313 рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╡рд░реНрддрдорд╛рди рд╕рднреА рдкрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП 200 рдПрдордП, рдФрд░ 1 рдкрд┐рди 40 рдПрдордП рдХреЗ рд▓рд┐рдП рд╣реИред

рд╕реВрдЪрдирд╛ рдПрд▓рдИрдбреА FT232 рдЪрд┐рдк рдХреЗ CBUS3 рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, PWREN # рд╕рдВрдХреЗрдд рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реИ, рдЕрд░реНрдерд╛рддред рдПрд▓рдИрдбреА рдЪрд╛рд▓реВ рд╣реИ рдЬрдм FT232 рдкреАрд╕реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╣реИред рдЖрдк рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рднреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RXTXLED # - рддреЛ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░рддреЗ рд╕рдордп рдПрд▓рдИрдбреА рдмреНрд▓рд┐рдВрдХ рдХрд░реЗрдЧрд╛ред рдпрд╣ FT_PROG рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдкрд┐рди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдШрд░ рдкрд░ рдЙрдмрдВрдЯреВ рдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдмреЛрд░реНрдб рдХреЛ KiCAD рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ Altium рдбрд┐рдЬрд╛рдЗрдирд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рдореИрдВрдиреЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:



рдкреБрд░рд╛рд▓реЗрдЦ KiCAD рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде: Remote_USB_PCB.zip
рдмреЛрд░реНрдб рдПрдХрддрд░рдлрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрд▓рдпреВрдЯреА рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ SOIC рдкреИрдХреЗрдЬ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдмреЛрд░реНрдб рдкрд░ рдЬрдЧрд╣ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдирдХрд╝реНрдХрд╝рд╛рд╢реА / рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди FT232RL рдХреЗ рдкреИрд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХрд╛рдлреА рдЫреЛрдЯреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЯреЛрдирд░ рдХреЛ рдмреЛрд░реНрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирдХрд╝реНрдХрд╝рд╛рд╢реА рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХреБрдЫ рддреЗрдЬ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдХрд╛рдЧрдЬ рдХреЗ рдЕрд╡рд╢реЗрд╖ рд╕реЗ рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛ рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореБрдЭреЗ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдХрд╛рдЯрдирд╛ рдкрдбрд╝рд╛, рдЕрдиреНрдпрдерд╛ рд╡реЗ рд╡рд┐рд▓реАрди рд╣реЛ рдЧрдПред

рд╕рд╛рджрдЧреА рдХреА рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рдХреЗ рдХрд╛рд░рдг, рд╢реБрд░реВ рдореЗрдВ рдмреЛрд░реНрдб рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЗ рдмрд┐рдирд╛ рдерд╛, рдФрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:

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


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ

рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реА (рдПрд╡реАрдЖрд░-рдЬреАрд╕реАрд╕реА) рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреЛрдбрдмреНрд▓реЙрдХреНрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдЯрдо рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдХреЛрдб "рд╕рд╣реА" рдФрд░ "рд╕реБрдВрджрд░" рд╣реЛрдиреЗ рдХрд╛ рдвреЛрдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ рдФрд░ рдмрд╣реБрдд рдЖрд▓реЛрдЪрдирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ (рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧреА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ)ред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ
 /*  - Irobot Roomba    USB-UART (FTDI FT232R).    Atmel ATTINY2313. FUSE-: Fuse Low Byte: CKDIV|CKOUT|SUT|SKSEL| 0 | 1 |10 |0100 | 0x64 Default 1 | 1 |10 |1100 | 0b11101100=0xEC   7.3728  */ #define F_CPU 8E6 //#define __AVR_ATtiny2313__ #include <avr/io.h> //#include <stdio.h> //#include <stdint.h> //#include <stdlib.h> //#include <util/delay.h> //#include <string.h> //#include <avr/pgmspace.h> /*------<>-----*/ // 39477  //39500   25,3  #define P_GEN {TCNT0=0; PORTB |= 0x1F; while (TCNT0 < 93); PORTB &= ~0x1F; while (TCNT0 < 186);} #define TX_LFCR tx_uart(0x0A); tx_uart(0x0D); //Roomba : #define LEFT 129 #define FORWARD 130 #define RIGHT 131 #define SPOT 132 #define DOCK 133 #define CLEAN 136 #define PAUSE 137 #define POWER 138 #define FORWARD_LEFT 139 #define FORWARD_RIGHT 140 /*------<   >------*/ volatile unsigned char data; unsigned char status; /*----------------<:>----------------*/ void init(void) { //    /1: //CLKPR = (1<<CLKPCE); //CLKPR = (0<<CLKPS0)|(0<<CLKPS1)|(0<<CLKPS2)|(0<<CLKPS3); // : PORTD = 0x0; DDRD = 0x0; PORTB = 0x0; DDRB = 0xFF; // UART: UCSRA = 0x0; UCSRB = (1<<RXEN)|(1<<TXEN)|(0<<UCSZ2); UCSRC = (0<<UMSEL)|(0<<USBS)|(1<<UCSZ1)|(1<<UCSZ0); //UBRR = Fosc/16/BR - 1 UBRRH = 0x0; UBRRL = 23; //  UART- 19200 } void ir_tx(unsigned char data_ir) { /* RAW Pronto    Clean: 0000 0069 0000 0008 0071 0027 0023 0071 0023 0071 0023 0071 0071 0027 0023 0071 0023 0071 0023 030B  : 1: __________ 2862uS |988uS |_____ 0: _____ 887uS| 2862uS |__________    ~16870 uS */ int cnt,repeat; // : TCCR0B = (0<<CS12)|(0<<CS11)|(1<<CS10); //   f/1 TCCR1B = (0<<CS12)|(1<<CS11)|(1<<CS10); //   f/64 for (repeat=0;repeat<10;repeat++) { for (cnt=0; cnt<8; cnt++) { TCNT1=0; if (data_ir & (0x80 >> cnt)) { // 1 while (TCNT1 < 330) P_GEN; while (TCNT1 < (330+114)) ; } else { // 0 while (TCNT1 < 113) P_GEN; while (TCNT1 < (330+114)) ; } } TCNT1=0; while (TCNT1 < 1950) ; } } void tx_uart(unsigned char tx_data) { UDR = tx_data; while (!(UCSRA & (1<<UDRE))); } void tx_help(void) { int sc; const unsigned char help1[] = "Use:CSDPWLRF < >"; for (sc=0;sc < 23;sc++) { tx_uart(help1[sc]); } } /*-----------------<  >-----------------------*/ int main(void) { init(); for(;;) { while (!(UCSRA & (1<<RXC))) ; //  status = UCSRA; data = UDR; switch (data) { case '+': PORTB |= (1<<PB6); break; case '-': PORTB &= ~(1<<PB6); break; case 'c': case 'C': ir_tx(CLEAN); TX_LFCR break; case 's': case 'S': ir_tx(SPOT); TX_LFCR break; case 'd': case 'D': ir_tx(DOCK); TX_LFCR break; case 'p': case 'P': ir_tx(PAUSE); TX_LFCR break; case 'w': case 'W': ir_tx(POWER); TX_LFCR break; case 'l': case 'L': ir_tx(LEFT); TX_LFCR break; case 'r': case 'R': ir_tx(RIGHT); TX_LFCR break; case 'f': case 'F': ir_tx(FORWARD); TX_LFCR break; case '<': ir_tx(FORWARD_LEFT); TX_LFCR break; case '>': ir_tx(FORWARD_RIGHT); TX_LFCR break; default: tx_help(); TX_LFCR break; } } } 


рдкреБрд░рд╛рд▓реЗрдЦ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде: Roomba_Remote_USB.zip | рдЕрд▓рдЧ рд╕реЗ рд╣реЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓
рдореИрдВ USB рдЯреЗрдк рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдПрд╡рдбреНрд░реВрдб рдпреВрдЯрд┐рд▓рд┐рдЯреА рдереАред
рдлрд╝реНрдпреВрдЬрд╝-рдмрд┐рдЯреНрд╕ рдХреЛ рдЪрдордХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 avrdude -p t2313 -c usbasp -U lfuse:w:0xEC:m 

рд╣реЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлреНрд▓реИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
 avrdude -p t2313 -c usbasp -U flash:w:./bin/Debug/Roomba_Remote.elf.hex 

рдХрдорд╛рдВрдб рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╡рд░реНрдг рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:
рдЯреАрдордкреНрд░рддреАрдХ
рд╡рд╛рдордПрд▓
рдЖрдЧреЗрдПрдл
рд╕рд╣реАрдЖрд░
рд╕реНрдкреЙрдЯрдПрд╕
рдбреЙрдХрдбреА
рд╕реНрд╡рдЪреНрдЫрд╕реА
рд░реЛрдХреЗрдВрдкреА
рдмрд┐рдЬрд▓реАрдбрдмреНрд▓реНрдпреВ
FORWARD_LEFT<
FORWARD_RIGHT>

рдПрдХ рдФрд░ рдЕрд╡рд┐рднрд╛рдЬрд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╣реИ - рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рджреЗрдЦреЗрдВред ;-)
рдирд┐рдпрдВрддреНрд░рдХ рдПрдХ рд╕рд╣реА рдлреАрдб рдХреЗ рд╕рд╛рде рдЧрд▓рдд рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрди рдлреАрдб рдХреЗ рд╕рд╛рде рд╕рд╣реА рдХрдорд╛рдВрдб рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред

рдХрд╛рдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡реАрдбрд┐рдпреЛ:


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

рдкреБрдирд╢реНрдЪ
рдХреГрдкрдпрд╛ рдореБрдЭреЗ LAN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд░реНрддрдиреА рдФрд░ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In168033/


All Articles