Может кто то с этим уже сталкивался, при попытке связаться с платой по bluetooth (blutoothbeee) среда зависает. То же самое с программами, написанными для работы с com портом(передача как через обычный com порт)
Подключил блютус. Передаю данные из ком порта (программака на C#). При передаче программка зависает и среда разработки для ардуино тоже. Вот код: Код (Text): #define D1 8 // Направление вращение двигателя 1 #define M1 11 // ШИМ вывод для управления двигателем 1 #define D2 12 // Направление вращение двигателя 2 #define M2 9 // ШИМ вывод для управления двигателем 2 #include <Servo.h> Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; Servo myservo7; int i = 0; void setup() { Serial.begin(9600); myservo1.attach(2); myservo2.attach(3); myservo3.attach(4); myservo4.attach(5); myservo5.attach(6); myservo6.attach(7); myservo7.attach(10); pinMode(D1, OUTPUT); pinMode(D2, OUTPUT); Serial.begin(9600); analogWrite(M1, 0); analogWrite(M2, 0); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); delay(1000); } void loop() { if (Serial.available() > 0) { i = Serial.read(); switch(i) { case 49: digitalWrite(D1, 0); digitalWrite(M1, 1); digitalWrite(D2, 1); digitalWrite(M2, 0); break; case 50: digitalWrite(D1, 1); digitalWrite(M1, 0); digitalWrite(D2, 0); digitalWrite(M2, 1); break; case 51: digitalWrite(D1, 0); digitalWrite(M1, 1); digitalWrite(D2, 0); digitalWrite(M2, 1); break; case 52: digitalWrite(D1, 1); digitalWrite(M1, 0); digitalWrite(D2, 1); digitalWrite(M2, 0); break; case 53: digitalWrite(D1, 0); digitalWrite(M1, 0); digitalWrite(D2, 0); digitalWrite(M2, 0); break; case 'Y': myservo1.write(140); myservo2.write(140); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(150); delay(500); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); break; case 'U': myservo1.write(90); myservo2.write(90); myservo3.write(150); myservo4.write(90); myservo5.write(100); myservo6.write(40); myservo7.write(150); delay(500); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); break; case 'I': myservo1.write(90); myservo2.write(110); myservo3.write(60); myservo4.write(90); myservo5.write(100); myservo6.write(40); myservo7.write(150); delay(500); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); break; case 'H': myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(40); myservo6.write(60); myservo7.write(30); delay(500); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); break; case 'J': myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(40); myservo5.write(90); myservo6.write(90); myservo7.write(30); delay(500); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); break; case 'K': myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(120); myservo5.write(90); myservo6.write(90); myservo7.write(30); delay(500); myservo1.write(140); myservo2.write(170); myservo3.write(90); myservo4.write(90); myservo5.write(10); myservo6.write(40); myservo7.write(90); break; } } }
целевая плата Arduino Uno? Передаете из ком порта, тоесть ардуино подключена к компьютеру по USB? Я правильно вас понял - одновременно подключен и bluetooth bee через Wireless Shield и USB? А по блютус что подключено? Вот такая у меня картина в голове нарисовалась. Всё ещё недостаточно подробностей Если я угадал, то причина вот в чём: В Arduino Uno только один последовательный порт. По нему она общается с компьютером. Bluetooth bee общается с ардуино по тому же последовательному порту. Если вдруг и блютус и компьютер попробуют поговорить с ардуино одновременно, то ардуино скажет "ээээ! Что за ерунда?". Хотя сценарий не очень правдоподобен. Наверное я не угадал. Но на всякий случай - если дело обстоит так, то могу порекомендовать для Bluetooth bee использовать SoftwareSerial. Или нет, или вы подключили ардуино через виртуальный com-порт, который usb-bluetooth свисток к компьютеру, и пытаетесь открыть этот порт одновременно из программы на C# и из Arduino IDE? Или нет... Тогда сценарий снова мог бы бдыть другим. Кроме кода нужны: схема подключения, хотя бы словами - что к чему куда подключено. От чего запитаны сервоприводы? От чего запитана ардуино? Какая ардуино используется?
Arduino Uno. Подключение без шилда, напрямую - TX, RX, 5V, GND. Для подключения по блютус провод отключаю. Даже если подключить блютус и поморгать диодом как в простом примере(http://cxem.net/arduino/arduino63.php) то Arduino IDE виснет. Драйвер двигателей Dual MC33926 Motor Driver Carrier(то же что и на амперке, только выходной ток побольше). Сама Ардуинка подключена через аккум с частичным сбросом напряжения через кренку(стабилизатор напряжения). Схемку смогу нарисовать только днем.
Bluetooth bee должна питаться от 3.3 В, Я не уверен, что блютус модуль всё ещё жив после этого. Wireless Shield нужен в том числе и для выравнивания уровней 5V→3.3V. По вашей ссылке как раз подключают модуль к 3,3 В контактам ардуино. Вы подключаете TX bluetooth Bee к RX Arduino, а RX Bluetooth Bee к TX Arduino? - нужно подключать именно так. RX→TX, TX→RX. Во всей истории я совсем не понимаю — при чем тут Arduino IDE? Почему она должна виснуть, если при подключении блютуса у вас компьютер и ардуино не соединены физически никак? Вы пытаетесь подключится к ардуино по блютусу из Arduino IDE? У вас в компьютере есть Bluetooth интерфейс? Вы подключаетесь в Arduino IDE к Arduino через него?
Все именно так и делаю, отправляю команду из IDE, через монитор порта. IDE зависает, команда не проходит.
Ох. Давайте тогда по порядку. 1. Компьютер подключен к Arduino Uno через bluetooth? Если да, то как вы определили факт подключения?
Да, подключен. В устройствах есть bluetooth, к которому установлено соединение. Кроме того появляются 2 com порта в устройствах компьютера. Как я понял один на прием, другой на передачу. PS вы кстати не из амперки? а то я бы заехал и на месте посмотрели