ЁЯФ╣ рдпреЛрдЬрдирд╛: рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ
1я╕ПтГг рдж Arduino R4 рд╡рд╛рдИрдлрд╝рд╛рдИ рдПрдХ рдмрдирд╛рддрд╛ рд╣реИ рд╡реЗрдм рд╕рд░реНрд╡рд░.
2я╕ПтГг рдПрдХ рд╕рд░рд▓ рд╡реЗрдмрдкреЗрдЬ (рдмрдЯрди/рд╕реНрд▓рд╛рдЗрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде) рдореЛрдЯрд░реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
3я╕ПтГг рдж рдЖрд░реНрдбреБрдЗрдиреЛ рдмрдЯрди рджрдмрд╛рдиреЗ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рд╕рд░реНрд╡реЛ + рд╕реНрдЯреЗрдкрд░ рдореЛрдЯрд░реНрд╕ рддрджрдиреБрд╕рд╛рд░ред
ЁЯФ╣ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ
тЬЕ Arduino R4 рд╡рд╛рдИрдлрд╝рд╛рдИ
тЬЕ SG90 рд╕рд░реНрд╡реЛ
тЬЕ 28BYJ-48 рд╕реНрдЯреЗрдкрд░ + ULN2003 рдбреНрд░рд╛рдЗрд╡рд░
тЬЕ рд╡рд╛рдИ-рдлрд╛рдИ рдиреЗрдЯрд╡рд░реНрдХ (рд░рд╛рдЙрдЯрд░ рдпрд╛ рд╣реЙрдЯрд╕реНрдкреЙрдЯ)
ЁЯФ╣ рдЪрд░рдг 1: рдореЛрдЯрд░реНрд╕ рдХреЛ Arduino рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

ЁЯФ╕ SG90 рд╕рд░реНрд╡реЛ
| рдЗрдорджрд╛рджреА Pin | Arduino Pin |
|---|---|
| VCC (рд▓рд╛рд▓) | 5V |
| GND (рдХрд╛рд▓реА) | GND |
| рд╕рд┐рдЧреНрдирд▓ (рдирд╛рд░рдВрдЧреА) | Pin 6 |
ЁЯФ╕ 28BYJ-48 рд╕реНрдЯреЗрдкрд░ (ULN2003 рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
| рдпреВрдПрд▓рдПрди2003 Pin | Arduino Pin |
|---|---|
| IN1 | 8 |
| IN2 | 9 |
| IN3 | 10 |
| IN4 | 11 |
| VCC | 5V |
| GND | GND |
ЁЯФ╣ рдЪрд░рдг 2: Arduino рдХреЛрдб (рд╡рд╛рдИрдлрд╝рд╛рдИ рд╡реЗрдм рд╕рд░реНрд╡рд░)
рдпрд╣ рдХреЛрдб рдПрдХ рд╕реЗрдЯ рдЕрдк рдХрд░рддрд╛ рд╣реИ рд╡реЗрдмрдкреЗрдЬ рджреЛрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡реЛ рдФрд░ рд╕реНрдЯреЗрдкрд░ рдореЛрдЯрд░.
#include <WiFiS3.h>
#include <Servo.h>
#include <Stepper.h>
const char* ssid = "YOUR_WIFI_NAME"; // Change to your WiFi
const char* password = "YOUR_WIFI_PASS"; // Change to your WiFi password
WiFiServer server(80); // Start web server on port 80
Servo myServo;
const int stepsPerRevolution = 2048;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
Serial.begin(115200);
myServo.attach(6);
myStepper.setSpeed(10);
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to WiFi!");
Serial.println(WiFi.localIP()); // Print IP Address
server.begin(); // Start web server
}
void loop() {
WiFiClient client = server.available();
if (client) {
String request = client.readStringUntil('\r');
client.flush();
if (request.indexOf("/servo_up") != -1) {
myServo.write(180); // Move Servo UP
} else if (request.indexOf("/servo_down") != -1) {
myServo.write(0); // Move Servo DOWN
} else if (request.indexOf("/stepper_left") != -1) {
myStepper.step(-50); // Stepper Left
} else if (request.indexOf("/stepper_right") != -1) {
myStepper.step(50); // Stepper Right
}
// HTML Webpage
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println();
client.println("<html><body>");
client.println("<h2>Motor Control</h2>");
client.println("<button onclick=\"fetch('/servo_up')\">Servo Up</button>");
client.println("<button onclick=\"fetch('/servo_down')\">Servo Down</button>");
client.println("<br><br>");
client.println("<button onclick=\"fetch('/stepper_left')\">Stepper Left</button>");
client.println("<button onclick=\"fetch('/stepper_right')\">Stepper Right</button>");
client.println("</body></html>");
client.println();
delay(100);
}
}
ЁЯФ╣ рдЪрд░рдг 3: рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
1я╕ПтГг рдХреЛрдб рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдЕрдкрдиреЗ Arduino R4 рд╡рд╛рдИрдлрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП.
2я╕ПтГг рд╕реАрд░рд┐рдпрд▓ рдореЙрдирд┐рдЯрд░ рдЦреЛрд▓реЗрдВ тЖТ рдпрд╣ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдЖрдИрдкреА тАЛтАЛрдкрддреЗ (рдЬреИрд╕реЗ, 192.168.1.100).
3я╕ПтГг рдЕрдкрдиреЗ рдлрд╝реЛрди рдпрд╛ PC рдкрд░рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓реЗрдВ рдФрд░ рдпрд╣рд╛рдВ рдЬрд╛рдПрдВ:
ЁЯСЙ http://YOUR_IP_ADDRESS/
4я╕ПтГг рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛ рдФрд░ рд╕реНрдЯреЗрдкрд░ рд╡рд╛рдпрд░рд▓реЗрд╕ рддрд░реАрдХреЗ рд╕реЗ! ЁЯОотЬи
ЁЯФ╣ рдЕрдЧрд▓реЗ рдЪрд░рдг рдФрд░ рдЙрдиреНрдирдпрди
ЁЯФе рд╕реНрд▓рд╛рдЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рд╕рд░реНрд╡реЛ рдХреЛрдг рдХреЛ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
ЁЯФе рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЬреИрд╕реЗ рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ рд╕реНрдЯреЗрдкрд░ рдЧрддрд┐ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП.
ЁЯФе рдмреЗрд╣рддрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рд╡рд╛рд▓рд╛ рд╡реЗрдмрдкреЗрдЬ рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ рдореЛрдмрд╛рдЗрд▓-рдЕрдиреБрдХреВрд▓ рдпреВрдЖрдИ рдХреЗ рд╕рд╛рдеред