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

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

Ant_28

  • ***
  • Сообщений: 1310
    • Просмотр профиля
    • http://ant28.ru
#175: 07 Февраля 2017, 09:17:27
Propovednik, брать связку мини + ENC28J60. Должно быть достаточно компактно. стоить будет примерно $4 Если чуть дороже, но удобнее - Nano + Nano шилд на ENC28J60

costa

  • ***
  • Сообщений: 6097
    • Просмотр профиля
#176: 07 Февраля 2017, 12:02:52
заколхозил программатор по схеме с easyelectronics.ru


Ataman

  • ***
  • Сообщений: 799
    • Просмотр профиля
#177: 15 Июня 2017, 02:12:15
Пришло сиё чудо с китая, есть тут люди, которые смогут настроить её (не за просто так конечно)? Всё хорошо работало, пока хозяин не прошил из программы предложенной прошивкой. На данный момент в родной программе лазер ходит как положено, но горит тускло и не выжигает. Пробовал прошивать разные GRBL (0.8/0.9/1.1) - эффекта нет.












Efim25

  • ***
  • Сообщений: 728
    • Просмотр профиля
#178: 15 Июня 2017, 08:21:12
Всем привет.

В общем пишу программки для stm32 (как хобби) AVR как то быстро стало неинтересно

если есть кому интересно обменяться опытом, то милости прошу в ЛС

Efim25

  • ***
  • Сообщений: 728
    • Просмотр профиля
#179: 15 Июня 2017, 08:30:23
Propovednik, брать связку мини + ENC28J60. Должно быть достаточно компактно. стоить будет примерно $4 Если чуть дороже, но удобнее - Nano + Nano шилд на ENC28J60

уточню  ENC28J60 уже как бы устарело, лучше w5500 (как раз сейчас кручу ее на stm)

paravis

  • *****
  • Сообщений: 22600
    • Просмотр профиля
#180: 15 Июня 2017, 11:03:52
Пришло сиё чудо с китая
Во сколько обошлось?

Efim25

  • ***
  • Сообщений: 728
    • Просмотр профиля
#181: 15 Июня 2017, 11:56:57
Ataman,  лазер скорее всего управляется через PWM  надо смотреть исходный код того что зашили, и смотреть куда подключен лазер

Ataman

  • ***
  • Сообщений: 799
    • Просмотр профиля
#182: 15 Июня 2017, 13:48:43
Efim25,
Поможешь? Не за бесплатно. Привезу всё. Один товарищ пообещал помочь и соскочил.

Ataman

  • ***
  • Сообщений: 799
    • Просмотр профиля
#183: 15 Июня 2017, 13:50:32
paravis,
12K

paravis

  • *****
  • Сообщений: 22600
    • Просмотр профиля
#184: 15 Июня 2017, 16:30:20

Efim25

  • ***
  • Сообщений: 728
    • Просмотр профиля
#185: 16 Июня 2017, 08:12:45
Ataman если ни чего писать не надо могут так помочь

от тебя нужно то что зашили в контроллер - только интересует исходный код а не сама прошивка - что бы понять на какую ногу отправляется PWM сигнал для лазера, ну и посмотреть с какой ножки идет управление на яркость лазера

Efim25

  • ***
  • Сообщений: 728
    • Просмотр профиля
#186: 04 Июля 2017, 08:53:00
Ataman,  написал тебе в ЛС

Olegych

  • ***
  • Сообщений: 956
    • Просмотр профиля
#187: 20 Ноября 2017, 23:09:56
Подскажите знающие люди, в нашем горооде Б где-нибудь можно приобрести пару релюшек для ардуино?
З.Ы. алиекспресс не советовать, знаю что там есть, но тут надо как можно быстрее.

paravis

  • *****
  • Сообщений: 22600
    • Просмотр профиля
#188: 20 Ноября 2017, 23:25:45
Olegych, Тел.: +7-909-818-18-81 ( телефон, WhatsApp, Telegram) Владимир.Ник VovanU.
Его прайс http://forum.amit.ru/index.php/topic,80580.msg6085277.html#msg6085277

