Β Β usb.Task();
}
// ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ
void keyPressed()
{
Β Β char key = keyboard.getKey();
Β Β Serial.write(key);
}
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° KeyboardController Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ keyPressed Π² ΡΠΊΠ΅ΡΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°Π²ΠΈΡΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ keyReleased. Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°ΠΆΠ°ΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° keyboard:
β’ getModifiers β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±ΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΠΊΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ± ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π½Π°ΠΆΠ°ΡΡΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ°Ρ -ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ (Shift, Ctrl ΠΈ Ρ.Π΄.). ΠΠΎΠ΄Ρ ΠΊΠ»Π°Π²ΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://arduino.cc/en/Reference/GetModifiers;
β’ getKey β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ASCII ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ;
β’ getOemKey β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΌΡΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π±ΡΠΊΠ²Ρ L, R, U ΠΈΠ»ΠΈ D Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ β Π²Π»Π΅Π²ΠΎ, Π²ΠΏΡΠ°Π²ΠΎ, Π²Π²Π΅ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ·:
// sketch_11_06_mouse_due
#include <MouseController.h>
USBHost usb;
MouseController mouse(usb);
void setup()
{
Β Β Serial.begin(9600);
Β Β Serial.println("Program started");
Β Β delay(200);
}
void loop()
{
Β Β usb.Task();
}
// ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΡΡΠΈ
void mouseMoved()
{
Β Β int x = mouse.getXChange();
Β Β int y = mouse.getYChange();
Β Β if (x > 50) Serial.print("R");
Β Β if (x < -50) Serial.print("L");
Β Β if (y > 50) Serial.print("D");
Β Β if (y < -50) Serial.print("U");
}
ΠΠΎΠΌΠΈΠΌΠΎ mouseMoved Π² ΡΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡ ΠΌΡΡΠΈ:
β’ mouseDragged β ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠΈ Ρ Π½Π°ΠΆΠ°ΡΠΎΠΉ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ;
β’ mousePressed β ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ, ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ mouse.getButton Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ LEFT_BUTTON, RIGHT_BUTTON ΠΈΠ»ΠΈ MIDDLE_BUTTON Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ;
β’ mouseReleased β ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ½ΡΠΌ Π΄Π»Ρ mousePressed ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Arduino Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ USB.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Arduino ΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ ΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ ΡΠ΅ΡΡΠΌ, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ethernet ΠΈ WiFi.
12. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
ΠΠ±Π»Π°ΡΡΡ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ Π²Π΅ΡΠ΅ΠΉ, ΠΏΡΠΎΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΡΠΈΠ½ΡΠ΅ΡΡ, ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π±ΡΡΠΎΠ²ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΠΎΠ»ΠΎΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ, Π½ΠΎ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ. ΠΠ»Π°ΡΡ Arduino Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Etherner ΠΈΠ»ΠΈ WiFi. Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Arduino, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅ΡΡΠ΅Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ.
Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
Π£ Π²Π°Ρ Π½Π° Π²ΡΠ±ΠΎΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Arduino ΠΊ ΡΠ΅ΡΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ethernet Ρ Arduino Uno, ΠΈΠ»ΠΈ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Arduino ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ Ethernet, ΠΈΠ»ΠΈ ΡΠ°ΡΠΊΠΎΡΠ΅Π»ΠΈΡΡΡΡ ΠΈ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ WiFi Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ethernet
ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ethernet (ΡΠΈΡ. 12.1) Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠΈ Ethernet, Π½ΠΎ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»ΠΎΡ Π΄Π»Ρ ΠΊΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ microSD, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» Β«ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SD-ΠΊΠ°ΡΡΡΒ» Π³Π»Π°Π²Ρ 6).

