2 bluetooth И 1 arduino uno

hong_10
Offline
Зарегистрирован: 30.10.2013

всем привет! интересно можно ли 2 блетусника подключить к одной ардуинке? будут ли они работать?

gena
Offline
Зарегистрирован: 04.11.2012

  А что им может мешать работать?

hong_10
Offline
Зарегистрирован: 30.10.2013

да вот у меня случай такой http://arduino.ru/forum/programmirovanie/obmen-dannymi-mezhdu-dvumya-uart-0#comment-65170 из-за этого интересуюсь

gena
Offline
Зарегистрирован: 04.11.2012

  А нарисуйте, пожалуста, полную схему соединения этих трёх модулей. Можно конечно и по программе догадываться, что к чему присоединено, но для конкретности схема нагляднее (люди и выводы путают, и земли забывают соединять, и токопотребления разных устройств не могут оценить, и .....).

hong_10
Offline
Зарегистрирован: 30.10.2013

bluetooth и sim900 соединяю вот так. а ардуинка(http://dvrobot.ru/shop/i230.arduino_uno_r3.htm) под sim900 

hong_10
Offline
Зарегистрирован: 30.10.2013

питание идет от блока на 12 В. 

gena
Offline
Зарегистрирован: 04.11.2012

  А где второй блютуз ("2 bluetooth И 1 arduino uno")?

hong_10
Offline
Зарегистрирован: 30.10.2013

 

у меня вот такая проблема:(http://arduino.ru/forum/programmirovanie/obmen-dannymi-mezhdu-dvumya-uart-0#comment-65170 ) Значит я подцепил на ардуино uno, gsm щит а на него блютуз модуль. Есть код на c# вот он serialPort1.Write("0"); Также есть код на ардуино вот он


01	#include <SoftwareSerial.h>
02	#include "SIM900.h"
03	#include "sms.h"
04	SMSGSM sms;
05	boolean started=false;
06	SoftwareSerial mySerial(11, 12);
07	char ch;
08	void setup()
09	{
10	  mySerial.begin(9600);
11	  
12	  pinMode(9,OUTPUT);
13	 
14	  digitalWrite(9,HIGH);
15	  if (gsm.begin(2400))
16	  {   
17	    started=true; 
18	  }
19	  digitalWrite(9,LOW);
20	}
21	void loop()
22	{
23	  if (mySerial.available())
24	  {
25	    ch = mySerial.read();
26	  }
27	   if ((started) && (ch==48))
28	   {   
29	     sms.SendSMS("+79******", "arduino");
30	   }
31	  
32	}

 И все это у меня не работает, смс не приходит! Почему у меня это не работает? Может быть нельзя одновременно подцеплять 2 устройства с uart интерфейсом на 1 ардуинку? Вот мне и интересно если подключить 2 блютуза на 1 ардуинку будут ли они работать.

gena
Offline
Зарегистрирован: 04.11.2012

    Схемотехнически выглядит всё правильно. А не может ли быть проблемы в том, что программный и аппаратный uart-ты работают на разных скоростях? Как софт Ардуины справляется с этим? Я бы решал задачу поэтапно: 1. Отправка смс при нажатии какой либо кнопки;  2.Отправка блютузом сообщения при нажатии этой же кнопки(проверка работы блютуз). При этом "железо" никак схемотехнически не изменять. Затем, когда каждый из вариантов софта отдельно заработают, начинать из объеденять.

gena
Offline
Зарегистрирован: 04.11.2012

Сегодня добрался до своего блютуз устройства HC-04 и платы Arduino v3.0. Написал скетч. Всё заработало (хоть и не сразу). Т.о. два устройства с UART  интерфейсом на ардуино вполне работоспособны.

/* Программа для проверки работы программного СОМ порта (SoftwareSerial), 
к которому подключено блютуз устройсво HC-04, в связке с аппаратным UART 
платы Arduino Nano v.3.0. на микросхеме FT232RL.
*/
 #include <SoftwareSerial.h>      // подключаю библиотеку SoftwareSerial
 SoftwareSerial mySerial(12, 11); // назначаю: 12 = RX, 11 = TX
void setup()  
{
  Serial.begin(9600);             //настраиваю скорость СОМ порта на FT232RL
  Serial.println("FT232");        //печатаю тестовое сообщение через FT232RL
  mySerial.begin(9600);           //настраиваю скорость СОМ порта для SoftwareSerial
  mySerial.println("HC-04");      //печатаю тестовое сообщения через HC-04
}

void loop()
{
  //delay(1000);
  if (mySerial.available())          // если буфер mySerial не пуст, посылаю его содержимое в Serial
    {Serial.write(mySerial.read());} // т.е. принимаю через HC-04, отправляю через FT232RL
  if (Serial.available())            // если буфер Serial не пуст, посылаю его содержимое в mySerial
    {mySerial.write(Serial.read());} // т.е. принимаю через FT232RL, отправляю через HC-04
}