#1 Re: Проекти » Відстеження цілісності ліній » 2024-06-27 22:40:03

Подивіться Модуль розширення портів з інтерфейсом 1-wire, в ньому є функція відстеження стану порта, призначена для побудови охоронної системи, може це саме те, що вам потрібно. 1-wire дозволяє почепити на одну шину безліч таких модулів, використавши лише один пін мікроконтролера для керування всіми ними. Або 1-wire можна підключити напряму до лінукс, для роботи з такими модулями є драйвер.

#2 Re: Програмування Arduino » Доробити скетч за $$ » 2024-04-30 22:52:52

martinways пише:

а також щоби ця частота була на виходах 26 та 36, як відомо, tone() може працювати одночасно тільки на одному порті, тому треба зробти якесь швидке перекидання чи якийсь інший фокус, щоби вона була на цих двух портах.

припаяйте перемичку

#3 Re: Програмування Arduino » Генератор частоти з регулюванням шім » 2024-04-05 08:27:52

dimich пише:
GmmC пише:

можливо одночасно буде реалізувати також шім по двух чи одному каналу?

На одному таймері з довільною частотою два канала не вийде: у таймера два регістра-компаратора, і один із них використовується або як один із каналів ШІМ, або для керування частотою.

Подивіться режими, коли верхня межа лічильника задається регістром ICR, тоді обидва регістри-компаратори доступні для ШІМ.

#4 Re: Програмування Arduino » Генератор частоти з регулюванням шім » 2024-03-31 16:14:10

Частоту і коефіцієнт заповнення ШІМ на AVR не вийде встановлювати абсолютно довільно, лише ось такі дискретні значення:
Частота: f=16MHz/N, де N=1..65536
Коеф.заповнення: d=n/N, де N - те ж саме, яке використано для підбору частоти, n=0..N

#5 Re: Програмування Arduino » Допоможіть військовому(( » 2024-03-26 20:51:05

renoshnik пише:

  analogWrite(PIN_RELAY, 0);

Якщо я не помиляюсь, дана команда увімкне ШІМ з коефіцієнтом заповнення 1/256 (а параметр 255 дасть коефіцієнт заповнення 256/256 - завжди на одиничку більше, тобто за допомогою analogWrite неможливо отримати коефіцієнт заповнення 0/256)

#6 Re: Проекти » Счетчик импульсов для умного дома » 2024-03-12 17:44:57

Artur2K24 пише:

Як можна з Вами зв'язатись

Зліва під аватаркою натискаєте на "E-mail" і відправляєте повідомлення.

#7 Re: Програмування Arduino » Не працює код PWM вимикача на голому чіпі Attiny13 » 2024-03-09 10:53:17

pinMode(3, INPUT);
замініть на
pinMode(3, INPUT_PULLUP);
Якщо після цього і з тестером перестане працювати, значить спрацьовувало від наводок.

Як Вам радив dimich, виконуйте pulseIn() при вимкнених перериваннях
__builtin_avr_cli();
ch3 = pulseIn(3, HIGH, timeout);
__builtin_avr_sei();

#8 Re: Програмування Arduino » Не працює код PWM вимикача на голому чіпі Attiny13 » 2024-03-09 10:23:50

Daminski пише:

Але прикрий момент у тому, що з іншими пристроями, які генерують ШІМ сигнал аттіні знов не працює, навіть з такими налаштуваннями зчитування сигналу.

Чи є цьому якесь пояснення і чи можна тепер заставити тіні працювати і з іншими пристроями окрім тестера сервомашинок?

А Ви з піном не помилилися? Бо пін в високоімпедансному стані і від наводок щось зловить.

#9 Re: Апаратні питання » Керування сервоприводом. » 2024-03-08 00:39:20

Подавайте PWM на серву, але якщо дуже хочеться і є зайві гроші, звертайтесь, напишу Вам PWM->PDM конвертер.

#10 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-22 17:47:21

Shaman2 пише:

В мене драйвер 3.5.2019.1, спробую останній 3.6.2021.12

У мене також версія 3.5.2019.1, але ніяких проблем немає, перемичку не використовую. Проблема, мабуть, в чомусь іншому.

#11 Re: Різне » Як залити HEX в м/к під Windows. Інструкція. » 2024-02-22 17:44:48

igor211 пише:

Добрий день. Скажіть  чи працює avrdude на windows 10?

У мене віндовс 10 і на ній працює. Драйвер USB-UART CH340 версії 3.5.2019.1
Можливо знадобиться такий лайфхак, коли будете використовувати avrdude з ключиком "-c avrisp"

Honey пише:

Конденсатор (між RST і GND, або RST і VCC) чи перемичка (між RST і VCC) використовуються як лайфхак, якщо драйвер USB-UART (CH340) неправильно керує сигналом DTR, в мене в віндовс 10 з цим проблем немає, в лінуксі пробема зникла коли перейшов на ядро 5.4.х (на 4.х ще була така проблема).

#12 Re: Програмування Arduino » Нужна помощь начинающему!!! 3-х режимный фонарик » 2024-02-18 23:09:43

