рдХреНрдпрд╛ рдФрд░ рдХреНрдпреЛрдВ?
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдорд┐рдЦрд╛рдЗрд▓ рд╕реИрдирдирд┐рдХреЛрд╡ рдХреЗ рд▓реЗрдЦ " рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдПрдирдХреЛрдбрд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛" рдкрдврд╝рд╛ред рдФрд░ рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рджреВрд╕рд░реЗ рджрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдПрдХ Arduino рдмреЛрд░реНрдб рднреЗрдЬрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рд╕рд░рд▓ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдпрд╛ рдРрд╕рд╛ рд╣реА рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛,
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдПрдирдХреЛрдбрд░ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ред рдПрдирдХреЛрдбрд░ рдПрдХ рдПрдВрдЧрд▓-рдЯреВ-рдХреЛрдб рдХрдирд╡рд░реНрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдЧреНрд░реЗ рдХреЛрдб рд╣реИред рдПрдиреНрдХреЛрдбрд░ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдЗрдирдкреБрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдЬреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╡реЙрд╢рд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдШреВрд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдореЙрдбрд▓ рдХреЛ 3 рдбреА рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдШреБрдорд╛ рд╕рдХрддреЗ рд╣реИрдВред

(рддрд╕реНрд╡реАрд░ рдпрд╣рд╛рдВ рд╕реЗ )
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдирдХреЛрдбрд░ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╕реНрдЯреЛрд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдкреБрд░рд╛рдиреЗ 150 K╬й рдХреЗ рд╡реИрд░рд┐рдПрдмрд▓ рд░реЗрдЬрд╝рд┐рд╕реНрдЯрд░ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдмрд┐рд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдЗрдзрд░-рдЙрдзрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдереЗ:
- Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ;
- рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдПрдВ рдЬреЛ рдПрдирд╛рд▓реЙрдЧ рдкреЛрд░реНрдЯ рд╕реЗ рдмрд╛рдЗрдЯ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЪрд░ рдЕрд╡рд░реЛрдзрдХ рд╢рд╛рдлреНрдЯ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреА рджрд┐рд╢рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред
рдХрдареЛрд░ рдФрд░ рдирд░рдо
Arduino рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧрд╛рдЗрдб рдореЗрдВ, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдирд╛рд▓реЙрдЧ рдЗрди, рдЖрдЙрдЯ рд╕реАрд░рд┐рдпрд▓ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдкрд╣рд▓реА рдФрд░ рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ:

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛: Serial.print рд╕реЗ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдПрдХ Serial.write (рдЖрдЙрдЯрдкреБрдЯрд╡реНрдпреВ) рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
const int analogInPin = A0; // A0
int sensorValue = 0; // ,
void setup() {
Serial.begin(9600); // COM-
}
// A0 COM-
void loop() {
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 0, 255);
Serial.write(outputValue);
delay(10);
}
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо C # рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдореБрдЦреНрдп рдЦрд┐рдбрд╝рдХреА:

рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕:

рдиреЛрдЯ: "рдмрдЯрди" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдЕрднреА рддрдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред
рдпрд╣рд╛рдВ "рд╡рд┐рд╡рд┐рдз" рд╕рдореВрд╣ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдкрд╣рд▓реЗ рдПрдХ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдмрд╛рдХреА рдХреЛ рдЪрдЯрд░ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╡рд┐рд▓рдВрдмрддрд╛ - рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдФрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рджреЗрд░реАред
рдмрдлрд░ - COM рдкреЛрд░реНрдЯ рд╕реЗ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдкрдврд╝реЗ рдЧрдП рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдШрдмрд░рд╛рдирд╛ - рдкрд┐рдЫрд▓реЗ рдирдореВрдиреЗ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдЕрдиреБрдореЗрдп рд╡рд┐рдЪрд▓рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдЪрд░ рдЕрд╡рд░реЛрдз рдХрд░рдиреЗрд╡рд╛рд▓рд╛ рд╢рд╛рдлреНрдЯ рдХреЗ рдШреВрдордиреЗ рдХреА рджрд┐рд╢рд╛ рдХрд╛ рдмрдХрдмрдХ рджрдорди рдФрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд╕реЗ рдмрдлрд░ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ (рдмрдлрд░ рдкреИрд░рд╛рдореАрдЯрд░) рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ;
- рдпрджрд┐ рдмрдлрд░ рдореЗрдВ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдФрд░ рдЬрд┐рдЯрд░ рдореВрд▓реНрдп рдХреЗ рдпреЛрдЧ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╢рд╛рдлреНрдЯ рджрд╛рдИрдВ рдУрд░ рдШреВрдорддреА рд╣реИ;
- рдпрджрд┐ рдмрдлрд╝рд░ рдореЗрдВ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдФрд░ рдЬрд┐рдЯрд░ рдореВрд▓реНрдп рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╢рд╛рдлреНрдЯ рдмрд╛рдИрдВ рдУрд░ рдШреВрдорддрд╛ рд╣реИред
рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдиреБрдХрд╕рд╛рди:
- рд╢рд╛рдлреНрдЯ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЙрд╕ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдХреА рджреЗрд░реА;
- рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЛрдг рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдХреБрдВрдЬреА рдХреЛ рдПрдХ рдмрд╛рд░ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рд╢рд╛рдлреНрдЯ рдХреЛ рдШреБрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдмрдлрд░ рдореЗрдВ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ, 10, рдФрд░ рдЕрдВрддрд┐рдо - 30 рдХрд╣реЗрдВрдЧреЗ), рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕реЗ рдПрдХ рдХреНрд▓рд┐рдХ рдореЗрдВ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЛрдб:
int[] buffer = new int[(int)conf.buffer]; // Buffer
int bufferTop = (int)conf.buffer - 1;
for (int i = 0; i < conf.buffer; i++)
{
buffer[i] = sp.ReadByte();
}
if (buffer[bufferTop] > (buffer[0] + conf.jitter))
{
// тАЬтАЭ
}
else if (buffer[bufferTop] < (buffer[0] - conf.jitter))
{
// тАЬтАЭ
}
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдЕрд░реБрдбрд┐рдиреЛ рдФрд░ рдПрдХ рдЖрд░реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЗрдЪ рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: http://sourceforge.net/projects/keyemu/files/KeyEmu-0.1b-source.zip/download
рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрд┐рдд .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рд╡реНрдпрдХреНрддрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗ рд╕рдХрддрд╛ рд╣реИ - рдПрдХ рдХреЗ рдмрдЬрд╛рдп рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдпрд╛ "рдХреБрдВрдЬреА" рджрдмрд╛рдПрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреБрдВрдЬреА, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡реЗрджрди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдмрд╕ рдЕрдирдВрдд рдХреЛ "рдЪрдордХрд╛рдирд╛" рдкреЙрд▓рд┐рд╢ рдХрд░рддрд╛ рд╣реИред