Olegych

  • ***
  • Сообщений: 956
    • Просмотр профиля
#189: 21 Ноября 2017, 21:23:14
paravis, Спасибо добрый человек! ;)

Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#190: 26 Марта 2018, 18:47:27
Приобрел побаловаться конструктор на Ардуино Уно. Два дня разбирался с дребезгом кнопок. В итоге
(здесь была ссылка на видео)

paravis

  • *****
  • Сообщений: 22600
    • Просмотр профиля
#191: 26 Марта 2018, 19:00:12
Мигалка. Круто.

Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#192: 26 Марта 2018, 20:11:56
Сам не совсем понимаю, как это работает. :undecided: :rolleyes:

ghostman

  • *****
  • Сообщений: 11076
    • Просмотр профиля
#193: 26 Марта 2018, 20:32:21
В функции буттон рид задержка в две секунды с какой целью? Для подавления дребезга достаточно десяти миллисекунд.


Что бы не ломать голову как это работает для начала нужно все писать в основном цикле.

Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#194: 26 Марта 2018, 20:44:39
Вот сам этого и не совсем пойму. Сначала установил задержку 100, чуть кнопку передержал - не срабатывает отключение/подключение. Эксперементально довел до 2000. В общем эта величина получается, как максимальное время нажатия на кнопку для удачного переключения. Но вот из-за этих 2 секунд возникает задержка в срабатывании контрольного светодиода (13 пин на плате ардуино)

Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#195: 26 Марта 2018, 21:01:31
В общем буду завтра в отладчике посмотреть.

tower

  • *****
  • Сообщений: 12243
    • Просмотр профиля
#196: 26 Марта 2018, 21:03:35
Мсбк, я вот прям ооочень рекомендую ознакомиться. написано великолепно, очень понятно.
http://mypractic.ru/uroki-programmirovaniya-arduino-navigaciya-po-urokam

Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#197: 26 Марта 2018, 21:09:10
За помощь спасибо! Сегодня всё.

DimonS

  • *****
  • Сообщений: 18686
    • Просмотр профиля
#198: 26 Марта 2018, 21:36:00
Ну вот тоже неплохая книжка. С теорией и практикой.

http://radiohata.ru/arduino/965-ulli-sommer-programmirovanie-mikrokontrollernyh-plat-arduino-freeduino-cd.html

Правда, диск не нашел где скачать, но и без него все понятно.

ghostman

  • *****
  • Сообщений: 11076
    • Просмотр профиля
#199: 26 Марта 2018, 21:50:16
Антидребезг вообще делается без delay, а заводом таймерной переменной в которой отсчитывается промежуток времени и если прошло 10-20 или сколько там решили отвести на дребезг то перчитываем еще раз состояние. А делэй приостанавливает все кроме прерываний.

А с делэем примерно так. Переменные две - предыдущее состояние кнопки и флаг события нажатия. При обработке события флаг сбрасывается, типа обработали событие нажатия. Флаг нажатия взводится после отпускания кнопки. Кнопка притягивает вход к земле, подтягивающий резистор включен, по этому состояние входа инверсное.


Смысл флагов в том что ты их можешь отдельно обрабатывать и не лезть в процедуру опроса кнопок. Иначе после пары-тройки кнопок черт ногу сломит в писанине и сам запутаешься.


И без пошаговой отладки разбираться - дело гиблое, и это только в симуляторе возможно для ардуины. По сему протеус для изучения - мастхэв. Да собственно кроме него ничего и не нужно, да же ардуина.



//#include <avr/iom324p.h>
/* Main.ino file generated by New Project wizard
 *
 * Created:   Thu Sep 5 2013
 * Processor: ATmega328P
 * Compiler:  Arduino AVR
 */


byte btn_state = 0;
byte btn_press_flag = 0;