г0сть пише:

Honey, людина просила простий приклад. Хоча ваш код і виконує його забаганку, але навряд чи він розбереться у ньому.

В шести рядках (куди ж вже простіший код?) має розібратися. Там та ж ідея "інтерпретатора", яку щойно докладно "для домогосподарок" розписав dimich. (dimich, респект!)

#13 Re: Програмування Arduino » Нужна помощь начинающему!!! 3-х режимный фонарик » 2024-02-18 20:34:07

#define LED_PIN 13
#define LED_ON  HIGH
#define LED_OFF LOW

short durations[] = {
// state 0
  1000, -1, // always OFF (loop)
// state 2 (SOS)
   100, // initial delay
  // loop start
   500, 500,  500, 500,  500, 1500, // ON/OFF durations
  1500, 500, 1500, 500, 1500, 1500,
   500, 500,  500, 500,  500, 2000,
   -18, // goto 18 steps back == loop start
// state 22
  0,
  1000, 500, 1000, 500, 1000, 500+5000,
  2000, 5000, 2000, 5000+10000,
  500, 1500, 1000, 2000,
  -14, // Чєрєз пять мінут наступаєт зіма
};
byte state = 22; // state = 2 for SOS
unsigned long start_time = 0;

void setup(void) {
  pinMode(LED_PIN, OUTPUT);
}

void loop(void) {
  digitalWrite(LED_PIN, (state & 1) ? LED_ON : LED_OFF);
  unsigned long cur_time = millis();
  if (cur_time - start_time >= durations[state]) {
    if (durations[++state] < 0)
      state += durations[state];
    start_time = cur_time;
  }
}

#14 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-11 18:32:02

Shaman2 пише:

А думав що тут той самий принцип як і заливкою через usb, якщо заливаємо hex без бутлоадеру, то при перепрошивці бутлоадер не чіпається. А тут виявляється що потрібно заливати hex з назвою ....ino.with_bootloader.hex або прошивати бутлоадер при потребі окремо?

В бутлоадері запрограмовано, щоб він сам себе не затирав.
В avrdude просто вказуєте підряд обидві прошивки: -U flash:w:optiboot_atmega328.hex:i -U flash:w:myfirmware.hex:i

Shaman2 пише:

І ще тоді запитання: при наявності бутлоадера і залочці через lock bit через бутлоадер можно прошивку зляти? В гуглі одні пишуть так, інші пишуть ні

Прошивка сама себе може читати і при бажанні кудись відправити. Можна захистити від читання код бутлоадера з коду користувача - це може бути дійсно корисно. Можна навпаки - код користувача від бутлоадера (мабуть, це мали на увазі ті, хто писав що можна захистити), але це створить лише незручності, бо бутлоадер не зможе перевіряти те, що записав, а скинути лок можна лише стиранням всього флеш через ISP, програмно ніяк.

#15 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-10 18:51:17

Доречі "відключити бутлоадер" і "затерти бутлоадер" це не одне й те ж, затертий бутлоадер все одно буде виконуватись, але оскільки в ньому порожні команди, то керування врешті передасться на прошивку користувача, а ці кілька десятків зайвих мікросекунд Ви не помітите.

#16 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-10 18:43:52

Shaman2 пише:

Ще одне таке питання: після залочки (біт FC) на нано пропадає можливість запису прошивки через usb, процес просто висить.
Через arduinoISP прошивається. Це так і має бути?

Зашив прошивку через arduinoISP, біт скинувся на FF, але через usb вже не прошивається. Хоча юсб працює, через serial я отримую данні з прошивки

Коли Ви записуєте прошивку в ціль, то затирається бутлоадер.
Подивіться інструкцію, там є приклади, як відновити бутлоадер.

#17 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-10 00:30:14

0x3c це приклад для tiny13a, я ж написав, що Вам для своєї m328p потрібно почитати в даташиті правильне значення. Я записую в tiny13a 0x3c (хоча по даташиту маю записувати 0xfc), щоб не виводило помилку.
Подивився даташит, Вам для m328p потрібно також писати 0xfc і у Вас і читається 0xfc, тобто все ок.
Якщо розберетесь як оновити драйвер, щоб був не потрібен лайфхак, відпишіться, будь ласка, в цю тему.

#18 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-10 00:12:19

Shaman2 пише:

E:avrdude-v7.1-windows-windows-x64>avrdude -P COM70 -b 57600 -c avrisp -p m328p -U lock:r:-:h

Не помітив одразу... ArduinoISP працює ж на швидкості 19200 а не 57600. У Вас наявна проблема з драйвером CH340 і потрібен "лайфхак з RST". Тобто зараз драйвер смикає DTR і Ви заливаєте прошивку і читаєте лок не з цілі а з тієї нано, що напряму підключена до юсб.
Залийте спочатку ArduinoISP.hex (бо зараз Ви його затерли), а потім поставте конденсатор між RST і GND на програматорі і спробуйте ще раз прочитати лок, має бути 0xff.

#19 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-09 23:35:51

