Страница 5 из 5
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 09.12.2021{, 17:37}
aidar_i
Qwert855 писал(а): ↑09.12.2021{, 15:57}
Т.е только через "новый" редактор?
Нет, делайте в старом.
Вам письмо отправлял в ЛС давно, откройте.
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 12.12.2021{, 21:17}
Qwert855
Если кто то знает как можно добавлять условия экземпляров в блоках, подскажите пож та.
Видел такие блоки от нового редактора, но редактор очень накручен, функционал большинства опций не понятен.
по итогу объединил код декларации и код цикла одним блоком, сняв флаг использования одного экземпляра и добавив нужные на данный момент условия.
Код: Выделить всё
#include <Adafruit_NeoPixel.h>
bool en;
bool En;
byte num_led;
byte NumL;
byte brightness;
byte led_1r;
byte led_1g;
byte led_1b;
bool clearL;
bool St;
//bool clearL;
Adafruit_NeoPixel pixels= Adafruit_NeoPixel(5 , 7 , NEO_GRB + NEO_KHZ800);
void setup()
{
pixels.begin();
pixels.show();
}
void loop()
{
//Плата:5
en = 0;
En = 0;
num_led = 0;
NumL = 0;
brightness = 0;
led_1r = 0;
led_1g = 0;
led_1b = 0;
clearL = 0;
if (en == 1 && En == 0)
{
pixels.setBrightness(brightness);
pixels.setPixelColor (num_led -1, pixels.Color(led_1r , led_1g , led_1b));
pixels.show();
St = 1;
}
else if (En == 1 && en == 0)
{
pixels.setBrightness(brightness);
for (byte i = num_led -1; i <= NumL -1; ++i)
{
pixels.setPixelColor (i, pixels.Color(led_1r , led_1g , led_1b));
pixels.show();
St = 1;
//clearL = 1;
}
}
else if (En == 0 && clearL == 1)
//else if (En == 1 && en == 1)
{
// clearL = (0);
pixels.clear();
pixels.show();
St = 0;
}
else
{
pixels.setPixelColor (num_led -1, pixels.Color(0 , 0 , 0));
pixels.show();
St = 0;
}
//Плата:6
}
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 13.12.2021{, 17:46}
aidar_i
Qwert855 писал(а): ↑12.12.2021{, 21:17}
Если кто то знает как можно добавлять условия экземпляров в блоках
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 13.12.2021{, 18:22}
Qwert855
да я по сути так и сделал.
но в новом редакторе можно присваивать номера самому
хотелось бы сделать декларацию на экземпляр с присвоением пина, а далее блоки функции привязывать к экземпляру.
как объяснить блоку что несет только функцию луп, к какому заголовку он относится? если в проекте таких блоков 10 в разных частях программы.
можно конечно поставить всего один блок на проект и все сделать последовательностью перезаписи переменных, но все же.
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 13.12.2021{, 19:52}
aidar_i
Qwert855 писал(а): ↑13.12.2021{, 18:22}
как объяснить блоку что несет только функцию луп, к какому заголовку он относится? если в проекте таких блоков 10 в разных частях программы.
Вот так: создаете для каждой ленты еще свой главный блок со своим идентификатором.
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 13.12.2021{, 20:09}
aidar_i
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 13.12.2021{, 20:33}
Qwert855
это нужно вручную изменения вставить в код и потом блоки размножить?
pixels_1
pixels_2
и тд.
и все корректировки в ЛУП блоке разово так же вручную делать.
трудоемко но ОК. спасибо
Создание пользовательского блока (Code-Basic) простым языком.
Добавлено: 13.12.2021{, 20:49}
aidar_i
Qwert855 писал(а): ↑13.12.2021{, 20:33}
это нужно вручную изменения вставить в код и потом блоки размножить?
pixels_1
pixels_2
и тд.
и все корректировки в ЛУП блоке разово так же вручную делать.
трудоемко но ОК. спасибо
Делаете 2 блока на один вывод, куда подключена лента (блок 1 и размножаемый блок 1.1), если у Вас 2 ленты то нужно 4 блока. Блоки 1.1, 2.1 могут вставляться необходимое количество раз. Ничего трудоемкого!
В код лазить не нужно, и, вообще то, я Вам блоки уже выложил! Если Вам нужно еще на третий вывод, создайте блоки под номером 3 и 3.1.
Да, в новом редакторе можно из параметров.