void setup()
 {
   pinMode(0, INPUT);
   pinMode(13, OUTPUT);
   digitalWrite(0, HIGH);
 }


void loop()
 {
   if ((btn_state == 0) & (!digitalRead(0)))
   {
      delay(20);
      if (!digitalRead(0)) btn_state = 1;
     
   }
   if ((btn_state == 1) & (digitalRead(0)))
   {
      btn_state = 0;
      btn_press_flag = 1;
   }


   if (btn_press_flag == 1)
   {
      digitalWrite(13, !(digitalRead(13)));
      btn_press_flag = 0;
   }
 }


Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#200: 26 Марта 2018, 22:04:12
Цитировать
digitalWrite(13, !(digitalRead(13)));
И так можно? :shocked: :azn:
Ребят, спасибо! На завтра свободное время спланировал:)

ghostman

  • *****
  • Сообщений: 11076
    • Просмотр профиля
#201: 26 Марта 2018, 22:12:33
И так можно? :shocked: :azn:

Не вижу проблемы. Прочитали состояние, потом записали. Выходной регистр можно как писать так и читать у avr8
А вообще инвертирование состояния выходного пина делается так:
PINB |= (1 << PINB5);
это для вывода "13" ардуины.
но это напрямую работа с портом.

paravis

  • *****
  • Сообщений: 22600
    • Просмотр профиля
#202: 30 Апреля 2018, 12:59:07

Мсбк

  • ***
  • Сообщений: 419
    • Просмотр профиля
#203: 30 Апреля 2018, 14:37:09
Все-таки сломали интернет

paravis

  • *****
  • Сообщений: 22600
    • Просмотр профиля
#204: 30 Апреля 2018, 17:50:18
Все-таки сломали интернет
ссылка
...и у меня тоже самое:(
Всё работает.

BarEl beer

  • ***
  • Сообщений: 116
    • Просмотр профиля
#205: 23 Мая 2018, 14:37:43
Какой блестящий образчик индусского кода.

ghostman

  • *****
  • Сообщений: 11076
    • Просмотр профиля
#206: 23 Мая 2018, 20:58:52
Какой блестящий образчик индусского кода.

Ну, так то, учитывая что все это очень зависит от времени, не такой уж это индусский код. Лучше сделать - только в обработчике прерывания таймера играть, оттуда же читать следующий шаг. Но, опять же, на время играния ноты все колом будет вставать. Это нужно заводить аппаратный генератор, а стартовать, тормозить и менять частоту из прерывания таймера. Но это если у атмеги 328 или какая там стоит, есть режим аппаратного генератора.

yas_1

  • ***
  • Сообщений: 160
    • Просмотр профиля
#207: 11 Июня 2018, 00:21:03
ИМХО можно без всяких таймеров обойтись, только кнопку на размыкание надо. Один контакт от кнопки на -, а ко второму резистор чтобы в момент размыкания притягивал потенциал на +, в момент нажатия кнопка размыкается и на входе появляется логическая 1, при отпускании контакты замыкаются и опять ноль. Думаю что при размыкании дребезга не должно быть.... Но могу ошибаться... Можно схему усложнить, при размыкании в цепь добавить конденсатор, который заряжается через резистор, но тут надо схему расчитывать. Еще как вариант можно использовать вместо задержки или таймеров счетчик, то есть количество считанных единиц подряд, например при наличии больше 1000 логических единиц подряд  на входе  - запускаем нужный код

ghostman

  • *****
  • Сообщений: 11076
    • Просмотр профиля
#208: 11 Июня 2018, 11:53:22
Еще как вариант можно использовать вместо задержки или таймеров счетчик, то есть количество считанных единиц подряд, например при наличии больше 1000 логических единиц подряд  на входе  - запускаем нужный код

И будет длительность защиты от дребезга зависеть от периода цикла то есть сложности кода. Учитывая тормознутость фреймворка будет период защиты плавать от миллисекунд до секунд. Так делается, только количество единиц считается в обработчике прерывания по таймеру.