Проблема с ARDUINO
- Войдите на сайт для отправки комментариев
Сб, 31/10/2015 - 11:14
Всем привет!
Начал осваивать функции библиотеки RemoteXY,
после того как составил интерфейс, сделал код
///////////////////////////////////////////// // RemoteXY include library // // use ANDROID app version 3.2.1 or up // ///////////////////////////////////////////// /* определение режима соединения и подключение библиотеки RemoteXY */ #define REMOTEXY_MODE__SOFTWARESERIAL #include <SoftwareSerial.h> #include <RemoteXY.h> /* настройки соединения */ #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 /* конфигурация интерфейса */ unsigned char RemoteXY_CONF[] = { 11,0,125,0,3,5,4,0,2,1 ,6,58,1,4,0,12,1,6,58,6 ,4,0,22,1,7,58,4,2,0,35 ,3,16,6,2,79,78,0,79,70,70 ,0,2,0,35,22,16,6,2,79,78 ,0,79,70,70,0,2,0,35,32,16 ,6,2,79,78,0,79,70,70,0,2 ,0,35,41,16,6,2,79,78,0,79 ,70,70,0,2,0,35,52,16,6,2 ,79,78,0,79,70,70,0,2,0,35 ,12,16,6,2,79,78,0,79,70,70 ,0,1,0,82,40,12,12,2,88,0 ,1,0,64,40,12,12,1,120,0 }; /* структура определяет все переменные вашего интерфейса управления */ struct { /* input variable */ signed char slider_1; /* =0..100 положение слайдера */ signed char slider_2; /* =0..100 положение слайдера */ signed char slider_3; /* =0..100 положение слайдера */ unsigned char switch_1; /* =1 если переключатель включен и =0 если отключен */ unsigned char switch_2; /* =1 если переключатель включен и =0 если отключен */ unsigned char switch_3; /* =1 если переключатель включен и =0 если отключен */ unsigned char switch_4; /* =1 если переключатель включен и =0 если отключен */ unsigned char switch_5; /* =1 если переключатель включен и =0 если отключен */ ; /* =1 если переключатель включен и =0 если отключен */ unsigned char button_1; /* =1 если кнопка нажата, иначе =0 */ unsigned char button_2; /* =1 если кнопка нажата, иначе =0 */ /* other variable */ unsigned char connect_flag; /* =1 if wire connected, else =0 */ } RemoteXY; ///////////////////////////////////////////// // END RemoteXY include // ///////////////////////////////////////////// #define PIN_SWITCH_1 4 #define PIN_SWITCH_2 7 #define PIN_SWITCH_3 8 #define PIN_SWITCH_4 10 #define PIN_SWITCH_5 11 #define PIN_BUTTON_1 13 #define PIN_BUTTON_2 12 #define led1 5 #define led2 6 #define led3 9 void setup() { RemoteXY_Init (); pinMode (PIN_SWITCH_1, OUTPUT); pinMode (PIN_SWITCH_2, OUTPUT); pinMode (PIN_SWITCH_3, OUTPUT); pinMode (PIN_SWITCH_4, OUTPUT); pinMode (PIN_SWITCH_5, OUTPUT); pinMode (PIN_BUTTON_1, OUTPUT); pinMode (PIN_BUTTON_2, OUTPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); RemoteXY.slider_1 = 0; RemoteXY.slider_2 = 0; RemoteXY.slider_3 = 0;// TODO you setup code } void loop() { RemoteXY_Handler (); digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH); digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH); digitalWrite(PIN_SWITCH_3, (RemoteXY.switch_3==0)?LOW:HIGH); digitalWrite(PIN_SWITCH_4, (RemoteXY.switch_4==0)?LOW:HIGH); digitalWrite(PIN_SWITCH_5, (RemoteXY.switch_5==0)?LOW:HIGH); digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH); digitalWrite(PIN_BUTTON_2, (RemoteXY.button_2==0)?LOW:HIGH); int r; int g; int b; // TODO you loop code // используйте структуру RemoteXY для передачи данных r= RemoteXY.slider_1*2.5; g= RemoteXY.slider_2*2.5; b= RemoteXY.slider_3*2.5; analogWrite(led1,r); analogWrite(led2,g); analogWrite(led3,b); }
загрузил в ARDUINO LEONARDO, после попытки перепраграмммировать, компьютер выдал: устройвство USB не опознано,
ЧТО делать?
Попробуйте зажать ресет и подключать с зажатым.
ЗЫ. Прямо эпидемия. Сам 2 дня долбусь, просто треш. Пару лет все работало, тот же аппаратный комплект с Наной, на ноут месяц не ставил вобще нового софта. В проекте (заливается многократно, стабильно) добавлен ИК приемник, ну полярность подключения перепутал, бес видать попутал (хелоуин же).
Тут начало цикла.
USB отключился по току. Проверяю USB - работает, флешку принимает. Подключаю ардуино - устройство не опознано PID_0000VID_0000. Переставляю драйвера из старых провереных, долбу всеми средствами, иногда опознает, но редко. После опознания перехожу на начало цикла :)))
После многих попыток надолбал такой путь. Если USB отрубался по току - переставить дрова. В остальных случаях подключать ардуинку при зажатом ресете. В половине случаев помогает. Не отключать без надобности!!! Вчера целый день стабильно шилась и обменивалась, вечером отключил, подключаю - не опознана, подключаю при зажатом ресете- ОК. Сегодня также. По току больше не перегружал.
Может производитель FTDI снова с пиратами бодается?!
Решил проблему так:
Взял самый маленький и простой скетч,
подключил ардуино к компьютеру и нажал загрузить,
в этот момент нажал резет
и... ура
загрузка выполнена успешно.