Габариты + дхо на 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 какую смысловуб нагрузку несут? Я так понимаю вы вкючили ДХО и у нас появился вечный цикл в этих строчках, пока мы не отключим ДХО