Автор Тема: Arduino/Freeduino etc. Информация, наработки.  (Прочитано 59887 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Efim25

  • ***
  • Сообщений: 772
    • Просмотр профиля
#245: 11 Декабря 2018, 11:19:14
Кто сможет написать скетч или как там это называется, чтоб я в Ардуино нано залил, нужен таймер, чтобы включать нагрузку на 2 минуты с паузой 15 минут. Извиняюсь, не хватает времени для познания Ардуино
за шоколадку легко или деда мороза шоколадного, если тема еще актуальна

Ant_28

  • ***
  • Сообщений: 1318
    • Просмотр профиля
    • http://ant28.ru
#246: 11 Декабря 2018, 11:35:15
Кто сможет написать скетч или как там это называется, чтоб я в Ардуино нано залил, нужен таймер, чтобы включать нагрузку на 2 минуты с паузой 15 минут. Извиняюсь, не хватает времени для познания Ардуино.
можно и с delay, но моветон. даже шоколадку за это просить стыдно. управление с вывода 13, где светодиод. за одно и индикация.
#define out 13
unsigned long on_time;
unsigned long off_time;

void setup() {
  // put your setup code here, to run once:
  pinMode(out, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(out, HIGH);
  on_time = millis();
  while (millis() - on_time < 120000) {
   
  }
  digitalWrite(out,LOW);
  off_time = millis();
  while (millis() - off_time < 900000){
   
  }
}

Ant_28

  • ***
  • Сообщений: 1318
    • Просмотр профиля
    • http://ant28.ru
#247: 11 Декабря 2018, 12:07:21
А можно на ногу 12 повесить кнопку на массу и менять фазу принудительно с кнопки
#define out 13
#define in 12

unsigned long on_time;
unsigned long off_time;
unsigned long debounce;

void setup() {
  // put your setup code here, to run once:
  pinMode(out, OUTPUT);
  pinMode(in, INPUT_PULLUP);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(out, HIGH);
  on_time = millis();
  debounce = millis();
  while (millis() - on_time < 120000) {
    if ((!digitalRead(in))&(millis()-debounce > 500)) break;
  }
  digitalWrite(out,LOW);
  off_time = millis();
  debounce = millis();
  while (millis() - off_time < 900000){
    if ((!digitalRead(in))&(millis()-debounce > 500)) break;
  }
}

Ant_28

  • ***
  • Сообщений: 1318
    • Просмотр профиля
    • http://ant28.ru
#248: 11 Декабря 2018, 12:27:11
ну и еще спам. это для относительной красивости

#define out 13
#define in 12

void fase (int fase_time, bool fase_state){
  unsigned long f_t = millis();
  digitalWrite(out, fase_state);
  while (millis() - f_t < fase_time*1000) {
    if ((!digitalRead(in))&(millis()-f_t > 500)) break;
  }
}

void setup() {
  pinMode(out, OUTPUT);
  pinMode(in, INPUT_PULLUP);
}

void loop() {
  fase(120, 1);
  fase(900, 0);
}

Мсбк

  • ***
  • Сообщений: 509
    • Просмотр профиля
#249: 11 Декабря 2018, 15:20:37
Ant_28, в качестве комментария: есть одна тонкость, если использовать реле для управления нагрузкой. У реле вход инвертированный, поэтому Ваши скетчи нужно будет cкорректировать.

paravis

  • *****
  • Сообщений: 22947
    • Просмотр профиля
#250: 12 Декабря 2018, 02:43:22
за шоколадку легко или деда мороза шоколадного, если тема еще актуальна
Мне два дня назад написали. Даром.
http://forum.amit.ru/index.php/topic,87233.msg6582441.html#msg6582441
Всем огромное спасибо за участие!

Efim25

  • ***
  • Сообщений: 772
    • Просмотр профиля
#251: 12 Декабря 2018, 08:41:17
Мне два дня назад написали. Даром.
ну мир не без добрых людей :)
хотя думаю шоколадка за 50р не дорого, как раз пока человек будет пить чай напишет

Ant_28

  • ***
  • Сообщений: 1318
    • Просмотр профиля
    • http://ant28.ru
#252: 12 Декабря 2018, 08:55:47
Ant_28, в качестве комментария: есть одна тонкость, если использовать реле для управления нагрузкой. У реле вход инвертированный, поэтому Ваши скетчи нужно будет cкорректировать.
а тут дело вкуса. я вообще через оптопару управляю. кто-то транзистор ставит с общим эммитером. а 0 с 1 поменять во второй и третьей с конца строках - не проблема

paravis

  • *****
  • Сообщений: 22947
    • Просмотр профиля
#253: 12 Декабря 2018, 11:37:09
 С какого перепугу у реле вход инвертированный? Как раз по умолчанию все оптотиристорные и транзисторные реле работают по принципу есть сигнал- включаются. А у некоторых механических  реле ещё контакты переключающие.

Бунтарь

  • Глобальный модератор
  • *****
  • Сообщений: 7698
    • Просмотр профиля
    • http://dvphoenix.ru
#254: 12 Декабря 2018, 11:42:11
paravis, если речь про  SRD-05VDC, то там вход инвертированный, высокий выключает катушку.

paravis

  • *****
  • Сообщений: 22947
    • Просмотр профиля
#255: 12 Декабря 2018, 15:30:17
Бунтарь, Не встречал. По умолчанию ключи без инвертирования.

marsohod

  • ***
  • Сообщений: 6194
    • Просмотр профиля
#256: 14 Декабря 2018, 16:48:47
есть прошивка для stm32 в виде бинарника, надо в ней поковыряться в удобоваримом виде....
есть ли дизасемблер какой нибудь для этого дела или нечто подобное?

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#257: 14 Декабря 2018, 17:04:15
есть прошивка для stm32 в виде бинарника, надо в ней поковыряться в удобоваримом виде....
есть ли дизасемблер какой нибудь для этого дела или нечто подобное?
IDA pro.
Но я бы сразу бросил это дело. В удобоваримом виде это просто ассембоерный код где нет никаких переменных, а есть адреса памяти. Это не считая того что сам ассемблер без комментариев не самый наглядный что бы вьехать глянув одним глазком.

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#258: 14 Декабря 2018, 21:50:55
Вот интересный момент. Как найти целую часть положительного дробного числа используя только десятичную математику и по возможности без циклов.

Efim25

  • ***
  • Сообщений: 772
    • Просмотр профиля
#259: 14 Декабря 2018, 22:07:27
есть прошивка для stm32 в виде бинарника, надо в ней поковыряться в удобоваримом виде....
есть ли дизасемблер какой нибудь для этого дела или нечто подобное?
STM32 штука хорошая, но и сложная по сравнению с авром. Но опять же работать интереснее и сделать можно многое (и цена такая же)

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#260: 14 Декабря 2018, 23:23:42
Если бы это был си то я бы просто сделал приведение типа к int и использовал обычное целочисленное деление ( /)
Это не ардуина. Чтоб не вводить в заблуждение. Там есть математика с плавающей точкой, но нет целочисленных и побитовых операций, и там не с/с++. Пытаюсь соорудить вычисление значения нужного бита в int.

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#261: 14 Декабря 2018, 23:33:44
Еще раз говорю что там не си и нет никаких встроенных функций. О. Точно. Приведение типов может сработать!

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#262: 15 Декабря 2018, 12:21:24
:))) дело не в скетче. Нужно реализовать отбрасывание дробной части в калькуляторе с десятью кнопками-цифрами и четырьмя унопками -операциями "+", "-", "/",  "*"
В калькуляторе нет math.h и нет floor()


