Arduino Mega 2560 R3 не работает с шилдом Motor Shield Wenzhou L293D

Dmti
Dmti аватар
Offline
Зарегистрирован: 13.10.2013

Запустил пример Steper Test выпала ошибка с библиотекой WProgram, поменял на Arduino.h. Стала выподать ошибка множественная декларация (что такое слабо понимаю), закоментировал стоку AFMotorController::AFMotorController(void) { } и добавил строку  

||   defined(__AVR_ATmega2560__)

к строке 

#elif efined(__AVR_ATmega1280__) 

стла опять писать множественная декларация latch_tx()

полный код ошибки:

AFMotor\AFMotor.cpp.o: In function `AFMotorController::latch_tx()':

C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:36: multiple definition of `AFMotorController::latch_tx()'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:35: first defined here
c:/program files/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
AFMotor\AFMotor.cpp.o: In function `AF_Stepper::onestep(unsigned char, unsigned char)':
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:393: multiple definition of `AF_Stepper::onestep(unsigned char, unsigned char)'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:400: first defined here
AFMotor\AFMotor.cpp.o: In function `AF_Stepper::step(unsigned int, unsigned char, unsigned char)':
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:350: multiple definition of `AF_Stepper::step(unsigned int, unsigned char, unsigned char)'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:357: first defined here
AFMotor\AFMotor.cpp.o: In function `AF_Stepper::release()':
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:339: multiple definition of `AF_Stepper::release()'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:346: first defined here
AFMotor\AFMotor.cpp.o: In function `AFMotorController::enable()':
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:14: multiple definition of `AFMotorController::enable()'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:22: first defined here
AFMotor\AFMotor.cpp.o: In function `AF_Stepper':
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:286: multiple definition of `AF_Stepper::AF_Stepper(unsigned int, unsigned char)'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:293: first defined here
AFMotor\AFMotor.cpp.o: In function `AF_Stepper':
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor/AFMotor.cpp:286: multiple definition of `AF_Stepper::AF_Stepper(unsigned int, unsigned char)'
AFMotor.cpp.o:C:\Users\Dimitri\AppData\Local\Temp\build3060534936635475779.tmp/AFMotor.cpp:293: first defined here
 
 
Скажите для этой дуны есть работающий пример к этому шилду.
Dmti
Dmti аватар
Offline
Зарегистрирован: 13.10.2013

Все библиотеки вернул в исходное. В файле AFMotor.cpp в место

 #include "WProgram.h"

написал

#if defined(ARDUINO) && ARDUINO >= 100
      #include "Arduino.h"
    #else
      #include "WProgram.h"
    #endif

списал на какомто сайте

в секторе MOTORS все строки 

#elif defined(__AVR_ATmega1280__)

дополнил до 

#elif defined(__AVR_ATmega1280__)  || \
    defined(__AVR_ATmega2560__)

не чиго лудшего не придумал. После всех манипуляций стал получать ошибку:

AFMotor.cpp:222: error: 'AF_DCMotor' has not been declared
AFMotor.cpp:222: error: ISO C++ forbids declaration of 'AF_DCMotor' with no type
AFMotor.cpp: In function 'int AF_DCMotor(uint8_t, uint8_t)':
 
DCMotor часть мне не нужна надо только STEP поэтому всю DC часть закоментировал и стал получать ошибку:
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor\AFMotor.cpp:7:22: error: WProgram.h: No such file or directory
C:\Users\Dimitri\Documents\Arduino\libraries\AFMotor\AFMotor.cpp: In member function 'void AFMotorController::enable()':
хотя до того пока не закоментировал файл WProgram.h виделся .
Подскажите где копать или рабочий примерчик под этот модуль или как воздействодать на микруху 74HCT595D чтобы она заработала или кто видел толковое описание.
maksim
Offline
Зарегистрирован: 12.02.2012

1. Что за библиотека? Откуда качали?

2. Какая версия IDE ?

maksim
Offline
Зарегистрирован: 12.02.2012

В общем делаете следуещее:

1. Перестаете извращаться над либой.

2. Качаете эту либу.

3. Качаете Arduino 1.0.4 (Windows?

4. Распаковываете архив с либой в \arduino-1.0.4\libraries.

5. Запускаете IDE и пользуетесь.

Dmti
Dmti аватар
Offline
Зарегистрирован: 13.10.2013

Версия IDE  1.5.4. Откуда качал библиотеки уже не помню у меня их уже штук 6 и Мотор Мастер и AFMotor и AccelStepper разные версии и все не работают часть не видит WProgram другая часть видет но выдаёт ошибку типа множественной декларации внутри файла WProgram.c. Поэтому и полез разбираться в библиотеки.

Переустановил IDE 1.0.4. Скачал библиотеку по сылке разорхивировал в мои документы запустил AFMotor_MultiStepper, получил ошибку на названия переименовал удалив все тире. Получил ошибку нет библиотеки,  error: 'AccelStepper' does not name a type. Добавил недостающую из старых скачиваний. Откомпилировалась и загрузилась без ошибки. Шаговые движки один просто гудит и не крутит второй гудит и валом трясёт и тоже крутить не хочет. Думаю, что катушки перепутаны один снял с принтера Samsung нет ни каких данных, подключается по 5 проводной схеме относительно средней точки везде 22 ома второй вообще, хрен знает где снял, тоже 5 проводов. Буду пробовать методом перебора, или есть, какая ни будь метода, скиньте ссылку если знаете 

Спасибо за ответы.

vvadim
Offline
Зарегистрирован: 23.05.2012

Скачал библиотеку по сылке разорхивировал в мои документы - установите правильно библиотеку и будет вам счастье.