Проблема с ARDUINO

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

Всем привет!

Начал осваивать функции библиотеки 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 не опознано, 

ЧТО делать?

Logik
Offline
Зарегистрирован: 05.08.2014

 

Попробуйте зажать ресет и подключать с зажатым. 

ЗЫ. Прямо эпидемия. Сам 2 дня долбусь, просто треш. Пару лет все работало, тот же аппаратный комплект с Наной, на ноут месяц не ставил вобще нового софта. В проекте (заливается многократно, стабильно) добавлен ИК приемник, ну полярность подключения перепутал, бес видать попутал (хелоуин же). 

Тут начало цикла. 

USB отключился по току.  Проверяю USB - работает, флешку принимает. Подключаю ардуино - устройство не опознано PID_0000VID_0000. Переставляю драйвера из старых провереных, долбу всеми средствами, иногда опознает, но редко. После опознания перехожу на начало цикла :)))

После многих попыток надолбал такой путь. Если USB отрубался по току - переставить дрова. В остальных случаях подключать ардуинку при зажатом ресете. В половине случаев помогает. Не отключать без надобности!!! Вчера целый день стабильно шилась и обменивалась, вечером отключил, подключаю - не опознана, подключаю при зажатом ресете- ОК. Сегодня также. По току больше не перегружал.

Может производитель FTDI снова с пиратами бодается?! 

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

Решил проблему так:

Взял самый маленький и простой скетч,

подключил ардуино к компьютеру и нажал загрузить,

в этот момент нажал резет

и... ура

загрузка выполнена успешно.