Подскажите по NeoPixel
- Войдите на сайт для отправки комментариев
Сб, 04/05/2019 - 22:31
Пытаюсь начать ее программировать.
Задача вроде несложная. Группа белых пикселей с разной яркостью ползет от конца к началу, но вот проблема в том, что нужно сделать так, чтобы количество этих групп прибавилось.
Как это реализовать?
Пример работы https://yadi.sk/i/xihemMUgk-ktwA
Вот скетч:
#include <Adafruit_NeoPixel.h> #define N_LEDS 100 #define PIN 13 Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_RGB + NEO_KHZ800); void setup() { strip.begin(); strip.setBrightness(255); strip.Color(0, 0, 0); strip.show(); } int pos = N_LEDS; void loop() { int j; strip.setPixelColor(pos - 3, 8,8, 8); strip.setPixelColor(pos - 2, 32,32, 32); strip.setPixelColor(pos - 1, 63,63,63); strip.setPixelColor(pos , 255,255,255); strip.setPixelColor(pos + 1, 63,63,63); strip.setPixelColor(pos + 2, 32,32, 32); strip.setPixelColor(pos + 3, 8,8, 8); strip.show(); delay(80); for(j=-4; j<= 4; j++) strip.setPixelColor(pos+j, 0); pos -= 1; if(pos+4 < 0){ pos = N_LEDS; } }
Группа белых пикселей с разной яркостью ползет от конца к началу, но вот проблема в том, что нужно сделать так, чтобы количество этих групп прибавилось.
Пиксели (от Picture Cell) - это минимальные элементы изображения, они не могут ползать. Кроме того, они существуют на экране, а у экрана нет ни начала, ни конца.
Количество само по себе может только увеличиваться или уменьшатся, а прибавляться оно может лишь к чему-то.
Как это реализовать?
Для начала сформулировать внятно по-русски, чего именно Вы хотите.
Русский не мой родной язык, извините.
Там по ссылке есть файл, где показано чего нужно добиться. Вместо тысячи слов...
Там по ссылке есть файл, где показано чего нужно добиться. Вместо тысячи слов...
вообще скачивать файлы с обменников здесь не принято. если это видео - выложите его нормально, как видео. на ютуб
Там по ссылке есть файл, где показано чего нужно добиться. Вместо тысячи слов...
Добиться нужно кому?
Добиться мне с помощью форумчан
Добиться мне с помощью форумчан
А может форумчан материально заинтересовать? :) - у нас тут есть раздел "Ищу исполнителя".
Добиться мне с помощью форумчан
Пока не похоже, что Вы прилагаете к этому усилия.
Хорошо, вот вам наводящее задание. Возьмите листок из тетради в клетку и нарисуйте в одной строке (в каждой клетке по символу) "abcdedcba". Теперь скопируйте этот фрагмент влево с промежутком в две клетки. Опишите ход выполнения.
Тогда не получится эффекта "выползания" светодиодов с края
Вы хотите обсудить то, что не понимаете, как делать или чего-то добиться?
Как сделать
См. #7
Хотите просто сидеть и ждать - сидите и ждите.
Спасибо
вообще скачивать файлы с обменников здесь не принято. если это видео - выложите его нормально, как видео. на ютуб
Это не совсем видео и не подойдет для Ютуба
Это не совсем видео и не подойдет для Ютуба
Ну дело ваше. Если б вы хотели облегчить задачу тем, кто будет помогать - наверно лучше бы подготовились.
Я было рискнул скачать ваш файл - но он у меня на компе не пошел, просит какие-то плагины скачать. чего, я естесственно, делать не стану.
Понял, спасибо и на этом
Помедитируйте над 36 строкой.
На данный момент я ее вообще убрал. Получился вот такой скетч. Я не могу понять как заставить ползти за ней следующие группы диодов
На данный момент я ее вообще убрал. Получился вот такой скетч. Я не могу понять как заставить ползти за ней следующие группы диодов
Вы сами у себя в голове прокатайте какие значения должны оказаться на каком месте, если за начало координат взять pos. И дальше все получится. Или нет... если Вы не сможете этого представить.
А потом сместите pos и добавьте еще "пикселей"
На данный момент я ее вообще убрал.
вы ее не убрали, а переставили в строку 27. По-моему там ошибка?
А что касается задачи вывести на ленту еще одну ползущую группу - так скопируйте строчки с 20 по 27 с другими позициями да и все - чего проще
Да, так я и сделал. Вроде получилось. В строке 27 ошибки нет. Если ее убрать, светодиоды не гаснут