19.10.2014, 01:23 | #271 |
Старший Пользователь
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
|
E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -MMD -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DARDUINO=104 -IE:\Arduino\arduino-1.0.4\hardware\arduino\cores\arduino -IE:\Arduino\arduino-1.0.4\hardware\arduino\variants\leonardo X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp -o X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.o
sketch_oct18a.ino: In function 'void loop()': sketch_oct18a.ino:32: warning: suggest parentheses around && within || sketch_oct18a.ino:48: warning: suggest parentheses around && within || sketch_oct18a.ino:111: warning: suggest parentheses around && within || sketch_oct18a.ino:133: warning: suggest parentheses around && within || sketch_oct18a.ino:141: warning: suggest parentheses around && within || sketch_oct18a.ino:141: warning: suggest parentheses around && within || Using previously compiled: X:\TEMP\build8376110162395595122.tmp\malloc.c.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\WInterrupts.c .o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\wiring.c.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\wiring_analog .c.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\wiring_digita l.c.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\wiring_pulse. c.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\wiring_shift. c.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\CDC.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\HardwareSeria l.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\HID.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\IPAddress.cpp .o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\main.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\new.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\Print.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\Stream.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\Tone.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\USBCore.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\WMath.cpp.o Using previously compiled: X:\TEMP\build8376110162395595122.tmp\WString.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\malloc.c.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\WInterrupts.c .o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\wiring.c.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\wiring_analog .c.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\wiring_digita l.c.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\wiring_pulse. c.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\wiring_shift. c.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\CDC.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\HardwareSeria l.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\HID.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\IPAddress.cpp .o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\main.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\new.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\Print.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\Stream.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\Tone.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\USBCore.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\WMath.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-ar rcs X:\TEMP\build8376110162395595122.tmp\core.a X:\TEMP\build8376110162395595122.tmp\WString.cpp.o E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections -mmcu=atmega32u4 -o X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.elf X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.o X:\TEMP\build8376110162395595122.tmp\core.a -LX:\TEMP\build8376110162395595122.tmp -lm E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.elf X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.eep E:\Arduino\arduino-1.0.4\hardware\tools\avr\bin\avr-objcopy -O ihex -R .eeprom X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.elf X:\TEMP\build8376110162395595122.tmp\sketch_oct18a .cpp.hex Размер скетча в двоичном коде: 7*430 байт (из 28*672 байт максимум) |
19.10.2014, 03:47 | #272 | ||
Старший Пользователь
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
|
Цитата:
Цитата:
Код:
int analogPin=A0; int data; void setup() { Serial.begin(9600); digitalWrite(analogPin, HIGH); } void loop() { data=analogRead(analogPin); Serial.println(data); delay(1000); } Выход резистивных кнопок подключите к A0 pro micro. Если в дальнейшем скетч pro micro не захочет заливаться попробуйте так. |
||
19.10.2014, 12:26 | #273 |
Старший Пользователь
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
|
Спасибо огромное
|
19.10.2014, 18:21 | #274 |
Старший Пользователь
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
|
А возможно объединить это в один скетч, чтобы не перезаливать их туда сюда, а сразу вычислить кнопки и испытать, и перекинув проводов от кнопок? И если возможно, то как их состыковать?
|
19.10.2014, 19:44 | #275 | |
Старший Пользователь
Регистрация: 08.10.2013
Возраст: 41
Регион: 56
Машина: Toyota Corolla e150
Сообщений: 325
|
Цитата:
Код:
int analogPin=A0; //пин для подключения кнопок int data; unsigned long flag = 0; unsigned long eventTime = 0; unsigned long pauseMillis = 0; void setup() { Serial.begin(9600); digitalWrite(analogPin, HIGH); Keyboard.begin(); } void loop() { data=analogRead(analogPin); //читаем значение нажатой кнопки Serial.println(data); delay(500); //********************** Громкость ************************************ if(data>=950 && flag == 0) // все кнопки отпущены { eventTime=millis(); } if(millis()-eventTime>10 && millis()-eventTime<499 && data>=210 && data<=230 && flag == 0) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499) { Remote.increase(); flag = 5; delay(10); Remote.clear(); } if(millis()-eventTime>500 && data>=210 && data<=230 && flag == 5 || data>=210 && data<=230 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500) { Remote.increase(); // действие после удержание кнопки, Увеличить громкость каждые 0,1 секунды flag = 3; Remote.clear(); delay(100); } if(millis()-eventTime>10 && millis()-eventTime<499 && data>=457 && data<=477 && flag == 0) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499) { Remote.decrease(); flag = 6; delay(10); Remote.clear(); } if(millis()-eventTime>500 && data>=457 && data<=477 && flag == 6 || data>=457 && data<=477 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500) { Remote.decrease(); // действие после удержание кнопки, Уменьшить громкость каждые 0,1 секунды flag = 3; Remote.clear(); delay(100); } //********************** AltTab + Play/pause ************************************ if(millis()-eventTime>10 && millis()-eventTime<499 && data>=567 && data<=587) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499) { flag = 1; } if(data>=950 && flag == 1 && pauseMillis == 0) // действие после короткого нажатия кнопки, Alt+Tab { Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_TAB); Keyboard.release(KEY_TAB); Keyboard.press(KEY_TAB); Keyboard.release(KEY_TAB); flag = 0; pauseMillis = millis(); } if(data>=950 && flag == 1 && pauseMillis != 0) // действие после короткого повторного нажатия кнопки, Alt+Tab { Keyboard.press(KEY_TAB); Keyboard.release(KEY_TAB); flag = 0; pauseMillis = millis(); } if(pauseMillis && millis()-pauseMillis >= 800 && data>=950) // && flag == 7 && data>=950) { flag = 0; pauseMillis = 0; Keyboard.releaseAll(); } if(millis()-eventTime>500 && data>=567 && data<=587 && flag == 1) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500) { Remote.play_pause(); // действие после удержание кнопки, воспроизведение / пауза flag = 0; delay(10); Remote.clear(); } //********************** Next и Fast Forward ************************************ if(millis()-eventTime>10 && millis()-eventTime<499 && data>=0 && data<=10) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499) { flag = 2; } if(data>=950 && flag == 2) // действие после короткого нажатия кнопки, Next { Remote.next(); flag = 0; delay(10); Remote.clear(); } if(millis()-eventTime>500 && data>=0 && data<=10 && flag == 2 || data>=0 && data<=10 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500) { Remote.forward(); // действие после удержание кнопки, Fast Forward flag = 3; Remote.clear(); delay(100); } //********************** Previous и Rewind ************************************ if(millis()-eventTime>10 && millis()-eventTime<499 && data>=74 && data<=94) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499) { flag = 4; } if(data>=950 && flag == 4) // действие после короткого нажатия кнопки, Previous { Remote.previous(); flag = 0; delay(10); Remote.clear(); } if(millis()-eventTime>500 && data>=74 && data<=94 && flag == 4 || data>=74 && data<=94 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500) { Remote.rewind(); // действие после удержание кнопки, Rewind flag = 3; Remote.clear(); delay(100); } if(data>=950 && flag == 3 || data>=950 && flag == 5 || data>=950 && flag == 6) // действие после отпускания кнопки { flag = 0; } }
__________________
Nexus 7 2012 (grouper), Cyanogenmod 11 - M10 фото установки Nexus 7 2012 & Toyota Corolla |
|
19.10.2014, 20:40 | #276 |
Старший Пользователь
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
|
Зачем? Это два разных скетча, малым Вы вычисляете значения своих резистивных кнопок и подставляете эти значения в большой скетч, а уже потом его заливаете и тестируете. Например у вас значение для Play/Pause 455, в данном скетче это значение 577, значит Вам необходимо заменить data>=567 && data<=587 на data>=445 && data<=465. И еще если объединить, то в Serial будут литься данные, а об delay(500); будет спотыкаться, не давая нормально работать кнопкам.
|
19.10.2014, 21:03 | #277 | |
Старший Пользователь
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
|
Цитата:
|
|
20.10.2014, 02:40 | #278 |
Старший Пользователь
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
|
Еще вопрос, в основном скетче импользуется вход 6, в проверочном А0, почему? Если я ставлю резистор, не проще на одном порту и проверять и работать?
А, раз мы подтянули вход, то резистор не нужен, как я понимаю? Залил считывающий тест, пробовал резисторы разные подсовывать ( имитируя кнопки), вроде работает, на разные сопротивления, дает разные коды, без них шлет код 1022 |
20.10.2014, 15:06 | #279 | |||
Старший Пользователь
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
|
Цитата:
Цитата:
Аналого-цифровой преобразователь Цитата:
|
|||
23.10.2014, 23:45 | #280 |
Новый Пользователь
Регистрация: 09.10.2014
Возраст: 41
Регион: другой - для добавления сообщить ab
Машина: Smart ForTwo
Сообщений: 22
|
Уважаемые!
А что нужно отправить из Leonardo используя HID Keyboard для имитации кнопки выключения (гашения экрана)? Перелопатил кучу инфы, ответ так и не найден. |
Здесь присутствуют: 5 (пользователей: 0 , гостей: 5) | |
|
|