Ладно, делается это в цикле, что печалит.


А в си это делается явным приведением типа:
float x = 125.35142;
int a;


a = (int)x;

marsohod

  • ***
  • Сообщений: 6194
    • Просмотр профиля
#263: 15 Декабря 2018, 14:14:55
IDA pro.
Но я бы сразу бросил это дело. В удобоваримом виде это просто ассембоерный код где нет никаких переменных, а есть адреса памяти. Это не считая того что сам ассемблер без комментариев не самый наглядный что бы вьехать глянув одним глазком.
да пох что на ассемблере, опыта по асму предостаточно

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#264: 15 Декабря 2018, 18:20:14
Нахера это всё?



Пришел набор датчиков. Без единой подписи даже на китайском. Какие-то распознал, большинство - нет.

Efim25

  • ***
  • Сообщений: 772
    • Просмотр профиля
#265: 15 Декабря 2018, 18:23:16
Нахера это всё?
это для того что бы вы учились работать с разными устройствами

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#266: 15 Декабря 2018, 18:32:59
это для того что бы вы учились работать с разными устройствами
Это понятно, для того и выписывал. Факт в том, что половину устройств я даже не могу опознать.
Ладно, разберемся постепенно.

BarEl beer

  • ***
  • Сообщений: 194
    • Просмотр профиля
#267: 15 Декабря 2018, 19:20:00
Нахера это всё? Пришел набор датчиков. Без единой подписи даже на китайском. Какие-то распознал, большинство - нет.

