Ви не увійшли.
Ви ж, сподіваюсь, платформу та фреймворк lgt8fx використовуєте для LGT8F, а не atmelavr та arduino-avr?
Обіжаєте
[env:LGT8F328P]
platform = lgt8f
board = LGT8F328P
framework = arduino
Можете зарепортити issue у FastLED.
Ну, так.
Походу, для LED стрічок це не найкращий контроллер
А тепер слайди
Так виглядає білий колір на atmega328
А так - на lgt8f328
У китайців 3-й байт передається трохи інакше - довжина імпульсу не 1 мкс, а 0.75. Як вони цього добились (і навіщо) - незрозуміло.
У мене "Addressable LEDs (Async)":
Моі глаза.. Я шукав 2812 і не знайшов.. Ну хоч одна загадка розгадана. Навіть дві. У вас немає імпульсів ні 0.75 мкс, ні 1 мкс. А у мене є. У мене FastLED@^3.10.1. А у вас?
Хм, те ж. Але не знайшов як ним читати цей протокол і встановив плугін https://github.com/dustin/logic-ws2812
Просто у вас кольори розшифровуються а в мене ні.
Не вловив причини для сарказму.
Осцилограф просто красивий
Частота виборок в пробнику наче 24 мгц, повинно вистачити. https://arduino.ua/prod651-logicheskii-analizator-saleae-8-kanalov
Різні байти (B і R) передаються з різними таймінгами - в мене немає пояснень цьому, хіба що дійсно чудеса китайського контроллера.
Згоден, без експеримента з оригінальною ардуїною нічого не скажеш.
О, ви не з такої сім"ї як всі З багатої
) І така само нога але не болить
У нас логічний пробник за 5 баксів. І lgt8f238, начебто покращена копія atmega, але це не точно І індикатор куплений по скаженій знижці
)
Можливо індикатор трохи підгулявший. Бо якщо не намагатись використовувати всі кольори одночасно - працює як очікувано. В принципі, для індикатора рівня цього досить.
https://github.com/GyverLibs/microLED/ - я сюди дивлюсь. няп fastled йому потрібен тільки для сумісності з кольорами в стилі fastled. асемблерний код свій.
Таймінги досить дивні.
TH+TL=1.25us - зберігається
Але TH=1us , коли потрібно 0.8+-0.15..
Це fastled. У Гувера свій імпортозаміщонний лісапет, і там з таймінгами зовсім дивно.
Хм, дійсно якась фігня. Передається FFFFFF FFFFFF FFFFFF FFFFFF 000 000 000 000
Спробую іншу лібу. Гувер обіцяв, що його ліба підтримує китайску ардуїну
Моі глаза..
Дякую
Дивна річ з кольорами. Взяв такий ось модуль хттпс www.aliexpress.com/item/1005003296302434.html WS2812B наче, судячи з того, що у чіпів 4 ноги а не 6. Написав програму згідно з букварем
#include <FastLED.h>
FastLED.addLeds<WS2812B, LED_DATA_PIN, RGB>(leds, NUM_LEDS);
leds[led] = CRGB::Green;
FastLED.show();
delay(300);
digitalWrite(LED_BUILTIN, 1);
leds[led] = CRGB::Blue;
FastLED.show();
delay(700);
led++;
те що не відноситься до led опущено
І що с**а дивно: замість зеленого (як в коді написано) блимає червоним. А якщо написати CRGB::Red - блимає зеленим.
Так то для мене це не критично, але може хтось стикався. Це неправильна ініціалізація ліби, чи сама ліба косячна, чи сам модуль незвичайний?
Важливо правильно поставити задачу
Були плани зробити сигналізатор наповнення бака для поливу. В процесі подумалось - а нахіба скільки зусиль на звуковий сповіщуващ? Щоб звук був одночасно і голосний, і паскудний, і не нагадував сирену. Можна ж поставити електроклапан, це дорожче, але концептуально більш правильно.
Не люблю текстовий переказ. Це ще гірше ніж відео інструкція. Не хочете схему намалювати? Можливо, в процесі щось стане ясно
Десь так. Повинно визначати, які піни замкнуті. Можна використовувати для прозвонки багатовивідних перемикачів.
Не прошивав
struct pin_def_s
{
uint8_t pin;
String caption;
};
pin_def_s pin_def[] = {
{3, "D3"},
{4, "D4"},
{5, "D5"}
};
#define pins_count 3
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
String out1;
String out0;
void loop() {
out1 = "";
for (uint8_t i = 0; i < pins_count; i++)
{
uint8_t pin_gnd = pin_def[i].pin;
pinMode(pin_gnd, OUTPUT);
digitalWrite(pin_gnd, LOW);
for (uint8_t j = 0; j < pins_count; j++)
{
uint8_t pin_m = pin_def[j].pin;
if (pin_m != pin_gnd)
{
pinMode(pin_gnd, INPUT_PULLUP);
};
};
delay(100);
for (uint8_t j = 0; j < pins_count; j++)
{
uint8_t pin_m = pin_def[j].pin;
if (pin_m != pin_gnd && pin_gnd < pin_m)
{
if (! digitalRead(pin_m))
{
out1 = out1 + pin_def[pin_gnd].caption + "-" + pin_def[pin_m].caption + " ";
};
};
};
};
if (out1 != out0)
{
Serial.println(out1);
};
out0 = out1;
}
Оце подумалось.. Взагалі, хтось бачив десь колекцію семплів, які можна без особливих зусиль запустити на мікроконтроллері? Бо пищати функцією tone() якось скучно. Аранжувати ноти в послідовність звуків - це точно не для мене
Знайшов на github лібу sensorium/Mozzi (не любить автомодератор коли URL в першому повідлмленні ). Прикольно. Але щоб почути - треба прошити.
А взагалі хочеться процедурно згенерований звук метронома чи кастаньєт
grep NeedResetCounterOil src/DigiSpark_Oiler_Moto.ino
bool NeedResetCounterOil = LOW;
NeedResetCounterOil = HIGH; // Ставим флаг сброса счетчика импульсов в ЕЕПРОМ
if (NeedResetCounterOil == HIGH) {
Ну, цей прапорець у вас справді ніколи не скидається.
Ну твердотільне реле для силовухи нормально буде. Так би і сказали, що не із звичайної сімʼї а з багатої
https://arduino.ua/prod2223-2-h-kanalnii-modyl-rele-12v-10a-s-optorazvyazkoi
https://arduino.ua/prod186-datchik-holla-a3144-cifrovii
Наприклад так. Про китайські 10А в мене є сумніви, але 2А воно повинно витягнути. Якщо треба більше - візьміть автомобільне реле. Саме ці датчики уніполярні, іх треба правильно розмістити. Можливо, вам потрібні аналогові датчики.
Замість реле можна спаяти щось типу https://electronics.stackexchange.com/questions/512561/using-p-channel-mosfet-with-arduino
В вигляді готових модулів - навряд. Хіба що датчики Холла у вигляді шілдів. Але його треба все одно суміщати з вашою механікою. І реле для USB - вам точно потрібно тестувати весь USB стек, може досить тупого ключа на живлення? Силову релюшку можна взяти автомобільну, а може і звичайного ключа на MOSFET вистачить.
Кроче, все одно паяти доведеться багато. не бачу смислу хотіти саме arduino-сумісних модулів.
Без розуміння, що саме і яким чином ви збираєтесь тестувати, складно порадити чогось конкретного.
Не так все погано. Начебто всі записи в eeprom пов"язані з натисканням кнопки. Судячи по назвах змінних
Щось цей simutron якийсь дивний.
Лінії малюються якось мимо пінів, підключитись куди хочеться не виходить..
@л@!
Не відтворилось.
Я здивований.
Тут ще можливо, що в мене якось в board urls було і digistump 1.6.7 (офіціально протухший), і 1.7.5 (неофіціально свіжий), різні репозиторіі, однакові назви.. хз.. Видалив всі, встановив тільки 1.7.5.. не відтворюється. Може @stas_amp це ще не виправив, і в нього ще все зламане
на 50-й день роботи
Для мотоцикла не думаю що це сильно актуально Які є кращі ідеї? Є якийсь софтовий таймер, чи підпирати перевірками?
Теж дивно. Воно tiny85 не дуже модна іграшка, але невже ніхто не грався з нею в arduino ide з використанням eeprom і свіжим toolchain ом?
Тільки IDE навіть з verbose mode не показує як її компілює, тільки Compiling library "EEPROM".
Тому що в EEPROM.h нічого цікавого немає. Це враппер до avr/eeprom.h, а реалізація роботи з eeprom - упсь, в бінарнику .arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/avr/lib/avr25/libattiny85.a . При використанні функцій з eeprom.h все так само ламається.
Взагалі можна було б і просто асемблерний код проаналізувати
Настоящих буйних мало
https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json же ж. Без ніяких хитрощів.
Є підозра що емулятор цього не покаже. Якщо косячаться логічні рівні на виході - значить там всередині щось комутується неправильно. Може чіпи палені. До речі, в якійсь з ревізій цих tiny85 щось було з eeprom, саме з записом в 0 адресу, і були рекомендації від аксакалів починати запис з 10.. Можливо, автор цього коду щось таке чув, і в нього використовується put(10). І put(0) теж
Ну це можна використати, якщо упоротись в TDD. А так, відчуття якоїсь незавершеності. debug_tool наче є, а використати неможливо.