Официальный сайт компании Arduino по адресу arduino.cc
Габариты + дхо на ws2812b
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ср, 29/11/2017 - 21:51
Помогите с кодом пожалуйста. Не могу понять где ошибка. Хочу сделать чтоб дхо включались на отдельном пине.
Проблема в том что когда включен дхо не работают поворотники.
#include <Adafruit_NeoPixel.h> // Подключаем библиотеку int pov1 = 15; //Этим настраиваем скорость поворотника int pov2 = 62; //Этим тоже))) (подбираем под свое авто) const int PinNP = 8; //Пин для подключения светодиодной ленты const int NeoPix = 32; //Кол-во светодиодов в ленте const int butPinLeft = 3; //Пины для подключения датчиков Левый поворот const int butPinRight = 4; //Пины для подключения датчиков Правый поворот const int butPinDRL = 5; //Пин для подключения датчиков Дневных Ходовых Огней Adafruit_NeoPixel strip = Adafruit_NeoPixel(NeoPix, PinNP, NEO_GRB + NEO_KHZ800); void setup() { pinMode(butPinLeft, INPUT); pinMode(butPinRight, INPUT); pinMode(butPinDRL, INPUT); digitalWrite(butPinLeft, LOW); digitalWrite(butPinRight, LOW); digitalWrite(butPinDRL, LOW); strip.begin(); strip.show(); } void loop() { // Aварийка if (digitalRead(butPinLeft) == HIGH && digitalRead(butPinRight) == HIGH) { for (int il=0; il<NeoPix; il++ ) { strip.setPixelColor(NeoPix/2-il, strip.Color(103,31,0)); strip.setPixelColor(il+NeoPix/2, strip.Color(103,31,0)); strip.show(); delay(pov1); } for (int il=0; il<NeoPix; il++ ) { strip.setPixelColor(NeoPix/2-il, strip.Color(0,0,0)); strip.setPixelColor(il+NeoPix/2, strip.Color(0,0,0)); strip.show(); delay(pov1); } delay(pov2); } // ЛЕВЫЙ ПОВОРОТНИК if (digitalRead(butPinLeft) == HIGH && digitalRead(butPinRight) == LOW) { for (int il=0; il<NeoPix; il++ ) { strip.setPixelColor(il+NeoPix/2, strip.Color(103,31,0)); strip.show(); delay(pov1); } for (int il=0; il<NeoPix; il++ ) { strip.setPixelColor(il+NeoPix/2, strip.Color(0,0,0)); strip.show(); delay(pov1); } delay(pov2); } // ПРАВЫЙ ПОВОРОТНИК if (digitalRead(butPinLeft) == LOW && digitalRead(butPinRight) == HIGH) { for (int il=1; il<NeoPix; il++ ) { strip.setPixelColor(NeoPix/2-il, strip.Color(103,31,0)); strip.show(); delay(pov1); } for (int il=1; il<NeoPix; il++ ) { strip.setPixelColor(NeoPix/2-il, strip.Color(0,0,0)); strip.show(); delay(pov1); } delay(pov2); } // ДХО if (digitalRead(butPinDRL) == HIGH) { for (int i=0; i<NeoPix; i++ ) strip.setPixelColor(i, strip.Color(63,63,63)); strip.show(); while(digitalRead(butPinDRL) == HIGH){ delay(50); } for (int is=0; is<NeoPix; is++ ) { for (int i=0; i<NeoPix; i++ ) strip.setPixelColor(i, strip.Color(0,0,0)); strip.show(); delay(10); } } delay(15); } //Shaitan4ik
строки 85-87 какую смысловуб нагрузку несут? Я так понимаю вы вкючили ДХО и у нас появился вечный цикл в этих строчках, пока мы не отключим ДХО