Есть один очень полезный сайт.

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#268: 15 Декабря 2018, 19:34:25
Есть один очень полезный сайт.
И что он даст? Только еще что-то выписать у низ по цене али, умноженной на семь?

BarEl beer

  • ***
  • Сообщений: 194
    • Просмотр профиля
#269: 15 Декабря 2018, 19:48:02
И что он даст? Только еще что-то выписать у низ по цене али, умноженной на семь?

Если прочитать первую строчку на странице, на ней написано:
Цитировать
ПРИВЕТ, ДРУГ! ТЫ НАХОДИШЬСЯ НА СТРАНИЦЕ СО ССЫЛКАМИ НА ПРАКТИЧЕСКИ ВСЕ СУЩЕСТВУЮЩИЕ МОДУЛИ, ДАТЧИКИ И СЕНСОРЫ ARDUINO!
А это значит, что потратив немного времени - можно решить проблему идентификации неизвестных модулей.

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#270: 15 Декабря 2018, 20:00:59
BarEl beer
Ну опознай по этому сайту хоть пару моих датчиков.  Могу крупные фотографии выложить.

Мсбк

  • ***
  • Сообщений: 509
    • Просмотр профиля
#271: 15 Декабря 2018, 20:05:26
DimonS, попробуй поискать на модулях маркировку с названием, а по ней описание в интернете.

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#272: 15 Декабря 2018, 20:11:14
Мсбк, да это понятно, найду в любом случае. Сегодня только распаковал.

BarEl beer

  • ***
  • Сообщений: 194
    • Просмотр профиля
#273: 15 Декабря 2018, 20:16:57
DimonS, попробуй поискать на модулях маркировку с названием, а по ней описание в интернете.
Я за Вас свою работу делать не собираюсь (Tm).

tommy

  • Модератор
  • *****
  • Сообщений: 19702
    • Просмотр профиля
#274: 18 Декабря 2018, 09:10:14
Добрый день. Кто нибудь может собрать контроллер для управления подогревом ? Т.е. через термо-датчики управление включением/выключением нагревательных элементов

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#275: 18 Декабря 2018, 09:20:48
через термо-датчики управление включением/выключением нагревательных элементов
Для такого Ардуино мало будет. Надо сервер ставить.

Что там его делать? Схем на терморезисторах валом в сети, стоят компоненты копейки.

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#276: 18 Декабря 2018, 09:32:58
Добрый день. Кто нибудь может собрать контроллер для управления подогревом ? Т.е. через термо-датчики управление включением/выключением нагревательных элементов

Тут главный вопрос - необходимая точность поддержания температуры. С обыкновенным двухпозиционным регулятором будет плавать вокруг необходимой температуры. Насколько сильно зависит от условий того что греем, мощности нагревателя, положения датчика.  Положим греем плиткой стакан из пятерки весом в пару кило -  температура плавает +/- 10 градусов.
Ситуацию спасет пропорционально-интегрально-дифференциальный регулятор, но ваять его за дешего вряд ли кто будет. Его еще и настроить нужно под конкретный обьект. Тут проще купить готовый с возможностью автонастройки.

DimonS

  • *****
  • Сообщений: 19934
    • Просмотр профиля
#277: 18 Декабря 2018, 09:44:46
Как мы любим все усложнять.
Я несколько инкубаторов-автоматов собрал в свое время, точность 0,1 градуса. На обычных советских терморезисторах и транзисторах.
Сейчас и элементная база другая, можно намного проще и точнее все собрать.

ghostman

  • *****
  • Сообщений: 12422
    • Просмотр профиля
#278: 18 Декабря 2018, 09:48:24
Это если схема полностью аналоговая и у тебя есть возможность 90% мощности рассеивать на транзисторе. При одном киловатте оно уже небудет работать.
И учитывай теплоемкость нагреваемого обьекта, расстояние между нагревателем и датчиком. Просто случай с воздухом в маленьком обьеме немного более прост в регулировании чем то же поддержание температуры стокилограммовой болванки чугунной.


Кстати твой регулятор это частный случай пид - это пропорциональный регулятор, без И и Д составляющих.

BarEl beer

  • ***
  • Сообщений: 194
    • Просмотр профиля
#279: 18 Декабря 2018, 09:57:38
Добрый день. Кто нибудь может собрать контроллер для управления подогревом ? Т.е. через термо-датчики управление включением/выключением нагревательных элементов

ОВЕН - делает довольно неплохие железки.


P.S. у нас такие стоЯт на управлении бродильными танками. Точность +/- 0,2 градуса.