Интернет-магазин «Неглупый Дом»
В других проектах джойстик KY-023 управляет цветом или включает реле резким отклонением. Здесь он на ESP8266 просто отдаёт значения обеих осей как веб-страницу — панель наблюдения без управления чем-либо.
Считывание осей такое же: два потенциометра читаются `analogRead()` (0-1023) по X и Y. Разница — ESP8266 подставляет оба значения в HTML-страницу по каждому запросу вместо управления цветом или реле.
Полезно для отладки — перед заданием порогов в проекте с реле удобно сначала посмотреть на реальные числа в покое и в крайних положениях своего экземпляра.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* WIFI_SSID = "ваша_сеть";
const char* WIFI_PASSWORD = "ваш_пароль";
ESP8266WebServer server(80);
const int X_PIN = A0;
const int Y_PIN = A1;
void handleRoot() {
String html = "<html><body><p>X: " + String(analogRead(X_PIN)) + "</p>";
html += "<p>Y: " + String(analogRead(Y_PIN)) + "</p></body></html>";
server.send(200, "text/html", html);
}
void setup() {
Serial.begin(9600);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) delay(500);
server.on("/", handleRoot);
server.begin();
}
void loop() {
server.handleClient();
}
Библиотеки ESP8266WiFi/ESP8266WebServer входят в пакет поддержки ESP8266. На ESP8266 часто доступен только один аналоговый вход — для второй оси может потребоваться внешний АЦП, уточните по маркировке вашей платы.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 311 ₽ 280 ₽ (экономия 31 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.