Advertisement
ostapdontstop

g

Nov 28th, 2019
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.17 KB | None | 0 0
  1. #include <Adafruit_NeoPixel.h>  //библ для ленты
  2. #include <EEPROM2.h>            //библ для чего то еще
  3.  
  4. #include <ESP8266WiFi.h>
  5. #include <WiFiClient.h>
  6. #include <ESP8266WebServer.h>
  7. #include <ESP8266mDNS.h>
  8.  
  9. #ifndef STASSID
  10. #define STASSID "your-ssid"
  11. #define STAPSK  "your-password"
  12. #endif
  13.  
  14. const char* ssid = STASSID;
  15. const char* password = STAPSK;
  16. ESP8266WebServer server(80);
  17.  
  18.  
  19.  
  20. int pov1;// = 10;               //настройка скорости поворотника
  21. int pov2 = 20;                  //настройка скорости поворотника (для вашей машины)
  22.  
  23. const int PinNP = 6;            //№ пина для подключения WS2812B
  24. const int NeoPix = 60;          //количество светодиодов в ленте
  25.  
  26. const int left = 11;            //№ пина для подключения левого поворота
  27. const int right = 5;            //№ пина для подключения правого поворота
  28. const int neutral = 9;          //№ пина для подключения нейтралки
  29. const int frequency = 10;       //№ пина для увеличения частоты
  30. const int r = 0, g = 0, b = 0;
  31.  
  32.  
  33. Adafruit_NeoPixel strip = Adafruit_NeoPixel(NeoPix, PinNP, NEO_RGB + NEO_KHZ800); //это я хз для чего
  34.  
  35.  void handleRoot() {
  36.   digitalWrite(led, 1);
  37.   server.send(200, "text/plain", "hello from esp8266!");
  38.   digitalWrite(led, 0);
  39. }
  40.  
  41. void handleNotFound() {
  42.   digitalWrite(led, 1);
  43.   String message = "File Not Found\n\n";
  44.   message += "URI: ";
  45.   message += server.uri();
  46.   message += "\nMethod: ";
  47.   message += (server.method() == HTTP_GET) ? "GET" : "POST";
  48.   message += "\nArguments: ";
  49.   message += server.args();
  50.   message += "\n";
  51.   for (uint8_t i = 0; i < server.args(); i++) {
  52.     message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  53.   }
  54.   server.send(404, "text/plain", message);
  55.   digitalWrite(led, 0);
  56. }
  57. void setup() {                  //инициализация всякого гавна            
  58.     //для первого запуска
  59.     //EEPROM_write(0, pov1);
  60.    
  61.     //Инициализируем последовательный порт на 9600бит/сек:
  62.     Serial.begin(9600);
  63.      
  64.     //Читаем счетчик из EEPROM:
  65.     EEPROM_read(0, pov1);
  66.    
  67.     pinMode(left, INPUT);
  68.     pinMode(right, INPUT);
  69.    
  70.     digitalWrite(left, LOW);
  71.     digitalWrite(right, LOW);
  72.    
  73.     strip.begin();
  74.     strip.show();
  75.  
  76.  
  77.       WiFi.mode(WIFI_STA);
  78.   WiFi.begin(ssid, password);
  79.   Serial.println("");
  80.  
  81.   // Wait for connection
  82.   while (WiFi.status() != WL_CONNECTED) {
  83.     delay(500);
  84.     Serial.print(".");
  85.   }
  86.   Serial.println("");
  87.   Serial.print("Connected to ");
  88.   Serial.println(ssid);
  89.   Serial.print("IP address: ");
  90.   Serial.println(WiFi.localIP());
  91.  
  92.   if (MDNS.begin("esp8266")) {
  93.     Serial.println("MDNS responder started");
  94.   }
  95.  
  96.   server.on("/", handleRoot);
  97.  
  98.   server.on("/left", Left);
  99.   server.on("/right", Right);
  100.   server.on("/neutral", Neutral);
  101.   server.on("/avaria", Emergency);
  102.  
  103.   server.on("/speed-plus", Frequency);
  104.   server.on("/speed-minus", Dequency);
  105.  
  106.  
  107.   server.onNotFound(handleNotFound);
  108.  
  109.   server.begin();
  110.   Serial.println("HTTP server started");
  111. }
  112.  
  113. void Left() {                   //левый поворот
  114.     for (int i = 0; i < NeoPix; ++i) {
  115.         strip.setPixelColor(i + NeoPix/2, strip.Color(r,g,b));
  116.         strip.show();
  117.         delay(pov1);
  118.     }
  119.    
  120.     for (int i = 0; i < NeoPix; ++i) {
  121.         strip.setPixelColor(i+NeoPix/2, strip.Color(0,0,0));
  122.         strip.show();
  123.         delay(pov1);
  124.     }
  125.    
  126.     delay(pov2);
  127. }
  128.  
  129. void Right() {                  //правый поворот
  130.     for (int i = 0; i < NeoPix; ++i) {
  131.         strip.setPixelColor(NeoPix/2-i, strip.Color(r,g,b));
  132.         strip.show();
  133.         delay(pov1);
  134.     }
  135.    
  136.     for (int i = 0; i < NeoPix; ++i) {
  137.         strip.setPixelColor(NeoPix/2-i, strip.Color(0,0,0));
  138.         strip.show();
  139.         delay(pov1);
  140.     }
  141.    
  142.     delay(pov2);
  143. }
  144.  
  145. void Neutral() {                //нейтралка
  146.     pov1 += 2;
  147.     EEPROM_write(0, pov1);
  148. }
  149.  
  150. void Frequency() {              //изменение частоты свечения
  151.     pov1 -= 2;
  152.     EEPROM_write(0, pov1);
  153. }
  154. void Dequency() {              //изменение частоты свечения
  155.     pov1 += 2;
  156.     EEPROM_write(0, pov1);
  157. }
  158.  
  159. void Emergency() {              //аварийка
  160.     for (int i = 0; i < NeoPix; ++i) {
  161.         strip.setPixelColor(NeoPix/2-i, strip.Color(33,33,33));
  162.         strip.setPixelColor(i+NeoPix/2, strip.Color(33,33,33));
  163.         strip.show();
  164.         delay(pov1);
  165.     }
  166.    
  167.     for (int i = 0; i < NeoPix; ++i) {
  168.         strip.setPixelColor(NeoPix/2 - i, strip.Color(0,0,0));
  169.         strip.setPixelColor(i + NeoPix/2, strip.Color(0,0,0));
  170.         strip.show();
  171.         delay(pov1);
  172.     }
  173.    
  174.     delay(pov2);
  175. }
  176.  
  177. void DHO() {                    //ДХО
  178.     for (int i = 0; i < NeoPix; ++i)
  179.         strip.setPixelColor(i, strip.Color(r,g,b));
  180.     delay(pov2-20);
  181.     strip.show();
  182. }
  183.  
  184. void loop() {                   //это типо main
  185.     //Увеличение частоты свечения
  186.     if (digitalRead(frequency) == HIGH)
  187.         Frequency();
  188.    
  189.     //Нейтралка
  190.     if (digitalRead(neutral) == HIGH)
  191.         Neutral();
  192.    
  193.     //Аварийка
  194.     if (digitalRead(left) == HIGH && digitalRead(right) == HIGH)
  195.         Emergency();
  196.    
  197.     //ДХО
  198.     else if (digitalRead(left) == LOW && digitalRead(right) == LOW)
  199.         DHO();
  200.    
  201.     //Лево
  202.     if (digitalRead(left) == HIGH && digitalRead(right) == LOW)
  203.         Left();
  204.    
  205.     //Право
  206.     if (digitalRead(left) == LOW && digitalRead(right) == HIGH)
  207.         Right();
  208.    
  209.     /*
  210.     //Хз что
  211.     if (digitalRead(neutral) == HIGH && digitalRead(frequency) == HIGH){
  212.         for (int i = 0; i < NeoPix; i++ )
  213.             strip.setPixelColor(i, strip.Color(0,0,0));
  214.        
  215.         delay(pov2 - 20);
  216.         strip.show();
  217.         check = 0;
  218.     }
  219.     */
  220.    
  221.     delay(15);
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement