Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Honey
2021-01-23 13:22:53
ТруТень пише:

А как пользоваться man на вине? Или любишь медок, люби и Linux.Ok?

https://www.google.com/search?q=man+patch

ТруТень
2021-01-23 12:40:56

А как пользоваться man на вине? Или любишь медок, люби и Linux.Ok?

Honey
2021-01-22 11:32:58
BogdanT пише:
--- MultiMediaKnob.ino  2019-11-23 22:40:52.000000000 +0200
+++ MultiMediaKnob.ino  2021-01-22 10:25:15.785897486 +0200
@@ -28,6 +28,8 @@
 
 #define LATCHSTATE 3
 int buttonState = HIGH, lastButtonState = HIGH;
+int banMode = 0;
+long banAction = 0;
 long lastDebounceTime = 0, debounceDelay = 50, lastAction = 0;
 int _position = 0, _positionExt = 0, buttonCounter = 0;
 int8_t _oldState; bool shouldActionButton=true, btnReset=true, rotaryMode=false;
@@ -64,21 +66,29 @@
       switch (buttonCounter) {
         case 0:
           // Default Left mode
+          banMode = 0;
           TrinketHidCombo.pressMultimediaKey(LEFT_ACTION);
           break;
         case 1:
           // Mode 1 Left
+          if (banMode == 1 && (lastAction - banAction) < 1000)
+            break;
+          banMode = 1;
+          banAction = lastAction;
           TrinketHidCombo.pressMultimediaKey(LEFT_ACTION_MODE1);
           break;
         case 2:
           // Mode 2 Left
+          banMode = 0;
          TrinketHidCombo.pressMultimediaKey(LEFT_ACTION_MODE2);
           break;
         case 3:
           // Mode 3 Left
+          banMode = 0;
          TrinketHidCombo.pressMultimediaKey(LEFT_ACTION_MODE3);
           break;
         default:
+          banMode = 0;
           break;
       }
     }
@@ -86,21 +96,29 @@
       switch (buttonCounter) {
         case 0:
           // Default Right mode
+          banMode = 0;
           TrinketHidCombo.pressMultimediaKey(RIGHT_ACTION);
           break;
         case 1:
           // Mode 1 Right
+          if (banMode == 2 && (lastAction - banAction) < 1000)
+            break;
+          banMode = 2;
+          banAction = lastAction;
           TrinketHidCombo.pressMultimediaKey(RIGHT_ACTION_MODE1);
           break;
         case 2:
           // Mode 2 Right
+          banMode = 0;
          TrinketHidCombo.pressMultimediaKey(RIGHT_ACTION_MODE2);
           break;
         case 3:
           // Mode 3 Right
+          banMode = 0;
          TrinketHidCombo.pressMultimediaKey(RIGHT_ACTION_MODE3);
           break;
         default:
+          banMode = 0;
           break;
       }
     }
