Arduino рд╕реЗ рдПрдХ USB рдХреБрдВрдЬреА рдмрдирд╛рдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░рд╣рд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

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

рдирд┐рдпреЛрдХреНрд╡реЗрд╕реНрдЯ -2016 рдХреЗ рдЗрди-рдкрд░реНрд╕рди рдЯреВрд░ рдкрд░, рд╣рдордиреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рд▓реНрдпреВрдбрд┐рдиреЛ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдпреВрдПрд╕рдмреА рдХреБрдВрдЬреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдХрд╛рд░реНрдп рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ Arduino рдкрд░ рдПрдХ рдмрд▓реНрдХрд┐ рдЖрджрд┐рдо рдкреНрд░рд╛рдзрд┐рдХрд░рдг рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕реНрд╡рдпрдВ рдПрдХ USB рдХреБрдВрдЬреА рдХреЛ рдирдХрд▓реА рдХрд░рдирд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдп рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдерд╛ред Arduino рджреНрд╡рд╛рд░рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдХрд╛ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдХреИрд╕реЗ рдХрдард┐рди рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдбреНрд░рд╛рдЗрд╡рд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдмреЛрдЯрдиреЗрдЯ рд╣реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд╕реБрд░рдХреНрд╖рд╛ рддрдХрдиреАрдХ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдкрдврд╝рддреЗ рд╣реИрдВред


Arduino рд╕реЗ рдПрдХ USB рдХреБрдВрдЬреА рдмрдирд╛рдирд╛


рд╣рдорд╛рд░рд╛ рдЪреБрдирд╛ рд╣реБрдЖ Arduino рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ, рдЬрд┐рд╕рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХ рдПрдХ рд╕рд░рд▓ I / O рдмреЛрд░реНрдб рд╣реИрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ / рд╡рд╛рдпрд░рд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рдпрд╣ рд╕рд░рд▓ рд╣реИ - Atmel рдХреЗ ATmel рдкреНрд░реЛрд╕реЗрд╕рд░, I / O рдкрд┐рди рдФрд░ рдПрдХ USB рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдмреЛрд░реНрдбред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореВрд▓ рдФрд░ рдкреНрдпрд╛рд░реА рд╕реА рдХреЗ рд╕рдорд╛рди рд╣реИ, рдФрд░ рдпреВрдПрд╕рдмреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдХреЛрдИ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ COM рдкреЛрд░реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



Atmel ATmega328 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ Arduino рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЦрд╛рдореА рдкрд╛рдИ рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЦреЛрдЬ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ "рдЯреНрд╡рд┐рд╕реНрдЯ", рдЕрд░реНрдерд╛рддреН, рд░реИрдо (SRAM) рдХрд╛ рдмрд╣реБрдд рдорд╛рдореВрд▓реА рдЖрдХрд╛рд░ - рдХреЗрд╡рд▓ 2 KB рдФрд░ рдЧреИрд░-рд╡рд╛рд╖реНрдкрд╢реАрд▓ рдореЗрдореЛрд░реА (EEPROM) - 1 KBред рдЗрд╕рд▓рд┐рдП, Arduino рдкрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛: рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдЪрд╛рд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ (рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреМрдерд╛) рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 26x26 рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ 26 * 26 * 2 * 4 = 5408 рдмрд╛рдЗрдЯ рд▓реЗрдЧрд╛ред рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 2KB рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред

рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЖрдХрд╛рд░ рдЧреБрдгрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:



рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рде, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реВрдХреНрд╖реНрдо рдмрд┐рдВрджреБ рд╣реИ: рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирдВрдмрд░ 3 рдХреЗ рдмрдЬрд╛рдп, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирдВрдмрд░ 2 рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рднрдВрдбрд╛рд░рдг рд▓рд╛рдЧрдд рдХреЛ 4056 рдмрд╛рдЗрдЯ рддрдХ рдХрдо рдХрд░рддрд╛ рд╣реИред
рддреЛ 20x20 рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдЧреЗ рд╣рдо рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдЗрд╕ рдЖрдХрд╛рд░ рдХреЗ рд╕рдЯреАрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдХреНрдпреЛрдВ рд▓рд┐рдпрд╛ рд╣реИ:

void read_matrix_a()
{
int i = 0;
int j = 0;
while(j < 20)
{
while (Serial.available() < 20 * 2) // , 40
{ // 40 -- 20 int
}
for(i = 0; i < 20; i++)
{
unsigned int tmp1 = Serial.read(); //
unsigned int tmp2 = Serial.read();
mat_a[j][i] = tmp1 * 256 + tmp2; //
}
j++;
}
}

рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ 26 рдЧреБрдгрд╛ рдмрд╛рдЗрдЯреНрд╕ (рдПрдХ рдкрдВрдХреНрддрд┐) - рдХреБрд▓, 2730 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдореА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдПрдХ рдЧреБрдгрд╛ рд╡рд╛рд▓реЗ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ 2KB рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди, рд╡рд┐рдЪрд┐рддреНрд░ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, 3KB рд╕реЗ рдХрдо рд╣реИ! рдпрд╣рд╛рдБ рд╣рдо рддреБрд░рдВрдд рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ EEPROM рд╣реИ, рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рдЬрдЧрд╣ рд╣реИ! рд╣рдо рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝рддреЗ рд╣реИрдВ - рдПрдХ SRAM рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рджреВрд╕рд░рд╛ EEPROM рдореЗрдВред рддреАрд╕рд░реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдП рдФрд░ рдмреА рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

void matrix_multiply()
{
int i, j, r;
int out_counter;
for(i = 0; i < 20; i++) // A
{
curr_mul_string = i; //
for(j = 0; j < 20; j++)
tmp_string[j] = mat_a[curr_mul_string][j]; //
for(j = 0; j < 20; j++) // B
{
unsigned long sum = 0;
for(r = 0; r < 20; r++) //
{
sum += (get_a(i,r) % 32768) * (get_b(j, r) % 32768);
sum %= 32768;
}
set_a(i, j, sum); // A
}
}
}
// get_a(x, y), get_b(x, y) (x, y)
// set_a(x, y, val) (x, y) A

рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдп


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

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ 26x26 рдореИрдЯреНрд░рд┐рд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред Arduino рджреНрд╡рд╛рд░рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:



рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ "рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг" рд╢реБрд░реВ рдХрд┐рдпрд╛ (рд╣рдорд╛рд░реЗ рдХрд░реНрдордЪрд╛рд░реА, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрд░реБрдбрд┐рдиреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдирд╣реАрдВ рдереЗ, рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рдереЗ)ред рдпрд╣рд╛рдБ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╕рд╛рдордиреЗ рдЖрдИрдВ: рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред рдЕрд░реНрдбреБрдЗрдиреЛ рдХреЗ рдкрд╛рд╕ SRAM рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмреЛрд░реНрдб рдЦреБрдж рдХреЛ рдЕрдВрддрд░рд╛рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрд░реБрдбрд┐рдиреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрдм рд╕рдорд╕реНрдпрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХреА рдЧрдИ рдереА, рддреЛ EEPROM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрднреА рднреА "рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ" рдХреЛ рдирд╣реАрдВ рд╣реБрдЖ ...

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

// -
void loop()
{
int i,j;
read_matrix_a(); // A
read_matrix_b(); // B
read_matrix_c(); // C ()
matrix_multiply(); // A B A
matrix_multiply(); // A ( ) B A
write_matrix_a(); //
Serial.write(0xB4); // ID
Serial.write(0x36);
Serial.write(0x5F);
Serial.write(0x24);
}

рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдЦреЛрдЬ рдкреВрд░рд╛ рдХрд░рдирд╛

рддреЛ, рдмреЛрд░реНрдбреЛрдВ рдХреЛ рдЦрд░реАрджрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрдХреНрд╕реЗ рдореЗрдВ рд╕реАрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рд╕реМрдВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрд▓рд╛рд╢ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИ! рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рдХреЗрд╡рд▓ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╕рдордЭрджрд╛рд░ рдмрдХреНрд╕реЛрдВ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рдереЗред рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ "show_results.sh" рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд╛рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдпреВрдПрд╕рдмреА рдорд╛рдЙрд╕ / рдХреАрдмреЛрд░реНрдб рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдкреЛрд░реНрдЯ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рд╕рдореЗрдВ рдЪрд╛рдмрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред



рдлрд┐рд░, рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдлрд┐рд░ рднреА рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдЬреЛ рдЙрдирд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдереЗ:
1. рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрд▓реНрдЯрд╛
2. рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдмреАрдЪ рд╡рд┐рдирд┐рдордп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЕрд▓рдЧрд╛рд╡
3. рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд╡рд┐рдирд┐рдордп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
4. рд▓рд╛рдн!

рддреАрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереА, рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдкреИрджрд╛ рд╣реБрдИрдВред рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рд╡рд╛рд▓ рдерд╛: "рдореИрдВрдиреЗ рд╕рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрд╛, рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреНрдпрд╛ рд╣реИ?" рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдХреЗ рджреМрд░рд╛рди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд▓реЛрдЧ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдХрд░ рд░рд╣реЗ рдереЗ: рдЙрдиреНрд╣реЛрдВрдиреЗ рдореИрдЯреНрд░рд┐рд╕ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдореЗрдВ, рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрдлрд╝рд░ рдереЗ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд╕реНрдореГрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ!)ред рд╕рдм рдХреБрдЫ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

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

рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ

NeoQUEST-2014 рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ "рд▓реЛрд╣рд╛" рд╡рд╛рд▓реЗ рдирдП рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ! рдСрдирд▓рд╛рдЗрди рджреМрд░реЗ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг NeoQUEST-2014 рдЬрдирд╡рд░реА рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдореЗрдВ рд╕рдлреЗрдж рд░рд╛рддреЛрдВ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рджреМрд░рд╛ рд╣реЛрдЧрд╛! рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рднреА рдЕрдкрдбреЗрдЯ рдкрд░ рдирдЬрд░ рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

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


All Articles