#1 Re: Апаратні питання » Під’єднання 5-ти вольтового датчика до NodeMCU » 2025-11-09 22:59:51

В порядку брєда - можна ще тупо стабілітрон на 3.3в кинути паралельно.
Найстабільніше таки діод і pull-up із сторони esp. Щоб не вносити змін в той модуль аналізатора і взагалі не паритись, open drain там чи ні.
А так то можна і щось типу https://blackchip.com.ua/mikroskhemi/mikroskhema-sn74lvc1t45dbvrg4/ запропонувати wink

#2 Re: Різне » Логарифмічний DAC » 2025-11-09 22:04:16

Так то воно так, але саме в цьому чіпі воно не прикручене
2025-11-09_20-55.png

Взагалі цікавий чіп. Дуже простий. Особливо якщо не руками смикати за регістри а використати https://github.com/IOsetting/FwLib_STC8 . І дешевий.

#4 Re: Апаратні питання » LCD 240*128 на RA6963 підключення до ESP32-C6 » 2025-11-07 21:26:55

Можливо воно якось працювало на паразитному живленні, доки не підключили ще 2 піни.

#5 Re: Різне » Логарифмічний DAC » 2025-11-07 20:38:11

Тут мені приходить в голову інвертуючий підсилювач на ще одному операційнику. Але треба мутити 2 полярне живлення.
2025-11-07_19-22.png
Хоча можна замутити штучну землю і заживитись від 12В..
А можна і не паритись, а відфільтрувати постійну складову конденсатором. А перехід між різними рівнями постійної складової придушити ФНЧ.

#6 Re: Різне » Логарифмічний DAC » 2025-11-07 16:36:26

Ну я тут прикинув, щоб отримати з цієї схеми діапазон в 1000 попугаїв, треба взяти резистори з ряда 1k; 2,4k; 5,6k; 13k; 33k; 75k; 200k; 470k. Пріємлємо wink
Хочу зробити пищалку, яка уміє видавати сигнал різної гучності wink

https://en.wikipedia.org/wiki/Logarithmic_resistor_ladder - нагуглив таке, але воно виглядає зовсім по наркоманськи. І замість дешифратора аналоговий комутатор не дуже подобається.

#7 Різне » Логарифмічний DAC » 2025-11-07 15:03:51

jokeR
відповідей: 20

Оце намагаюсь придумати схему, у якої на вході 3 біта, а на виході - 8 рівнів напруги, але розташованих в логарифмічному порядку. Поки що придумалось тільки дешифратор, 8 підібраних резисторів, операційник.. А можна без дешифратора? І номінали резисторів мені не подобаються wink

file.php?id=80099

#8 Re: Проекти » Кухонний комбайн на базі ардуїно. Потрібна допомога. » 2025-10-05 12:53:02

Із схемою теж непогано wink
Ще хороша ідея - синхронізувати все з частотою мережі. Піднімати прапорець по interrupt і крутити далі бізнес-логіку з кнопками і всим іншим. Тоді не треба запам"ятовувати мілісекунди для кнопок, можна рахувати 100-герцові тіки. І за analogread можна смикати рідше. Це ж регулятор обертів, так? Ви ж не крутите його 3000 обертів за хвилину?

#9 Re: Програмування Arduino » Регістрова змінна » 2025-09-11 09:41:52

https://www.rcgroups.com/forums/showthread.php?1473207-Diy-osd-(Arduino-and-opensource) - тут чувак досить сильно упоровся в цю тему з формуванням OSD на ардуїні.

#10 Re: Програмування Arduino » Регістрова змінна » 2025-08-27 16:47:44

Точно wink Дякую.
Колись учили ассемблер x86, там все якось більш зрозуміло було wink

#11 Re: Програмування Arduino » Регістрова змінна » 2025-08-27 14:22:16

Цікаві досліди wink

        sts     0x0000, r1      ; 0x<__SREG__+0x7fffc1> R_AVR_16        i14+0x1

Записуємо 0 після i14? наче в С коді не було. Чи це вже щось наступне?

#12 Re: Програмування Arduino » Регістрова змінна » 2025-08-27 11:32:38

А можна трохи пояснень? wink
А то відкрив систему команд AVR і ні%%я не пойняв wink

lds     r24, 0x0000 ; завантажили в r24 те що лежало в RAM за адресою 0х0000? serialBuf? старший байт?
bst     r24, 2 ; поклали в Т біт 2, 2^2=0х4; ок
eor     r24, r24 ; обнулили r24; ок
bld     r24, 0 ; встановили молодший біт в значення, збережене в Т; 0 або 1; ок
sts     0x0000, r24 ; зберігаємо 0/1 в 0х0000? назад в serialBuf?
sts     0x0000, r1  ; а що в r1??

Трюк з bst-eor-bld зовсім неочевидний, я б не додумався. Компілятор оптимізує однозначно краще. А що робить lds-sts - незрозуміло.

#13 Re: Програмування Arduino » Arduino vs LCD Trium Mars трабл » 2025-08-13 08:31:29

А можна якийсь приклад, зрозумілий колгоспникам? А то те що гуглиться - в стилі "ну.. можна робити всяке.. програму там написати".. Як на мене, програму під ардуїну написати ще простіше, приклади є прямо в IDE, і вона сама собі програматор.

#14 Re: Програмування Arduino » Arduino vs LCD Trium Mars трабл » 2025-08-12 10:08:37

Трохи не зрозуміло навіщо резистор між gnd і gnd.
https://nicuflorica.blogspot.com/2013/10/afisaj-de-nokia-3410-comandat-de-arduino.html - наче успішний експеримент.

