10.01.2017, 08:10 | #81 |
Новый Пользователь
Регистрация: 08.01.2017
Возраст: 48
Город: Chelyabinsk
Регион: 74
Машина: Actyon
Сообщений: 5
|
Ну и имеется в виду спать, просто это же кнопка "power"
Вот как в скрипте на 6-ой странице, строка которая не проходит компиляцию: if (data>=140 && data<=150) // спать { Remote.power(); Remote.clear(); } |
10.01.2017, 09:03 | #82 | |
Старший Пользователь
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
|
Цитата:
|
|
11.01.2017, 19:01 | #83 |
Новый Пользователь
Регистрация: 08.01.2017
Возраст: 48
Город: Chelyabinsk
Регион: 74
Машина: Actyon
Сообщений: 5
|
Не, файлики то поменяны, но заменил попробовать из тех что по ссылке - все равно так же 'class Remote_' has no member named 'power'
|
12.01.2017, 19:03 | #84 |
Новый Пользователь
Регистрация: 08.01.2017
Возраст: 48
Город: Chelyabinsk
Регион: 74
Машина: Actyon
Сообщений: 5
|
О! Победил
Оказывается надо так: Remote.power(); Remote.clear(); То есть "Power" надо с маленькой буквы! С чего бы ради - непонятно, но так скомпилировалось. |
01.03.2017, 11:13 | #85 |
Новый Пользователь
Регистрация: 11.10.2016
Возраст: 37
Город: Куйбышев
Регион: 54
Машина: Mazda
Сообщений: 7
|
Всем привет! Стоит задача рулить цифровым потенциометром используя энкодер. Написал скетч - залил в Arduino Uno, подтянул пины по питанию через встроенные резисторы. Все работает и регулируется. НО после того как перенес этот скетч на Pro Mini 3.3V 8Mhz, то появился глюк - вращаешь энкодер в любую сторону а он циклично меняет значение сначала до минимума а потом до максимума (либо наоборот, смотря в какую сторону крутить). Попробовал переписать скетч под библиотеку Encoder.h, но в результате все повторяется. На Uno работает как должно, а на Pro Mini циклично меняет значение, как будто энкодер попеременно вращаешь в разные стороны. Возможно где-то по схемотехнике чего-то надо добавить? В общем, прошу помощи.
__________________
Pioneer SPH-DA100 + Mini M8S II + Helix DSP.2 + Arduino Последний раз редактировалось admin; 23.03.2017 в 01:24. |
01.03.2017, 16:23 | #86 |
Модератор
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
|
Я нисколько не программист, но пользуюсь таким скетчем в своих поделках. Связка: энкодер+ProMini 5V 16Mhz работает нормально.
Последний раз редактировалось admin; 23.03.2017 в 01:25. |
01.03.2017, 19:14 | #87 | |
Новый Пользователь
Регистрация: 11.10.2016
Возраст: 37
Город: Куйбышев
Регион: 54
Машина: Mazda
Сообщений: 7
|
Цитата:
__________________
Pioneer SPH-DA100 + Mini M8S II + Helix DSP.2 + Arduino Последний раз редактировалось admin; 23.03.2017 в 01:24. |
|
01.03.2017, 19:22 | #88 |
Модератор
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
|
|
10.08.2017, 20:50 | #89 |
Пользователь
Регистрация: 11.02.2017
Возраст: 37
Город: Новокузнецк
Регион: 42
Машина: FordFocus 2
Сообщений: 68
|
Здравствуйте делаю планшет в машину! Остановился на подключении кнопок на руле точнее я подключил ардуйно про микро и кнопки но сейчас решил добавить энкодер и теперь не знаю как объединить два сетча помогите пожалуйста , сам не осилю! По отдельности все работает! Заранее спасибо
это для энкодера [PHP]#define BTN_pin 8 // pin 8 кнопка энкодера SW const int pin_A = 10; // pin 10 нога энкодера CLK const int pin_B = 9; // pin 9 нога энкодера DT unsigned char encoder_A; //переменная unsigned char encoder_B; //переменная unsigned char encoder_A_prev=0; //переменная uint32_t vibor = 0; //Здесь будем хранть время int perek = 0; //переменная переключатель void setup() { digitalWrite(BTN_pin, 1); //подтяжка кнопки энкодера pinMode(pin_A, INPUT); //пины энкодера объявляем входами pinMode(pin_B, INPUT); //пины энкодера объявляем входами Keyboard.begin(); //подключим как клава } void loop() { { encoder_A = digitalRead(pin_A); // считываем состояние выхода А энкодера encoder_B = digitalRead(pin_B); // считываем состояние выхода B энкодера if((!encoder_A) && (encoder_A_prev)){ // если состояние изменилось с положительного к нулю if(encoder_B) { Remote.increase(); //отправляем команду громкость выше Remote.clear(); //очищаем команду } else { Remote.decrease(); //отправляем команду громкость ниже Remote.clear(); //очищаем команду } } encoder_A_prev = encoder_A; // сохраняем значение А для следующего цикла } if(digitalRead(BTN_pin)==LOW) //Если кнопка нажата то делаем то что ниже. { Keyboard.press(KEY_LEFT_ALT); //нажмем кнопку ALT Keyboard.press(KEY_TAB); //нажмем кнопку TAB Keyboard.release(KEY_TAB); //отпустим кнопку TAB delay(150); //ждем 150мс чтоб не скакало по окошкам vibor = millis(); //запускаем отсчет времени perek=1; //переменной переключателя присваиваем 1 } if((vibor && millis()-vibor > 1000) && perek==1) //если прошло больше 1 секунды и перемменая переключателя = 1 { Keyboard.releaseAll(); //отпускаем все кнопки perek = 0; //переменной переключателя присваиваем 0 чтоб сюда больше не заходил } } /PHP] для кнопок на руль [PHP]int rknop; // это переменная которая хранит значения наших кнопок. void setup() { Serial.begin(9600); //это скорость соединения с компьютером (для сериал монитора в нашем случае) pinMode(rknop,INPUT); } void loop() { rknop=analogRead(A0); //Считываем значения на порту A0 и записываем значения в переменную rknop Serial.println(rknop); //Отправляем данные переменной rknop на компьютер delay(200); //небольшая задержка в пол секунды, её можно удалить но значения в сериал мониторе будет меняться очень быстро /////////////////////////////////////////// if(rknop < 969 && rknop > 966) //здесь мы делаем условие. Т.е если у наз значение переменной rknop больше 900 и меньше 960 то делаем какоето действие которая ниже. На сколько мы помним при нажатии кнопки S1 у нас значения были ~930 так вот мы могли написать просто if(rknop == 930) что означает если rknop равно 930 то делем дейсвие которое ниже, но наши значения немного игрют поэтому мы задаем никий промежуток от 900 до 960 { Remote.next(); //отправляем команду следующая песня delay(200); //делаем небольшую задержу чтоб устройство успело отправить необходимые команды на планшет или компьютер и не засыпать его командами Remote.clear();//очищаем команду } //////////////////////////////////////////// if(rknop < 994 && rknop > 992) { Remote.previous(); //предыдущая песня delay(200); Remote.clear(); } //////////////////////////////////////////// if(rknop < 927 && rknop > 925) { Remote.play_pause(); //плей и паузу delay(200); Remote.clear(); } //////////////////////////////////////////// if(rknop < 1009 && rknop > 1007) { Remote.increase(); //громкость прибавить delay(000); Remote.clear(); } //////////////////////////////////////////// if(rknop < 1019 && rknop > 1015) { Remote.decrease(); //громкость убавить delay(000); Remote.clear(); }/PHP] Последний раз редактировалось admin; 15.10.2018 в 23:11. |
11.08.2017, 07:16 | #90 |
Старший Пользователь
Регистрация: 07.09.2015
Возраст: 43
Город: Алматы
Регион: Казахстан
Машина: MMC DELICA 94 (булка)
Сообщений: 209
|
Las42kuz, как оно могло у Вас работать, если не хватает библиотек в обоих скетчах и желательно ссылку на них ибо стандартные не работают.
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
|
|