Після заливки прошивки (це скидає лок в початкове значення 0xff) спробуйте спочатку прочитати (-U lock:r:-:h), читає 0xff чи 0x00 ?
Почитайте в даташиті на m328p, що які лок-біти означають, я давав приклад для t13a.
Ще там є прикол, що записуєш одне значення, а при читанні (перевірці) деякі біти дзеркаляться в інші позиції (наприклад в t13a записуєш 0xfc=0b11111100, а при читанні повертає 0x3c=0b00111100, біти з позицій 0 і 1 дзеркаляться в 6 і 7 позиції)

#20 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-09 18:21:30

Shaman2 пише:

І ще одне питання: використовуються D11, D12, D13, тобто якщо в мене до цих ніг щось підключене, то доведеться спочатку відпаяти перед тим як вносити зміни по бітам? А якщо там вже зашита прошивка яка використовує ці ноги?
Тобто краще в нову ардуіно прошити лок біти, а потім вже розпаюваті і заливати прошивку?

Коли RST замикається на землю, робота прошивки зупиняється і всі ноги мк переходять в високоімпедансний стан (крім MISO), тому відповідь на питання чи можна не випаювати мк зі схеми залежить лише від Вашої схеми а не від прошивки, дивіться по схемі, як вона реагуватиме на наявність сигналів на SCK,MISO,MOSI.

Shaman2 пише:

І друге: на Вашій схемі небачу перемички чи конденсатора на RST програматора, він вже не потрібен?

Конденсатор (між RST і GND, або RST і VCC) чи перемичка (між RST і VCC) використовуються як лайфхак, якщо драйвер USB-UART (CH340) неправильно керує сигналом DTR, в мене в віндовс 10 з цим проблем немає, в лінуксі пробема зникла коли перейшов на ядро 5.4.х (на 4.х ще була така проблема).

#21 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-09 14:52:35

Shaman2 пише:

чи достатньо nano використати як ArduinoISP для зміни лог бітів іншої нано чи все ж таки купляти окрему avrisp? На ютюбі бачив відео де було сказано що nano для avrdude і різних бітів не дуже підходить

Прошивають і змінюють біти вони абсолютно однаково, тут питання лише в зручності підключення до програматора окремими дротами або готовим шлейфом.

Shaman2 пише:

І ще про порядок такої прошивки: я заливаю скетч, і потім окремо виставляю лок біти? А після лок бітів можно ще раз заливати прошивку чи вже все?

Лок-біти працюють так:
* їх можна встановити на будь-якому етапі
* їх можна скинути лише з одночасною очисткою флешу і еепром
* коли встановлені, то замість флеш і еепром читаються випадкові дані
Це дає можливість:
* захистити прошивку від читання
* багаторазово оновлювати прошивку
Не плутайте лок-біти з ф'юзами, деякі ф'юзи можуть "зацеглити" м/к, але лок-бітів це не стосується, вони безпечні.

#22 Re: Апаратні питання » Lock bit на arduino nano » 2024-02-09 13:47:41

Так, через бутлоадер неможливо змінити ні EEPROM, ні ф'юзи, ні лок-біти, можливо лише flash.
Гляньте цю тему, команда приблизно така (замініть t13a на свою m328 і значення лок-бітів з даташиту):
avrdude -P COM3 -b 19200 -c avrisp -p t13a -U lock:w:0x3c:m

#23 Re: Проекти » Управління електричним лінійним приводом з радіобрелка » 2024-02-05 16:30:54

СергійАм пише:

за допомогою стандартного радіобрелка

Можете взяти за основу мій код для читання радіобрелоків з цього поста.

#24 Re: Проекти » Счетчик импульсов для умного дома » 2024-01-31 14:05:44

Honey пише:

Для м/к з напругою 3.3V є такі варіанти:

3) є ще варіант (не відмовляючись від батарейки) подати на VCC лічильника 5V, а DQ підключити до м/к без перетворювача логічних рівнів (тобто на ньому буде до 3.3V) - на коротких шинах має працювати.
Найкращим для довгої шини є варіант (1), а якщо лічильник, м/к і батарейка розташовані в одному корпусі, то варіант (2).

#25 Re: Проекти » Счетчик импульсов для умного дома » 2024-01-31 04:21:48

Dimas пише:

по якій схемі і з якими налаштуваннями треба з‘єднати ваш модуль з єсп32?

Лічильник розрахований на стандартну напругу шини 1-wire 4.5-5.5V, цю напругу диктує батарейка - напруга шини має бути більшою від напруги батарейки мінімум на 0.65V, інакше лічильник відключає свій інтерфейс 1-wire і працює автономно в режимі лише підрахунку імпульсів. Для м/к з напругою 3.3V є такі варіанти:
1) перетворювач логічних рівнів для 1-wire, щоб на 1-wire було 5V
2) відмовитись від батарейки, закоротивши контакти в роз'ємі батарейки монетками, тоді лічильник зможе працювати з напругою 3.3V на 1-wire, але Ви втратите автономність - втрата зовнішнього живлення призведе до скидання лічильника. Цей варіант підійде лише якщо м/к зі своїм батарейним живленням зовсім поряд.

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