Π ΠΈΡ. 12.1. ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ethernet
ΠΠ° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ° W5100, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ethernet Π½Π° Π½Π°Π±ΠΎΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ ENC28J60. ΠΠΎ ΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅ ΠΏΠ»Π°ΡΡ Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Ethernet, ΠΈ Π»ΡΡΡΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡ , Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π² ΡΡΠ΅Π΄ΡΡΠ²Π°Ρ .
Arduino Ethernet/EtherTen
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΊΡΠΏΠΊΠ° Arduino ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ Ethernet. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Arduino Ethernet, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡΠΎΠ΄Π°ΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΠ»ΠΎΡ Π°Ρ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ Uno ΠΏΠ»Π°ΡΠ° EtherTen, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Freetronics (www.freetronics.com) (ΡΠΈΡ. 12.2).

Π ΠΈΡ. 12.2. ΠΠ»Π°ΡΠ° EtherTen
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ»Π°ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Arduino. ΠΠ»Π°ΡΡ Arduino Ethernet ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎ Π»ΠΈΠ½ΠΈΡΠΌ Ethernet (Power over Ethernet, PoE) ΡΠ΅ΡΠ΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΎΡ PoE, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ², ΠΈΠ΄ΡΡΠΈΡ ΠΊ ΠΏΠ»Π°ΡΠ΅ Arduino, Π΄ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±Π΅Π»Ρ Ethernet. ΠΠ»Π°ΡΡ EtherTen Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠΆΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Π½Π° ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ PoE. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ PoE Π² ΠΏΠ»Π°ΡΠ°Ρ EtherTen ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ www.doctormonk.com/2012/01/power-over-ethernet-poe.html.
Arduino ΠΈ WiFi
ΠΠ»Π°Π²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΡΠ΅ΡΠ΅Π· Ethernet Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Π±Π΅Π»Ρ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Arduino ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ², ΡΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ WiFi (ΡΠΈΡ. 12.3). ΠΡΠΈ ΠΏΠ»Π°ΡΡ ΡΡΠΎΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΡΠΎΠ³ΠΎ, Π½ΠΎ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Sparkfun WiFly (https://www.sparkfun.com/products/9954).

Π ΠΈΡ. 12.3. ΠΠ»Π°ΡΠ° Arduino WiFi
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ethernet
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ethernet ΠΏΡΠ΅ΡΠ΅ΡΠΏΠ΅Π»Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠΏΡΡΠΊΠ° Π² 2011 Π³ΠΎΠ΄Ρ Π²Π΅ΡΡΠΈΠΈ Arduino 1.0. ΠΠ½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ»Π°ΡΠ΅ Arduino Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ Ethernet Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠΎΠ»ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ»Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌ), Π½ΠΎ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° (Dynamic Host Configuration Protocol, DHCP), Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠ»Π°ΡΠ΅ IP-Π°Π΄ΡΠ΅Ρ.
ΠΠ ΠΠΠΠ§ΠΠΠΠ
ΠΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ethernet ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Arduino: http://arduino.cc/en/reference/ethernet10.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ ΠΏΠΎ ΡΠ΅ΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΡΡ. ΠΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Ethernet.begin(). ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΡΠ½ΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°:
Ethernet.begin(mac, ip, dns, gateway, subnet)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
β’ Mac β MAC-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΊΠ°ΡΡΡ (Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π΅ΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅);
β’ Ip β IP-Π°Π΄ΡΠ΅Ρ ΠΏΠ»Π°ΡΡ (ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ);
β’ Dns β IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½ (Domain Name Server, DNS);
β’ Gateway β IP-Π°Π΄ΡΠ΅Ρ ΡΠ»ΡΠ·Π° Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ (Π²Π°Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΎΡ);
β’ Subnet β ΠΌΠ°ΡΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ.
ΠΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ³Π°ΡΡΠΈΠΌ ΡΠ΅ΠΌ, ΠΊΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠΈ Π²ΡΡΡΠ½ΡΡ. Π ΡΡΠ°ΡΡΡΡ, Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΡΠΎΠΌΠ΅ mac, ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΈ Π² 90% ΡΠ»ΡΡΠ°Π΅Π² Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ mac ΠΈ ip ΠΈΠ»ΠΈ, Π²Π΅ΡΡΠΌΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ mac. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±ΡΠ΄ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.