@@ -127,6 +145,7 @@
 
   if ((millis() - lastAction) > buttonPressTimeout) {
     if (shouldActionButton) {
+      banMode = 0;
       switch (buttonCounter) {
         case 0:
           break;

Как пользоваться:
man patch

banMode = 2 и banMode == 2 можно заменить на 1, это просто для примера, как реализовать два вида задержек.

Колесо прокрутки можно сделать, пишите в личку.

BogdanT
2021-01-21 16:42:19

Доброго времени суток!

Есть скетч для управления кнопками мультимедия в Windows энкодером (прилагается).
Все заточено и залито на Digispark Arduino. Использовалась библиотека Adafruit-Trinket-USB.
Энкодер - KY-040.
(Если нужна инструкция – она есть).
Скетч эмилирует нажатие кнопок мультимедия в Windows энкодером.
Основной функционал, который залит в скетче (все действия далее исполняються энкодером):
Нажать кнопку – Mute on/off
Дважды нажать кнопку – Play/Pause
Трижды нажать кнопку – Гибернация
Покрутить вправо-влево – громкость больше-меньше
Зажать кнопку и поркутить вправо-влево – следующий-предыдущий трек (Нужно редактировать этот функционал).

Незадействованный функционал: двойное нажатие (зажать) и прокрутка; тройное нажатие (зажать) и прокрутка.

Проблема, которую нужно решить – при повороте крышечкой установленной на энкодер (в состоянии нажатой кнопки) – часто пролистываю случайно не 1, а 2-3 трека.

Выход из ситуации – после срабатывания одинарной эмуляции нажатия кнопки «следующий трек» заблокировать ввод энкодера на 1000 мсек (1 сек). Получается, что контроллер передает только первый одиночный сигнал (переключить 1 трек), а последующие сигналы блокируются на 1 сек. Я думаю, что это похоже что-то на устранения дребезга контактов тактовой кнопки.

Таким образом, что бы листать треки далее нужно ждать 1 секунду после прокрутки.
Зажал энкодер – крутнул вправо на сколько хочешь (крутить не более 1 сек), а переключился только 1 трек, через 1 секунду, не отпуская зажатой кнопки энкодера, поркутил вправо еще раз – переключился на второй трек.
Задача кажется очень простой (но я с ней не справлюсь).
Готов заплатить 100-150 грн. Если задача не такая легкая, как кажется – напишите, пожалуйста, обсудим цену.

Также дополнительно за отдельную плату, указанную вами нужно (если вообще реально):
покдлючить еще 1 энкодер к этой Arduino (на плате остаются свободные выходы P3, 4, 5), функционал которого просто дублировать прокрутку колесика мыши.
(или другие варианты, возможны в этой схеме с сбережением функционала мультимедия).
Спасибо!

Скетч: Sketch-i-nastrojjki.zip

В скетче за переключение треков отвечают эти "функции":
TrinketHidCombo.pressMultimediaKey(LEFT_ACTION_MODE1);
и
TrinketHidCombo.pressMultimediaKey(RIGHT_ACTION_MODE1)

renoshnik
2020-06-16 18:27:47
Oleg85 пише:

Нужен скетч, кто возьмётся плочу 50евро

такой подойдет ?

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
ard125
2020-06-15 20:18:22
Oleg85 пише:

Нужен скетч, кто возьмётся плочу 50евро

Такой подойдет ?

void setup() {
 
}

void loop() {
 
}

Если да - так и быть, отдам за 49 евро

Oleg85
2020-06-15 19:29:23

Нужен скетч, кто возьмётся плочу 50евро

Никита
2020-06-09 21:45:07

Добрый вечер, нашел скетч и схему на синтезатор ,http://rfanat.ru/s25/dds_sio5351_pro-min.html     Я не использую кнопки , валкодер и LCD , помогите убрать лишний код в скетче.

Никита
2020-06-09 21:44:00

Добрый вечер, нашел скетч и схему на синтезатор ,http://rfanat.ru/s25/dds_sio5351_pro-min.html     Я не использую кнопки , валкодер и ЛСД , помогите убрать лишний код в скетче.

renoshnik
2020-06-01 13:35:21
Палыч пише:
renoshnik пише:
Палыч пише:

Приветствую! Появилась необходимость в написании скетча для Arduino UNO. Программа должна выполнять по очередное моргание светодиодами( количество светодиодов максимально возможное для UNO), после отработки всех светодиодов  останавливаться.Иметь три режима работы - 1. Хаотичный режим( случайно выбранная последовательность) 2. Последовательная отработка (хаотичное срабатывание с заданной последовательностью, например 1-5-3-10-4-12 и тд.) 3. Отработка светодиодов парами в хаотичном режиме( случайно выбранная последовательность например1-8; 3-6;2-11 и тд), режим выбирается одной кнопкой.Программа должна иметь регулировку скорости,5 скоростей(выбор одной кнопкой).Запуск программы выполняется отдельной кнопкой ПУСК. Программа должна выводить на экран информацию - режим; скорость; и напряжение аккумулятора 12В (тип экрана не принципиально -по бюджетные). В случае не возможности применения UNO выбор платформы оставляю за вами но по бюджетные.

цена вопроса ?

Напишите за сколько возьметесь мне на почту pla@mail.ru

примерно 3 - 5 грн. за строчку кода, плюс за корректировки ТЗ от 200 грн. за час общения.

Палыч
2020-06-01 12:34:55
renoshnik пише:
Палыч пише:

Приветствую! Появилась необходимость в написании скетча для Arduino UNO. Программа должна выполнять по очередное моргание светодиодами( количество светодиодов максимально возможное для UNO), после отработки всех светодиодов  останавливаться.Иметь три режима работы - 1. Хаотичный режим( случайно выбранная последовательность) 2. Последовательная отработка (хаотичное срабатывание с заданной последовательностью, например 1-5-3-10-4-12 и тд.) 3. Отработка светодиодов парами в хаотичном режиме( случайно выбранная последовательность например1-8; 3-6;2-11 и тд), режим выбирается одной кнопкой.Программа должна иметь регулировку скорости,5 скоростей(выбор одной кнопкой).Запуск программы выполняется отдельной кнопкой ПУСК. Программа должна выводить на экран информацию - режим; скорость; и напряжение аккумулятора 12В (тип экрана не принципиально -по бюджетные). В случае не возможности применения UNO выбор платформы оставляю за вами но по бюджетные.

цена вопроса ?

Напишите за сколько возьметесь мне на почту pla@mail.ru

renoshnik
2020-06-01 12:09:58
Палыч пише:

Приветствую! Появилась необходимость в написании скетча для Arduino UNO. Программа должна выполнять по очередное моргание светодиодами( количество светодиодов максимально возможное для UNO), после отработки всех светодиодов  останавливаться.Иметь три режима работы - 1. Хаотичный режим( случайно выбранная последовательность) 2. Последовательная отработка (хаотичное срабатывание с заданной последовательностью, например 1-5-3-10-4-12 и тд.) 3. Отработка светодиодов парами в хаотичном режиме( случайно выбранная последовательность например1-8; 3-6;2-11 и тд), режим выбирается одной кнопкой.Программа должна иметь регулировку скорости,5 скоростей(выбор одной кнопкой).Запуск программы выполняется отдельной кнопкой ПУСК. Программа должна выводить на экран информацию - режим; скорость; и напряжение аккумулятора 12В (тип экрана не принципиально -по бюджетные). В случае не возможности применения UNO выбор платформы оставляю за вами но по бюджетные.

цена вопроса ?

Палыч
2020-06-01 12:04:42

Приветствую! Появилась необходимость в написании скетча для Arduino UNO. Программа должна выполнять по очередное моргание светодиодами( количество светодиодов максимально возможное для UNO), после отработки всех светодиодов  останавливаться.Иметь три режима работы - 1. Хаотичный режим( случайно выбранная последовательность) 2. Последовательная отработка (хаотичное срабатывание с заданной последовательностью, например 1-5-3-10-4-12 и тд.) 3. Отработка светодиодов парами в хаотичном режиме( случайно выбранная последовательность например1-8; 3-6;2-11 и тд), режим выбирается одной кнопкой.Программа должна иметь регулировку скорости,5 скоростей(выбор одной кнопкой).Запуск программы выполняется отдельной кнопкой ПУСК. Программа должна выводить на экран информацию - режим; скорость; и напряжение аккумулятора 12В (тип экрана не принципиально -по бюджетные). В случае не возможности применения UNO выбор платформы оставляю за вами но по бюджетные.

Alex9 ;)
2020-04-27 23:13:45

Здравствуйте. Я хотел бы усовершенствовать мышку для компьютера и вмонтировать в нее Arduino с тремя кнопками и светодиодной лентой. Надо чтоб:
1) Первая кнопка при нажатие включала Ctrl, а при отпускании кнопки выключала Ctrl.
2) Вторая кнопка при нажатие включала Пробел, а при отпускании кнопки выключала Пробел.
3) Третья кноп должна при нажатии в быстро включать Правую кнопку мши примерно 3 раза в секунду, а отпускании кнопки выключала этот режим.
4) Светодиодная лента (Адресная светодиодная лента) диной 24 см, загорались поочерёдно светодиоды радугой (Бегущая радуга) и было ещё каких-то разных режимов (и чтоб режимы светодиодной ленты переключались сами анне через какую-то кнопку).
И можете заранее сказать сколько стоит проект.

Моя почта: fdchy@bk.ry

Alex9 ;)
2020-04-27 23:07:06

Здравствуйте. Я хотел бы усовершенствовать мышку для компьютера и вмонтировать в нее Arduino с тремя кнопками и светодиодной лентой. Надо чтоб:
1) Первая кнопка при нажатие включала Ctrl, а при отпускании кнопки выключала Ctrl.
2) Вторая кнопка при нажатие включала Пробел, а при отпускании кнопки выключала Пробел.
3) Третья кноп должна при нажатии в быстро включать Правую кнопку мши примерно 3 раза в секунду, а отпускании кнопки выключала этот режим.
4) Светодиодная лента (Адресная светодиодная лента) диной 24 см, загорались поочерёдно светодиоды радугой (Бегущая радуга) и было ещё каких-то разных режимов (и чтоб режимы светодиодной ленты переключались сами анне через какую-то кнопку).
И можете заранее сказать сколько стоит проект.

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