Нужна помощь по редактированию скейча
- Войдите на сайт для отправки комментариев
Втр, 16/01/2018 - 17:41
Всем привет, вобщем занялся проектом для фар, есть код, но мне нужно убрать кое какие функции в нем, а именно:
// цикл до трех - сигнал "перестроения" , при кратковременном включении мигает 3 раза
и
// если во время мигания поворотника получаем еще плюcовой сигнал, то обнуяем счетчик, чтобы поворотник мигал еще как минимум 3 раза
и нужно сделать так что бы диоды ws2812 пробегали один раз, так как в машине работает реле.
в программировании не силен, только начал изучать, буду благодарен за помощь
#include <Adafruit_NeoPixel.h> // подключаем библиотеку int count = 7; // количество диодов на одной фаре Adafruit_NeoPixel strip = Adafruit_NeoPixel(count, 7, NEO_GRB + NEO_KHZ800); //Инициализируем первый поворотник на 7 цифровом выходе Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(count, 8, NEO_GRB + NEO_KHZ800);//Инициализируем второй поворотник на 8 цифровом выходе void setup() { pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, INPUT); strip.begin(); strip.show(); strip2.begin(); strip2.show(); } void loop() { { if ((digitalRead(5) == HIGH) and (digitalRead(6) == HIGH)) { //Режим аварийной сигнализации, если на 5 и 6 пин приходит плюс for (int k = 0; k < 3; k++) { // цикл до трех - сигнал "перестроения" , при кратковременном включении мигает 3 раза, for (int i = 0; i < count + 1; i++) { for (int j = 0; j < i; j++) { if ((digitalRead(5) == HIGH) and (digitalRead(6) == HIGH)) { k = 0; // если во время мигания поворотника получаем еще плюcовой сигнал, то обнуяем счетчик, чтобы поворотник мигал еще как минимум 3 раза } strip.setPixelColor(j, strip.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(j, strip2.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода } delay(60); strip.show(); strip2.show(); } for (int i = 0; i < count + 3; i++) { for (int j = 0; j < i; j++) { // в этом цикле плавно тушим предыдущий светодиод, делаем его наполовину тусклее, чтобы движение было плавнее strip.setPixelColor(j - 2, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip.setPixelColor(j - 1, strip.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода strip.setPixelColor(j, strip.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(j - 2, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(j - 1, strip2.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(j, strip2.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода } delay(60); strip.show(); strip2.show(); } } } if (digitalRead(5) == LOW and digitalRead(6) == HIGH) { // включается один поворотник for (int k = 0; k < 3; k++) { // цикл до трех - сигнал "перестроения" , при кратковременном включении мигает 3 раза, for (int i = 0; i < count + 1; i++) { for (int j = 0; j < i; j++) { if ((digitalRead(5) == LOW) and (digitalRead(6) == HIGH)) { k = 0; } strip.setPixelColor(j, strip.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода } delay(60); strip.show(); } for (int i = 0; i < count + 3; i++) { for (int j = 0; j < i; j++) { // в этом цикле плавно тушим предыдущий светодиод, делаем его наполовину тусклее, чтобы движение было плавнее strip.setPixelColor(j - 2, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip.setPixelColor(j - 1, strip.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода strip.setPixelColor(j, strip.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода } delay(60); strip.show(); } } } if (digitalRead(5) == HIGH and digitalRead(6) == LOW) { // включаем второй поворотник for (int k = 0; k < 3; k++) { // цикл до трех - сигнал "перестроения" , при кратковременном включении мигает 3 раза, for (int i = 0; i < count + 1; i++) { for (int j = 0; j < i; j++) { if ((digitalRead(5) == HIGH) and (digitalRead(6) == LOW)) { k = 0; } strip2.setPixelColor(j, strip2.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода } delay(60); strip2.show(); } for (int i = 0; i < count + 3; i++) { for (int j = 0; j < i; j++) { // в этом цикле плавно тушим предыдущий светодиод, делаем его наполовину тусклее, чтобы движение было плавнее strip2.setPixelColor(j - 2, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(j - 1, strip2.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(j, strip2.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода } delay(60); strip2.show(); } } } if (digitalRead(3) == HIGH) { // режим спецсигналов, если на 3 пин подаем плюс for (int j = 0; j < 16; j++) { for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(255, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(0, 0, 255)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(20); for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(20); } for (int j = 0; j < 16; j++) { for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(0, 0, 255)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(255, 0, 0)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(20); for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(20); } } if (digitalRead(4) == HIGH) { // Режим стробоскова, если на 4 пин подаем питание for (int j = 0; j < 24; j++) { for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(255, 255, 255)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(15); for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(15); } for (int j = 0; j < 24; j++) { for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(255, 255, 255)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(15); for (int i = 0; i < count; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода } strip.show(); strip2.show(); delay(15); } } if ( digitalRead(3) == LOW and digitalRead(5) == LOW and digitalRead(6) == LOW and digitalRead(9) == LOW) { for (int i = 0; i < count + 1; i++) { // Зажигаем ходовые огни, если нетниодного сигнала strip.setPixelColor(i, strip.Color(255, 255, 255)); strip2.setPixelColor(i, strip2.Color(255, 255, 255)); } strip.show(); strip2.show(); } } }
Насколько я могу судить, "скейч" стянут вот отсюда. Что мешает обратиться к автору?
А если уж Вы пришли сюда, за такой, как Вы выразились, "помощью", то её здесь оказывают в другом разделе на возмездной основе.
именно оттуда)), но автор что то не отвечает