Amateur Radio Station R9AL


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

Для обеспечения беспроводной связи между компьютером и Arduino имеется ряд возможностей: Все они имеют преимущества и недостатки. Как правило предпочтения отдаются 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

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);
                }
        }
}


Файлы:




Copyright © R9AL 2021 Все права защищены

Рейтинг@Mail.ru Яндекс цитирования