Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Adafruit_NeoPixel.h> //библ для ленты
- #include <EEPROM2.h> //библ для чего то еще
- #include <ESP8266WiFi.h>
- #include <WiFiClient.h>
- #include <ESP8266WebServer.h>
- #include <ESP8266mDNS.h>
- #ifndef STASSID
- #define STASSID "your-ssid"
- #define STAPSK "your-password"
- #endif
- const char* ssid = STASSID;
- const char* password = STAPSK;
- ESP8266WebServer server(80);
- int pov1;// = 10; //настройка скорости поворотника
- int pov2 = 20; //настройка скорости поворотника (для вашей машины)
- const int PinNP = 6; //№ пина для подключения WS2812B
- const int NeoPix = 60; //количество светодиодов в ленте
- const int left = 11; //№ пина для подключения левого поворота
- const int right = 5; //№ пина для подключения правого поворота
- const int neutral = 9; //№ пина для подключения нейтралки
- const int frequency = 10; //№ пина для увеличения частоты
- const int r = 0, g = 0, b = 0;
- Adafruit_NeoPixel strip = Adafruit_NeoPixel(NeoPix, PinNP, NEO_RGB + NEO_KHZ800); //это я хз для чего
- void handleRoot() {
- digitalWrite(led, 1);
- server.send(200, "text/plain", "hello from esp8266!");
- digitalWrite(led, 0);
- }
- void handleNotFound() {
- digitalWrite(led, 1);
- String message = "File Not Found\n\n";
- message += "URI: ";
- message += server.uri();
- message += "\nMethod: ";
- message += (server.method() == HTTP_GET) ? "GET" : "POST";
- message += "\nArguments: ";
- message += server.args();
- message += "\n";
- for (uint8_t i = 0; i < server.args(); i++) {
- message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
- }
- server.send(404, "text/plain", message);
- digitalWrite(led, 0);
- }
- void setup() { //инициализация всякого гавна
- //для первого запуска
- //EEPROM_write(0, pov1);
- //Инициализируем последовательный порт на 9600бит/сек:
- Serial.begin(9600);
- //Читаем счетчик из EEPROM:
- EEPROM_read(0, pov1);
- pinMode(left, INPUT);
- pinMode(right, INPUT);
- digitalWrite(left, LOW);
- digitalWrite(right, LOW);
- strip.begin();
- strip.show();
- WiFi.mode(WIFI_STA);
- WiFi.begin(ssid, password);
- Serial.println("");
- // Wait for connection
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.print("Connected to ");
- Serial.println(ssid);
- Serial.print("IP address: ");
- Serial.println(WiFi.localIP());
- if (MDNS.begin("esp8266")) {
- Serial.println("MDNS responder started");
- }
- server.on("/", handleRoot);
- server.on("/left", Left);
- server.on("/right", Right);
- server.on("/neutral", Neutral);
- server.on("/avaria", Emergency);
- server.on("/speed-plus", Frequency);
- server.on("/speed-minus", Dequency);
- server.onNotFound(handleNotFound);
- server.begin();
- Serial.println("HTTP server started");
- }
- void Left() { //левый поворот
- for (int i = 0; i < NeoPix; ++i) {
- strip.setPixelColor(i + NeoPix/2, strip.Color(r,g,b));
- strip.show();
- delay(pov1);
- }
- for (int i = 0; i < NeoPix; ++i) {
- strip.setPixelColor(i+NeoPix/2, strip.Color(0,0,0));
- strip.show();
- delay(pov1);
- }
- delay(pov2);
- }
- void Right() { //правый поворот
- for (int i = 0; i < NeoPix; ++i) {
- strip.setPixelColor(NeoPix/2-i, strip.Color(r,g,b));
- strip.show();
- delay(pov1);
- }
- for (int i = 0; i < NeoPix; ++i) {
- strip.setPixelColor(NeoPix/2-i, strip.Color(0,0,0));
- strip.show();
- delay(pov1);
- }
- delay(pov2);
- }
- void Neutral() { //нейтралка
- pov1 += 2;
- EEPROM_write(0, pov1);
- }
- void Frequency() { //изменение частоты свечения
- pov1 -= 2;
- EEPROM_write(0, pov1);
- }
- void Dequency() { //изменение частоты свечения
- pov1 += 2;
- EEPROM_write(0, pov1);
- }
- void Emergency() { //аварийка
- for (int i = 0; i < NeoPix; ++i) {
- strip.setPixelColor(NeoPix/2-i, strip.Color(33,33,33));
- strip.setPixelColor(i+NeoPix/2, strip.Color(33,33,33));
- strip.show();
- delay(pov1);
- }
- for (int i = 0; i < NeoPix; ++i) {
- strip.setPixelColor(NeoPix/2 - i, strip.Color(0,0,0));
- strip.setPixelColor(i + NeoPix/2, strip.Color(0,0,0));
- strip.show();
- delay(pov1);
- }
- delay(pov2);
- }
- void DHO() { //ДХО
- for (int i = 0; i < NeoPix; ++i)
- strip.setPixelColor(i, strip.Color(r,g,b));
- delay(pov2-20);
- strip.show();
- }
- void loop() { //это типо main
- //Увеличение частоты свечения
- if (digitalRead(frequency) == HIGH)
- Frequency();
- //Нейтралка
- if (digitalRead(neutral) == HIGH)
- Neutral();
- //Аварийка
- if (digitalRead(left) == HIGH && digitalRead(right) == HIGH)
- Emergency();
- //ДХО
- else if (digitalRead(left) == LOW && digitalRead(right) == LOW)
- DHO();
- //Лево
- if (digitalRead(left) == HIGH && digitalRead(right) == LOW)
- Left();
- //Право
- if (digitalRead(left) == LOW && digitalRead(right) == HIGH)
- Right();
- /*
- //Хз что
- if (digitalRead(neutral) == HIGH && digitalRead(frequency) == HIGH){
- for (int i = 0; i < NeoPix; i++ )
- strip.setPixelColor(i, strip.Color(0,0,0));
- delay(pov2 - 20);
- strip.show();
- check = 0;
- }
- */
- delay(15);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement