Информационный портал MSEVM






Главная > Ардуино > DFR0088



Простое решение для Arduino с поддержкой беспроводной связи Bluetooth

Для обеспечения беспроводной связи между компьютером и Arduino имеется ряд возможностей:
  • Bluetooth
  • XBee
  • APC220
Все они имеют преимущества и недостатки. Как правило предпочтения отдаются Bluetooth, т.к. он реализует больше возможностей. Применяя плату расширения ввода/вывода DFR0088 IO Expansion Shield For Arduino(V5) Вы получаете ряд преимуществ по отношению к другим вариантам. Переключение между Bluetooth и Xbee на этой плате легко достигается переключением передающей части благодаря тому, что модуль Bluetooth встроен в модуль XBee.

Кроме того эта плата расширения имеет ряд других особенностей:



Эта плата позволяет обеспечить все три вышеперечисленные стандарты беспроводной связи, при этом модули XBee и Bluetooth подключаются в специальный разъем на плате, а APC220 - через дополнительный разъем и кабель. На плате также имеются выводы для работы по протоколу I2C. Через специальный разъем к плате можно подключить гнездо для SD карт. Последовательный интерфейс RS485 имеет на плате специальные винтовые клеммные контакты. Также на плате установлен контроллер сервоприводов с винтовыми контактами. Для своих возможностей плата расширения имеет весьма скромную цену.

Работа Bluetooth

Подключите плату расширения к Arduino (вставьте ее в гнезда Arduino) и вставьте модуль Bluetooth в гнездо платы расширения. Работа с ним очень проста. Для этого не требуется пайка. Этот модуль заменяет собой проводное USB соединение, имеющееся между Вашим компьютером и Arduino. В программе для Arduino (скетче) использовать Bluetooth очень просто. Для этого надо использовать последовательное соединение, функцию Serial.read для чтения с компьютера и Serial.print для передачи данных в компьютер.

Пример программы для Arduino

void setup() 
{ 
Serial.begin(115200); // start serial communication for Bluetooth 
} 

void loop() { 
if( Serial.available() ) // if data is available to read 
{ 
val = Serial.read(); // read it and store it in 'val' 
Serial.println("Data received") // Send info back 
} 
} 


РС485

  • Винтовые клеммы (при условии, что три перемычки установлены на "485"), отмеченные "A" и "B", подключаются непосредственно к контактам "A" и "B" микросхемы (6 и 7 соответственно).
  • Винтовая клемма с маркировкой VCC подключается к контакту IC VCC (8), а также к линии +5 В платы (т. е. шине +5 В Arduino).
  • Винтовая клемма с маркировкой GND подключается к выводу IC GND (5), а также к линии GND платы (т. е. 0-вольтовой шине Arduino).
  • Контакт DI (ввод данных?) чипа (4) подключен к цифровому контакту 1 (TX) Arduino.
  • Контакт RO (вывод данных?) чипа (1) подключен к цифровому контакту 0 Arduino (RX) с подтягиванием резистора к шине + 5 В.
  • Контакт DE (разрешение выхода) чипа (3) подключен (через резистор) к цифровому контакту 3 Arduino - это активный высокий уровень.
  • Этот вывод DE также подключен к выводу (2) шины RE микросхемы (включение приемника) и, следовательно, также управляется цифровым выводом 3 Arduino - он имеет активный низкий уровень.
  • Цифровой контакт Arduino 2 = Rx/Tx "Включить"; Высокий для передачи, низкий для приема
Transmit code:
int EN = 2; //RS485 has a enable/disable pin to transmit or receive data.
// Arduino Digital Pin 2 = Rx/Tx 'Enable'; High to Transmit, Low to Receive

void setup()
{
        pinMode(EN, OUTPUT);
        Serial.begin(19200);
}

void loop()
{
        // send data
        digitalWrite(EN, HIGH);//Enable data transmit
        Serial.print('A');
        delay(1000);
}


Receive code:
int ledPin = 13;
int EN = 2;
int val;

void setup()
{
        pinMode(ledPin, OUTPUT);
        pinMode(EN, OUTPUT);
        Serial.begin(19200);
}

void loop()
{
        // receive data
        digitalWrite(EN, LOW);//Enable Receiving Data
        val = Serial.read();
        if (-1 != val) {
                if ('A' == val) {
                        digitalWrite(ledPin, HIGH);
                        delay(500);
                        digitalWrite(ledPin, LOW);
                        delay(500);
                }
        }
}


Обсудить на форуме

Файлы:




e-mail рассылки
Радиолюбитель
Подписаться письмом


















Яндекс цитирования Rambler's Top100