#15 Re: Апаратні питання » порекомендуйте железо для проекта » 2025-08-08 12:41:38

Тільки не кажіть, що ви виграли тендер на реконструкцію ліфта!! (мотори, кінцевики..) бо я подивився відео і мені стало зле.

и хочется попробовать Ардуино.

Будь яка девборда. Абсолютно будь яка. Головне щоб вистачило ніг для gpio - порахуйте. Я б рекомендував RPI2040 - заливка прошивки без програматора і можливість debug - це капєц зручно. Або blue pill - але до нього треба програматор st-link v2. А так, arduino - кросплатформний фреймворк, працює майже на будь якому процесорі.
https://arduino.ua/prod1328-plata-razrabotchika-stm32f103c8t6-arm-stm32-minimalnaya-konfigyraciya
https://arduino.ua/prod6050-plata-rozrobnika-rp2040-zero-dual-core-2mb

могли бы вы привести ссылку, плиз?

https://docs.arduino.cc/built-in-examples/basics/Blink/
мені не жалко, але як на мене без вміння гуглити зараз складно

концевики - обычные механические, с механическим триггером. есть смысл их через опторазвязку?

це ж ваші кінцевики, не мої. якщо в ліфт, там де 100 метрів кабелю і кілька кіловат мотор - мабуть є смисл. Якщо в робота-аніматроніка - мабуть немає.

#16 Re: Програмування Arduino » switch працює лише з повними рівняннями, чи можливо вказати діапазони? » 2025-08-08 12:14:04

І чому ця форма запису ніде не задокументована?!

Задокументована ж. Просто це компіляторо-залежне розширення, наприклад sdcc так не вміє.

#17 Re: Апаратні питання » порекомендуйте железо для проекта » 2025-08-07 18:48:44

Не знаю що таке SBC (Session Border Controller? Subband Coding? Sensotronic Brake Control?). Але щоб клацати релюшками, годиться абсолютно будь-який мікроконтроллер. Хоч і Intel 4004 wink Головне щоб вистачило ніг на GPIO. А якщо не вистачить - можна взяти розширювач GPIO, або ще один контроллер.
Що воно повинно робити крім клацання реле?

#18 Re: Програмування Arduino » switch працює лише з повними рівняннями, чи можливо вказати діапазони? » 2025-08-07 08:21:24

Прикольно wink avr-gcc так вміє.
І воно дійсно працює як діапазон

    rIndex = 0;
    switch (rIndex) {
        case 1 ... 31:
            rIndex = 100;
            break;
        default:
            rIndex = 101;
    };

цей код транслюється в таке

        lds r24,rIndex
        mov __tmp_reg__,r24
        lsl r0
        sbc r25,r25
        sbiw r24,1
        sbiw r24,31
        brsh .L2
        ldi r24,lo8(100)
        sts rIndex,r24
        rjmp .L4
.L2:
        ldi r24,lo8(101)
        sts rIndex,r24
.L4:

Константи 1 і 31 видно очима wink

#20 Re: Програмування Arduino » switch працює лише з повними рівняннями, чи можливо вказати діапазони? » 2025-08-06 12:12:43

Тоді можна використати wink
Взагалі щоб задати правильне питання, треба знати половину відповіді. А якщо знаєш половину відповіді - іншу половину, скоріше за все, теж знаєш wink

#21 Re: Програмування Arduino » Чи є інструменти для перевірки наявності вивода у плати за номером? » 2025-08-06 12:02:25

void digitalWrite(uint8_t pin, uint8_t val)
{
	uint8_t timer = digitalPinToTimer(pin);
	uint8_t bit = digitalPinToBitMask(pin);
	uint8_t port = digitalPinToPort(pin);
	volatile uint8_t *out;

	if (port == NOT_A_PIN) return;

Можна так
Або почитати як влаштовано pins_arduino.h

щоб не множити окремі скетчі до різних плат

#idef __AVR_ATmega8__

#else

#endif

Для кожної вашої каменюки - свій ifdef.  І зробити, щоб під неправильний камінь не зібралось. І буде вам щастя.

#22 Re: Програмування Arduino » Чому повідомлення не вдається розкласти в масив без затримки часу » 2025-08-05 17:18:39

Бо не домовились що робити з пустими полями.
Взагалі без розуміння задумки автора - складно.

#23 Re: Програмування Arduino » Чому повідомлення не вдається розкласти в масив без затримки часу » 2025-08-05 16:19:33

sizeof(data)/sizeof(data[0]) часто зустрічаю. Теж не люблю.  А так.. Неочевидно трохи. Я здогадуюсь що в С масив і вказівник майже синоніми, і так теж можна. Але в такому записі легко допустити помилку, і компілятор її нормально пропустить. І фіг потім знайдете що не так wink

#24 Re: Програмування Arduino » Чому повідомлення не вдається розкласти в масив без затримки часу » 2025-08-05 15:41:38

sizeof(data)/sizeof(*data)

Не люблю. І щось мені здається що там помилка wink

#define DATA_SIZE 10
int data[DATA_SIZE];

Просто і зрозуміло.

#25 Re: Програмування Arduino » Чому повідомлення не вдається розкласти в масив без затримки часу » 2025-08-05 15:26:15

розділення на масив має буте швидше, ниж займатися розділом після отримання...

Число операцій приблизно однакове. Розпихувати операції з розбором окремих полів має смисл, якщо одна велика операція в ваші обмеження не влізе. Ну, зробите це окремою функцією, будете викликати після кожного розділювача. Головне - не робити суперфункцій з суперциклами і глобальними суперзмінними. Робіть функції прості і зрозумілі.

Підвал форуму