Установка arduino ide или если начал и уже не могу

Arduino_quickstart

Для работы с платами семейства arduino необходимо установить среду програмирования.Офицально для разработки используется arduino ide  (англ.Integrated development environment)  или Интегри́рованная среда́ разрабо́тки.
Последнею версию arduino ide можно скачать http://www.arduino.org/software

Установка программы

Запустите установщик программы.В дальнейшем желательно доверять установщику и выполнять всего его предписания.

Внимание

При просьбе запустить программу установщик от имени администратора,проверяйте имя программы.

Драйвера и их установка

При установке программы периодически будут вылезать окна установки драйверов.Все драйвера проверены и испытаны, поэтому просьба устанавливать их без размышлений.

Подключите к компьютеру arduino

Подключите плату arduino к компьютеру с помощью кабеля USB.Плату можно подключать в любой разъем usb на вашем компьютере.

Проблема с devkit esp8266 и ее решение.

На днях клиент магазина принес для разъяснения ситуацией c частичной неработоспособностью dev kit esp8266.

esp8266_devkit

Подключил к питанию через преобразователь на ch340g

usbtottl_ch340g_web1 usbtottl_ch340g_web2 usbtottl_ch340g_web3

Wi-fi сеть есть и даже выдаются айпишники. Плата отваливалась по telnet и мониторе порта.Проверили соединение преобразователя с платой.

(RX <-> TX, TX <-> RX,  и соответственно питание.

Решили пока взять nodemcu от греха подальше.Тем более клиенту он больше нравился.Соединили.Все тоже самое.Неожиданно отчаявшись решили переустановить драйвера ch340g..Данное решение было получено методом исключения.Переустановили.Драйвера лежат ниже со ссылкой на магазин.Во флешере наконец стало отвечать. плата https://github.com/nodemcu/nodemcu-flasher сам флешер. Решили пере прошить для первой работы.Пошла пере прошивка.Попробовали подключиться.И все работает.Проверяли на базовой команде для проверки node.info().Данные команды вводили в putty.Сама putty http://putty.org.ru/get/PuTTY-0.63-RU-15.zip/from/a/mirror .Клиент забрал и ушел.Желание разобраться с devkit не угасло.Позже методом исключения решил пропаять все выводы с wi fi модулем и все заработало.Проверил всю партию.Слава Сатане что она одна такая.

Магазинчик http://electromicro.ru/

Драйвер ch340g http://electromicro.ru/filemanager/download/1209/

Урок пятый.приведение чисел в порядок

Урок четвёртый.приведение чисел в порядок
Определения угла насколько повернут потенциометр в прошлом уроке было достаточно тяжело.Поэтому в этом уроке мы разберем как привести числа в порядок.Для предвидения мы воспользуемся делением.Поделим число 1023 на 6.И получим градусную меру потенциометра.Рассмотрим код
void setup() {
Serial.begin(9600);//настраиваем порт
}
void loop() {
int sensorValue = analogRead(A0);//обозначаем что пин А0 предназначен для приёма аналогового сигнала
Serial.println(sensorValue /6);//вывод значений от 0 до 1023.
delay(1);
}

xbee bluetooth модуль или извращенцы в zigbee формате

Введение

Bluetooth Би является простой в использовании Bluetooth Serial Port Profile (SPP) Модуль совместим с существующими XBee розеток, предназначенных для прозрачной беспроводной установки последовательного соединения. Серийный порт Bluetooth модуль является полное Bluetooth V2.0 + EDR (повышенная скорость передачи данных) 3 Мбит модуляции с полным трансивером и полосе частот 2,4 ГГц. Он использует КСО BlueCore 04 -Внешние одного чипа систему Bluetooth с технологией CMOS и AFH (Adaptive ППРЧ Feature). Он имеет наименьший след 12,7 х 27 мм. Надеюсь, что это упростит вашу общую цикл проектирования / разработки

bbee_LRG.jpg

Характеристики оборудования

  •  -80dBm Чувствительность.
  • До + 4dbm Мощность
  • Стандарт V2.0 + EDR Bluetooth 3Mbps.
  • Потребление 1.8 3.6VI / O.
  • UART интерфейс с программируемой скоростью передачи.
  • Встроенная антенна PCB.
  • XBee совместимые заголовки.
  • По умолчанию Скорость передачи данных: 38400, биты данных: 8, Стоп бит: 1, Четность: Нет четности, контроль данных: есть.
  • Поддерживаемые скорость передачи: 9600,19200,38400,57600,115200,230400,460800.
  • Использование CTS и RTS для управления потоком данных.
  • PIO10 подключен к красному LED, PIO11 подключен к зеленому LED . Когда ведущий и ведомый в паре, красный и зеленый светодиод мигают 1time / 2s в интервале, в то время когда отключается модуль, только зеленый светодиод мигает 2 раза / с.
  • Автоматическое подключение  к последнему устройству
  • По умолчанию PINCODE: «0000».
  • Авто-восстановление в течение 30 мин при отключении в результате выхода за пределы диапазона связи.

Меры предосторожности

  • При использовании с  Arduino, установить рабочее напряжение до 3,3. Иначе использовать надлежащий конвертер логического уровня.
  • Команда для изменения скорости передачи является стойкой даже после сброса. Следовательно это скорость передачи данных для следующего использования.
  • При использовании SoftwareSerial, не устанавливать скорость передачи данных выше 38400.

Определение Пинов

Вид снизу:
Bluetooth-pin.jpg

Штырь #  Тип Описание
PIO9 29 Би-направление Программируемый вход / линейный выход
PIO8 28 Би-направление Программируемый вход / линейный выход
PIO7 27 Би-направление Программируемый вход / линейный выход
PIO6 26 Би-направление Программируемый вход / линейный выход
РТС 25 Выход CMOS, три-стабильным со слабой внутренней выдвижной -вверх UART
PIO5 24 Би-направление Программируемый вход / линейный выход
PIO4 23 Би-направление Программируемый вход / линейный выход
PCMSY 22 Би-направление Синхронный PCM данных
CTS 21 Выход CMOS, три-стабильным со слабой внутренней выдвижной -вверх UART
PIO3 20 Би-направление Программируемый вход / линейный выход
PIO2 19 Би-направление Программируемый вход / линейный выход
USBDP 18 Би-направление
USBDN 17 Би-направление
CLK 16 Выход CMOS, три-стабильным со слабой внутренней выдвижной -вверх SPI Часы
Мi 15 Выход CMOS, три-стабильным со слабой внутренней выдвижной -вверх  SPI
Мo 14 Выход CMOS, три-стабильным со слабой внутренней выдвижной -вверх SPI
CS 13 Выход CMOS, три-стабильным со слабой внутренней выдвижной -вверх SPI
AIO1 12 Би-направление Программируемый вход / линейный выход
AIO0 11 Би-направление Программируемый вход / линейный выход
Земля 10 VSS
PCMIN 9 CMOS вход Ввод данных PCM
PCMOT 8 Выход CMOS Выходные данные  PCM
PCMCK 7 Би-направление Часы данных  PCM
PIO1 6 Би-направление Программируемый вход / линейный выход
 ! RST 5 CMOS вход со слабым внутренним подтягивающим Сброс, если низкий, вход должен быть низким более> 5 мс и это вызовет сброс
PIO0 4 Би-направление Программируемый вход / линейный выход
RX 3 CMOS вход Вход UART
Техас 2 Выход CMOS, три-стабильным со слабой внутренний подтягивающий Выход UART
3V3 1 3,3 Встроенный 3,3 (+) питания с на-чипе линейный регулятор выхода в 3.15-3.3V

Размеры

плата 12,7 х 27 мм размером.

Применение

Seeeduino BluetoothBee Xbee Shield.JPG

BluetoothBee с UartSBee.JPG

Программное обеспечение 

Следующий рисунок представляет обзор Bluetooth Bee работы в ведущем и ведомом режиме.

Bluetooth-1.jpg

Flowchat

Следующая блок-схема дает краткое руководство к Bluetooth-bee программированию

Bluetooth-2.jpg

Команды для изменения конфигурации по умолчанию

1. Установить режим работы

\r\n+STWMOD=0\r\n Набор устройство работает режим в качестве клиента (раб).
\r\n+STWMOD=1\r\n Набор устройство работает в качестве сервера режим (мастера).

2.Set BAUDRATE

\r\n+ = 115200 STBD\r\n Установите скорость передачи данных 115200.
Поддерживаемая скорость: 9600, 19200,38400,57600,115200,230400,460800.

3. Установить имя устройства

\r\n + STNA = АБВГДЕЖ \r\n Установите имя устройства, как «АБВГДЕЖ».

4. Автоматическое подключение последний сопряженное устройство на власть

\r\n+ STAUTO = 0 \r\n Автоматическое подключение запрещено.
\r\n + 1 = STAUTO \r\n Позвольте Автоматическое подключение.

5. Разрешение паре устройство для подключения меня

\r\n+ STOAUT = 0 \r\n Запрешять.
\r\n+ 1 = STOAUT \r\n Разрешать.

6. Установить PINCODE

\r\n+ STPIN = 2222 \r\n Установите пин-код «2222».

7. Удалить PINCODE (вход PINCODE по MCU)

\r\n + DLPIN \r\n Удалить пин-кода.

8. Прочитайте местное код Адрес

\r\n+ RTADDR \r\n Обратный адрес устройства.

9. Авто-переподключения при ведущее устройство находится за пределами допустимого диапазона (ведомого устройства будут автоматически подключаться в течение 30 мин, когда он находится за пределами допустимого диапазона)

\r\n + LOSSRECONN = 0  \r\n Запретить автоматическое подключения.
\r\n+ 1 = LOSSRECONN \r\n Позвольте автоматическое подключение.

Команды для нормальной работы:

1. Запрос

а) Мастер
\r\n + INQ = 0 \r\n Стоп
\r\n+ 1 = INQ \r\n Начало / перезапуска вопросительно
б) Раб
\r\n + INQ = 0 \r\n Отключить  опрос
\r\n + 1 = INQ \r\n Включить опрос

При + INQ = 1 команде успешной, красные и зеленые светодиоды мигают

\r\n + RTINQ = AA, BB, СС, DD, EE, FF,name \r\n Серийный Bluetooth устройство с адресом «AA, BB, СС, DD, EE, FF» и имя «name» запрашивается

3. Подключите устройство

\r\n+ CONN = AA, BB, СС, DD, EE, FF \r\n Подключите к устройству с адресом «AA, BB, СС, DD, EE, FF»

4. Bluetooth модуль ввода запросов PINCODE

\r\n + INPIN \r\n

5. Введите PINCODE

\r\n + RTPIN = код \r\n
Пример: RTPIN = 0000 Вход PINCODE что в четыре нуля

7. Возврат статус \r\n + BTSTA: хх \r\n хх Статус:

  • 0 — Инициализация
  • 1 — Готов
  • 2 — Загрузка
  • 3 — Подключение
  • 4 — Подключен

(Примечание: Это не команда, но информация  из модуля после каждой команды)

Программирование

Следующий пример рассматривает Bluetooth Bee как ведомое устройство и ждущего запроса на соединение с ПК или другого ведущего устройства. Bluetooth bee подключен к arduino помощью XBee Shield, как показано выше.Bluetooth bee подключен к цифровому Пину 11 и 12 Arduino.Мы используем NewSoftSerial библиотеку для поддержки последовательной связи на этих выводах. Аппаратный серийный порт Arduino доступен для загрузки кода или отладки. Этот скетч использует механизм управления потоком с помощью CheckOK (). Это позволяет избежать, произвольную задержку между каждой командой. Если CheckOK () не требуется, используйте задержку по крайней мере 3 секунды между командами.

/*
BluetoothBee Demo Code - Flowcontrol Based Implementation
2010,2011 Copyright (c) Seeed Technology Inc.  All right reserved.
 
Author: Visweswara R
 
This demo code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
 
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
 
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
For more details about the product please check http://www.seeedstudio.com/depot/
 
*/
 
 
/* Upload this sketch to Seeeduino and press reset*/
 
#include <SoftwareSerial.h>   //Software Serial Port
#define RxD 11
#define TxD 12
 
#define DEBUG_ENABLED  1
 
SoftwareSerial blueToothSerial(RxD,TxD);
 
void setup() 
{ 
    pinMode(RxD, INPUT);
    pinMode(TxD, OUTPUT);
    setupBlueToothConnection();
 
} 
 
void loop() 
{ 
  //Typical Bluetoth command - response simulation:
 
  //Type 'a' from PC Bluetooth Serial Terminal
  //See Bluetooth Bee - Wiki for instructions
 
  if(blueToothSerial.read() == 'a')
  {
    blueToothSerial.println("You are connected");
    //You can write you BT communication logic here
  }
 
} 
 
 
void setupBlueToothConnection()
{
    blueToothSerial.begin(38400); //Set BluetoothBee BaudRate to default baud rate 38400
    delay(1000);
    sendBlueToothCommand("\r\n+STWMOD=0\r\n");
    sendBlueToothCommand("\r\n+STNA=SeeeduinoBluetooth\r\n");
    sendBlueToothCommand("\r\n+STAUTO=0\r\n");
    sendBlueToothCommand("\r\n+STOAUT=1\r\n");
    sendBlueToothCommand("\r\n +STPIN=0000\r\n");
    delay(2000); // This delay is required.
    sendBlueToothCommand("\r\n+INQ=1\r\n");
    delay(2000); // This delay is required.
}
 
//Checks if the response "OK" is received
void CheckOK()
{
  char a,b;
  while(1)
  {
    if(blueToothSerial.available())
    {
    a = blueToothSerial.read();
 
    if('O' == a)
    {
      // Wait for next character K. available() is required in some cases, as K is not immediately available.
      while(blueToothSerial.available()) 
      {
         b = blueToothSerial.read();
         break;
      }
      if('K' == b)
      {
        break;
      }
    }
   }
  }
 
  while( (a = blueToothSerial.read()) != -1)
  {
    //Wait until all other response chars are received
  }
}
 
void sendBlueToothCommand(char command[])
{
    blueToothSerial.print(command);
    CheckOK();   
}

Задержка основании Реализация

Следующий скетч представляет собой модификацию выше программы с помощью delay () вместо CheckOK (). В этом случае последовательный порт аппаратный используется для отладки.Для работы откройте серийный монитор с установкой 9600 бод. Полная связь между MCU и Bluetooth Bee будет видна в серийном мониторе.

/*
BluetoothBee Demo Code - Delay Based Implementaion
2011 Copyright (c) Seeed Technology Inc.  All right reserved.
 
Author: Visweswara R
 
This demo code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
 
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
 
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
For more details about the product please check http://www.seeedstudio.com/depot/
 
*/
 
/* Upload this sketch into Seeeduino and press reset*/
 
#include <SoftwareSerial.h>   //Software Serial Port
#define RxD 11
#define TxD 12
 
SoftwareSerial blueToothSerial(RxD,TxD);
 
void setup() 
{ 
    Serial.begin(9600);          //Serial port for debugging, Comment this line if not required  
    pinMode(RxD, INPUT);
    pinMode(TxD, OUTPUT);
    setupBlueToothConnection();
 
} 
 
void loop() 
{ 
 
  if(blueToothSerial.read() == 'a')
  {
    blueToothSerial.println("You are connected to Bluetooth Bee");
    //You can write you BT communication logic here
  }
} 
 
void setupBlueToothConnection()
{
    Serial.print("Setting up Bluetooth link");       //For debugging, Comment this line if not required    
    blueToothSerial.begin(38400); //Set BluetoothBee BaudRate to default baud rate 38400
    delay(1000);
    sendBlueToothCommand("\r\n+STWMOD=0\r\n");
    sendBlueToothCommand("\r\n+STNA=modem\r\n");
    sendBlueToothCommand("\r\n+STAUTO=0\r\n");
    sendBlueToothCommand("\r\n+STOAUT=1\r\n");
    sendBlueToothCommand("\r\n+STPIN=0000\r\n");
    delay(2000); // This delay is required.
    blueToothSerial.print("\r\n+INQ=1\r\n");
    delay(2000); // This delay is required.
    Serial.print("Setup complete");
 
}
 
void sendBlueToothCommand(char command[])
{
    char a;
    blueToothSerial.print(command);
    Serial.print(command);                          //For debugging, Comment this line if not required    
    delay(3000);
 
    while(blueToothSerial.available())              //For debugging, Comment this line if not required  
    {                                               //For debugging, Comment this line if not required   
       Serial.print(char(blueToothSerial.read()));  //For debugging, Comment this line if not required  
    }                                               //For debugging, Comment this line if not required   
}

Подключение Bluetooth Bee к ПК через Bluetooth (Dongle) под Windows,

  • Установка драйверов Microsoft Bluetooth по умолчанию. Открыть Панель управления -> Устройства Bluetooth

Bluetooth windows0.jpg

  • Нажмите Добавить кнопку.

Bluetooth windows1.jpg

  • Проверьте Мои устройства настроены и готовы быть найдены и нажмите Next кнопку.

Bluetooth windows2.jpg

  • Выберите «SeeedBlueToothBee» устройство и нажмите Далее.

Bluetooth windows3.jpg

  • Выберите Использовать ключ доступа найти в документации и введите 0000.

Bluetooth windows4.jpg

  • Обмен в  последовательном порте COM5 предназначен для нашего общения.

Bluetooth windows5.jpg

    • бар шар показывает, что новый Bluetooth  Порт добавляется.

Bluetooth windows6.jpg

    • СОМ5 предназначен для общения. Этот порт следует использовать для связи с ПК Bluetooth Bee.

Bluetooth windows7.jpg

  •  СОМ5  порт может быть доступен любому Serial Port терминалу.
    • Открыть СОМ5 с скорость передачи: 38400, количество битов: 8, Стоп-биты: 1 и без управления потоком
    • Отправить  ‘A’
    • Arduino + Bluetooth Би ответит «Вы подключены к Bluetooth Bee»

Bluetooth windows8.jpg

Yun шилд или первый экономный шилд

Yun Щилд
Когда денег нет на покупку arduino yun arduino?А вам нужно сделать идеальное устройство c выходом в интернет.
Юн Щилд является одним из самых мощных щилдов для Arduino платы. Юн Щилд предназначен для решения о подключении к Интернету для Arduino.
Юн Щилд работает на Open Source OpenWRT системе (на той же системе, работает в Arduino Yun).Юн Щилд является идеальным выбором для Arduino проектов, которые требуют различных интернет-соединений и больше памяти.
Характеристики
Процессор: Atheros 9331, 400 МГц, MIPS 24K
Flash-: 16MBytes
RAM: 64MBytes
Потребляемая мощность: 4,75 ~ 23V с помощью Arduino VIN контактный
1 10M / 100M разъем RJ45
150M Wi-Fi 802.11 B / G / N
Внешняя антенна через разъем I-Pex
1 USB 2.0 хост разъем, используемый для хранения USB или 3G
1 кнопка сброса

Особенности

Открытый исходный код системы (OpenWrt) на борту
Низкое энергопотребление
Совместимость с Arduino IDE 1.5.4 или более поздних версий
Управляется веб-интерфейс,к SSH можно подключиться по локальной сети или WiFi
Программное обеспечение обновляется с помощью сети
Встроенный веб-сервер
Поддержка подключение к интернету через LAN порт, WiFi или 3G ключа.
Поддержка USB флэш накопитель для хранения проектов Arduino.
Отказоустойчивая конструкция обеспечивает надежную систему.
Совместимость с Arduino Uno, Mega

Светодиоды

Есть четыре светодиода на Юн щита. Функции этих светодиодов:
PWR: Питание Укажите LED. Включает раз есть власть.
Ethernet: Указывает есть подключение по локальной сети, когда она находится на или мигает.
WLAN: Указывает статус WiFi.
SYS:индикация работы передачи данных по usb

Структура системы

Yun_Shield_3

Yun_Shield_4

Интерфейс: RJ45, Wi-Fi, USB-хост.Для общения с arduino модуль использует SPI UART.

Потребляемая мощность

При работе подключите блок питания в arduino и только после этого подключите щилд и arduino.Позже подключите usb кабель

НАСТРОЙКА ЮН Щилд

Найдите адрес IP

Юн Щилд имеет интерфейс WiFi и порт LAN. Каждый из них имеет IP-адрес и может быть использован для подключения к Интернету и управления устройствами. Заводское имя WiFi.
Yun_Shield_5

Yun Щилд выступает в качестве точки доступа в первой загрузке
В первой загрузке Yun щилда.Она будет автоматически генерировать  WiFi сеть под названием Dragino2-хххххх.
Пользователь может использовать свой ​​ноутбук для подключения к этой сети WiFi. Ноутбук получит IP 192.168.240.xxx.Юн Щилд имеет IP по умолчанию 192.168.240.1

Настройка сети ноутбука
Безымянный

Установка ПК для использования IP FALLBACK

Параметры настройки
IP-172.31.255.254/255.255.255.252 присваивается порту локальной сети Yun щилда, так что пользователь всегда может получить доступ к Yun Щилд с этим IP, если их ноутбук имеет IP 172.31.255.253/255.255.255.252.

Юн Щилд это система с ОС  открытым исходным кодом Linux. Если пользователь имеет компьютер в той же сети что и  щилд Yun, пользователь может получить доступ к его систему либо через веб-интерфейс или Secure Shell (SSH).

Доступ через веб-интерфейс
Рекомендуемые браузеры для настройки Yun щита Firefox и Chrome. Просто введите IP-адрес в браузере, и вы увидите страницу входа на Юн щилда.
Yun_Shield_7
По умолчанию имя пользователя и пароль для входа в Юн Щилд root / dragino.

Доступ через SSH
Через SSH, пользователь может получить доступ к системе Linux непосредственно и настроить систему, чтобы поддерживать больше функций и приложений.
Yun_Shield_8
Доступ Юн Щит с помощью SSH
SSH доступ:
IP-адрес: IP-адрес Юн щилда
Порт: 22
Имя: root
Пароль: dragino (по умолчанию)

Настройка через веб

Перейдите в настройки и поменяйте пароль для безопасности
Yun_Shield_9

Настройка WiFi для доступа в Интернет

763px-Yun_Shield_10

Arduino и Юн щилд
763px-Yun_Shield_10
Обновление

Прошивка Юн Щилд может быть улучшена с помощью графического интерфейса для исправления ошибок / совершенствования системы или новых возможностей. Информацию о версии прошивки можно проверить по этой ссылке: http://wiki.dragino.com/index.php?title=Yun_Firmware_Change_Log

Yun_Shield_11
Yun_Shield_12

Загрузите Firmware
Обычно это займет около 2 минут, чтобы прошить новую прошивку. Тогда все светодиоды будут мигать вместе, который указывает, что система перезагружается с новой прошивкой.

Подключение к Arduino ide

Dragino_Yun_Boardtxt
Добавить   Yun щилд.Это можно сделать добавив в папке arduino в подпапку hardware следующую папку https://cloud.mail.ru/public/9W1c/i4tbT9sP1

Подключение к Леонардо
Просто подключите Yun Щилд  Леонардо, и запитайте Леонардо через разъем DC. В Arduino IDE следует выбрать Arduino Yun.

Подключение к Arduino Uno
На плате подключение UART между mega328P и mega16u2 будет влиять на функцию моста Yun щилде. Поэтому мы должны отключить его, установив  mega16u2 в режиме сброса, как показано ниже:
Yun_Shield_13

Используйте с Arduino UNO
Примечание: обновление USB / отладки не будет работать после этого изменения: пользователь сможет обновить эскизы и отладки через Arduino IDE с помощью WiFi (см примеры).
Поставьте Yun Щилд сверху Uno и включите его через разъем DC.

Подключение к Arduino Mega2560
1) В Mega2560, связь между UART mega2560 и mega16u2 будет влиять на функцию Yun щилда. Поэтому мы должны отключить его, установив mega16u2 в режиме сброса. Как показано ниже:
Yun_Shield_15Положите Yun Щилд сверху Mega2560 и включите его через разъем DC.

Обнаружение Yun Щилда

Убедитесь, что ваш ноутбук и Юн Щилд находятся на той же сети. Юн Щилд будет транслировать данные в этой сети и Arduino IDE будет получать эти данные и показывать Yun Щилд в мониторе портов

Yun Щилд Обнаружен в Arduino IDE
Yun_Shield_16

Настройка порта

Загрузить с помощью Wi-Fi / LAN  IDE
В Arduino IDE, выберите правильный тип платы для модуля AVR.
В Arduino IDE  → выберите правильный порт. (Должен быть Arduino Yun порт с адресом IP)
На странице Юн Щилда графической→ Выбрите правильный тип управления для загрузки.
Откомпилируйте  скетч и загрузите его на Arduin. Во время загрузки, Юн Щилд попросит вас ввести пароль, по умолчанию, пароль dragino.
Yun_Shield_17

Компиляция скетча для Yun

Загрузить с помощью Web

Yun_Shield_Upload_3

Автоматическое обновление скетча

Пример кода.

Библиотека упрощает связь между Arduino совета и Юн щита.Команды Bridge от AVR (Arduino) интерпретируются Python на Юн щилде. Его роль заключается в выполнении программ на стороне GNU / Linux на вопрос Arduino, обеспечивают общее пространство для хранения данных совместной работы между Arduino и интернета, и приема команд из интернета и передачи их непосредственно на Arduino.

ПРИМЕРЫ

Пример 1: Привет Linux

Обнаружение IP-адреса из Arduino IDE:
Этот пример тест взаимодействия между Arduino и Юн щилда. Пример можно найти на Arduino IDE -> Файл -> Примеры -> bridge -> ConsoleRead. Учебник для этого примера можно найти на http://arduino.cc/en/Tutorial/ConsoleRead. Перечисление кода ниже, включает некоторые детали, чтобы понять принцип работы с Юн Щилдом:
Код:

#include <Console.h> //use Console class for Arduino IDE debug over WiFi, similar to Serial class,
String name;
 
void setup() {
  // Initialize Console and wait for port to open:
  Bridge.begin();
  Console.begin();
 
  // Wait for Console port to connect
  while (!Console);
 
  Console.println("Hi, what's your name?"); //Data flow: Arduino --> Yun Shield --> Arduino IDE
}
 
void loop() {
  if (Console.available() > 0) {
    char c = Console.read(); //read the next char received, data flow: IDE --> Yun Shield--> Arduino
    // look for the newline character, this is the last character in the string
    if (c == '\n') {
      //print text with the name received
      Console.print("Hi ");
      Console.print(name);
      Console.println("! Nice to meet you!");
      Console.println();
      // Ask again for name and clear the old name
      Console.println("Hi, what's your name?");
      name = "";  // clear the name string
    }
    else {  	 // if the buffer is empty Cosole.read() returns -1
      name += c; // append the read char from Console to the name string
    }
  }
}

Снимок экрана:

Yun_Shield_17

Результат

Пример 2: Выгрузка данных в IoT сервер
Этот пример показывает, как выводить  данные на IoT сервер «Xively».

Посмотрите пример работы

http://arduino.cc/en/Tutorial/YunXivelyClient
Перед загрузкой скетч, убедитесь, что:
Юн Щилд уже имеет доступ в Интернет
Введите Ваше FEED ID и ключ API в соответствует с уроком. Обратите внимание, что FEED  ID  в двойных кавычках «».
Изменить серийный  номер в классе Console, чтобы не конфликтовали  различные AVRS.
Код ниже содержит некоторые детали, чтобы понять принцип работы с Юн Shield:
Код:

// include all Libraries needed:
#include <Process.h>	//Process lib use to call Linux Commands in Yun Shield
#include <Console.h>	//Console lib, used to show debug info in Arduino IDE
#include "passwords.h"      // contains my passwords, see below
 
/*
  NOTE: passwords.h is not included with this repo because it contains my passwords.
 You need to create it for your own version of this application.  To do so, make
 a new tab in Arduino, call it passwords.h, and include the following variables and constants:
 
 #define APIKEY        "foo"                  // replace your pachube api key here
 #define FEEDID        “0000”                   // replace your feed ID
 #define USERAGENT     "my-project"           // user agent is the project name
 */
 
 
// set up net client info:
const unsigned long postingInterval = 60000;  //delay between updates to xively.com
unsigned long lastRequest = 0;      // when you last made a request
String dataString = "";
 
void setup() {
  // start console:
  Bridge.begin();
  Console.begin();
 
  while (!Console);   // wait for Network Serial to open
  Console.println("Xively client");
 
  // Do a first update immediately
  updateData();
  sendData();
  lastRequest = millis();
}
 
void loop() {
  // get a timestamp so you can calculate reading and sending intervals:
  long now = millis();
 
  // if the sending interval has passed since your
  // last connection, then connect again and send data:
  if (now - lastRequest >= postingInterval) {
    updateData();
    sendData();
    lastRequest = now;
  }
}
 
void updateData() {
  // convert the readings to a String to send it:
  dataString = "Temperature,";
  dataString += random(10) + 20;
  // add pressure:
  dataString += "\nPressure,";
  dataString += random(5) + 100;
}
 
// this method makes a HTTP connection to the server:
void sendData() {
  // form the string for the API header parameter:
  String apiString = "X-ApiKey: ";
  apiString += APIKEY;
 
  // form the string for the URL parameter:
  String url = "https://api.xively.com/v2/feeds/";
  url += FEEDID;
  url += ".csv";
 
  // Send the HTTP PUT request, form the linux command and use Process Class to send this command to Yun Shield
 
  // Is better to declare the Process here, so when the
  // sendData function finishes the resources are immediately
  // released. Declaring it global works too, BTW.
  Process xively;
  Console.print("\n\nSending data... ");
  xively.begin("curl");
  xively.addParameter("-k");
  xively.addParameter("--request");
  xively.addParameter("PUT");
  xively.addParameter("--data");
  xively.addParameter(dataString);
  xively.addParameter("--header");
  xively.addParameter(apiString);
  xively.addParameter(url);
  xively.run();
  Console.println("done!");

Снимок экрана:

Yun_Shield_19

Результат

Пример 3: Используйте  3G модем

Введение
Это введение для, как использовать 3G USB модем для подключения к Юн щилда и установить связь 3G. Прошивка  ниже предназначена  для 3G модема USB  HuaWei E303 с помощью UMTS 3G для подключения.

Установите необходимые пакеты

root@dragino:~# opkg update
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/Packages.gz.
Updated list of available packages in /var/opkg-lists/attitude_adjustment.
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/Packages.sig.
Signature check passed.
root@dragino:~# opkg install luci-proto-3g
Installing luci-proto-3g (0.11+svn10537-1) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/luci-proto-3g_0.11+svn10537-1_ar71xx.ipk.
Installing comgt (0.32-21) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/comgt_0.32-21_ar71xx.ipk.
Installing chat (2.4.5-10) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/chat_2.4.5-10_ar71xx.ipk.
Configuring chat.
Configuring comgt.
Configuring luci-proto-3g.
root@dragino:~# opkg install kmod-usb-serial-option kmod-usb-serial-wwan usb-modeswitch-data usb-modeswitch
Installing kmod-usb-serial-option (3.3.8-1) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/kmod-usb-serial-option_3.3.8-1_ar71xx.ipk.
Installing kmod-usb-serial-wwan (3.3.8-1) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/kmod-usb-serial-wwan_3.3.8-1_ar71xx.ipk.
Installing kmod-usb-serial (3.3.8-1) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/kmod-usb-serial_3.3.8-1_ar71xx.ipk.
Package kmod-usb-serial-wwan (3.3.8-1) installed in root is up to date.
Installing usb-modeswitch-data (20120120-1) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/usb-modeswitch-data_20120120-1_ar71xx.ipk.
Installing usb-modeswitch (1.2.3-2) to root...
Downloading http://www.dragino.com/downloads/downloads/motherboards/ms14/Firmware/Yun/Packages--v2.x/usb-modeswitch_1.2.3-2_ar71xx.ipk.
Package usb-modeswitch (1.2.3-2) installed in root is up to date.
Configuring kmod-usb-serial.
Configuring kmod-usb-serial-wwan.
Configuring kmod-usb-serial-option.
Configuring usb-modeswitch.
Configuring usb-modeswitch-data.
root@dragino:~#

Настройка 3G
Откройте страницу System ->   Сеть -> Интерфейсы. Нажмите Добавить новый интерфейс

Create_3G_Interface

Configure_3G_Interface

3G_UP

Создать 3g интерфейс
Перезагрузите устройство.После этого вы можете работать с системой как с подключенной к сети.

 

 

 

 

USB Host Shield или как с помощью arduino набирать текст

USB Host Shield — это по моему мнению очередной шилд убийца.Действительно.Вы давно видели настолько экшн шилда?Но вернемся к технике.
Шилд позволяет подсоединить любое hid устройство такие как клавиатура,мышка,джойстик к arduino и управлять или управлять им же.Также возможное подключение преобразователей и android смартфонов.Также существует технология подключения игровых контроллеров следующих типов:Sony PS3, Nintendo Wii, Xbox360.
Давайте рассмотрим тестовый скетч c использованием клавиатуры.Для работы с ним необходимы библиотеки,которые можно скачать тут https://cloud.mail.ru/public/9d83/SQJiyS21q
Также в примерах есть реализации с устройствами описанными ранее.

#include

USBHost usb;

KeyboardController keyboard(usb);

void keyPressed() {
Serial.print(«Pressed: «);
printKey();
}
void keyReleased() {
Serial.print(«Released: «);
printKey();
}

void printKey() {
Serial.print(» key:»);
Serial.print(keyboard.getOemKey());

int mod = keyboard.getModifiers();
Serial.print(» mod:»);
Serial.print(mod);

Serial.print(» => «);

if (mod & LeftCtrl)
Serial.print(«L-Ctrl «);
if (mod & LeftShift)
Serial.print(«L-Shift «);
if (mod & Alt)
Serial.print(«Alt «);
if (mod & LeftCmd)
Serial.print(«L-Cmd «);
if (mod & RightCtrl)
Serial.print(«R-Ctrl «);
if (mod & RightShift)
Serial.print(«R-Shift «);
if (mod & AltGr)
Serial.print(«AltGr «);
if (mod & RightCmd)
Serial.print(«R-Cmd «);

Serial.write(keyboard.getKey());
Serial.println();
}

void setup()
{
Serial.begin(9600);
Serial.println(«Program started»);
delay(200);
}

void loop()
{
usb.Task();
}

Joystick Shield или детство ты вернулось

Joystick Shield заслуживает всяческих похвал.Но кто мог подумать что дисплейчик,радио модуль и стик с кнопками можно поместить на одну плату,да и еще красиво?.
На плате присутствует порты для подключения дисплея от nokia 5110 и радио модуля nRF24L01.И подключение нарисовано на плате.Также все пинов arduino,которые шилд задействует в процессе работы

Kлавиатура

Pin # KEY
D0(RX) 0 NULL
D1(TX) 1 NULL
D2 2 KEY A
D3 3 KEY B
D4 4 KEY C
D5 5 KEY D
D6 6 KEY E
D7 7 KEY F
D8 8 KEY Down
A0 A0 X положение
A1 A1 Y положение
Nokia 5110 LCD
Pin # KEY
D9 9 SCLK
D10 10 CSN
D11 11 D/C
D12 12 RST
D13 13 SCE

nRF24L01
Pin # KEY
D9 9 SCE
D10 10 CSN
D11 11 SCK
D12 12 MOSI
D13 13 MISO

Джойстик щилд предоставляет собой простые аналоговые переменные резисторы в стике вместе с четырьмя отдельными кнопками без фиксации и одной с фиксацией к, расположенной под стиком. Джойстик может быть использован для управления мелодиями или изображениями на экране. Кнопки могут быть использованы для навигации или управления.

Как мне найти текущую позицию джойстика?
Положение джойстика вычисляется с помощью двух потенциометров. Стик может двигаться в двух измерениях, которые обычно представляли бы координаты х и у. Для чтения потенциометров мы используем функцию analogRead (), которая возвращает число от 0 до 1023.Задаем пины подлючения.Шилд для джойстика стандартно задействует аналоговый пин 0 и 1.

Serial.println(analogRead(0)); // X позиция
Serial.println(analogRead(1)); // Y позиция

Законстатируем пины.Это сделано только для удобства и красоты кода.

const byte PIN_ANALOG_X = 0;
const byte PIN_ANALOG_Y = 1;

void setup() {
Serial.begin(9600);
}

void loop() {

Serial.print(«x:»);
Serial.print(analogRead(PIN_ANALOG_X));
Serial.print(» «);

Serial.print(«y:»);
Serial.print(analogRead(PIN_ANALOG_Y));
Serial.print(» «);

Serial.println();
}

Определим текущее положение джойстика.

Это может быть полезно для определения значений X и Y позиции, чтобы определить джойстик по центру или переехали в одном из 8 направлений (т.е. вверх, вправо-вверх, вправо, вправо-вниз, вниз, влево-вниз, влево, стоп).

Так как мы знаем значение в каждом измерении будет между 0 до 1023 можно было бы ожидать в центре значение, чтобы быть вокруг 511 или 513, но потому, что стик физическое устройство фактическое значение вряд ли будет что точнее. Если мы выбираем неправильное значение, мы найдем, что наш стик будет двигаться в определенном направлении, даже если он по центру.

Для решения этой проблемы мы указываем два «порога» значения и считаем, что любое значение в пределах этого диапазона следует рассматривать как «центр»:

| —- | — | —- |
0 505 515 1023

Пороговые значения, которые вы выбираете, может отличаться в зависимости от вашего джойстика. Зададим значения констант как в коде:

const int X_THRESHOLD_LOW = 505 ;
const int X_THRESHOLD_HIGH = 515 ;

const int Y_THRESHOLD_LOW = 500 ;
const int Y_THRESHOLD_HIGH = 510 ;

Далее, мы хотим, чтобы все значения направления были в диапазоне от -1 до 1.

Начнем с установки направления, в каждом измерении 0 («центром»).

x_direction = 0;
y_direction = 0;

x_position = analogRead(PIN_ANALOG_X);
y_position = analogRead(PIN_ANALOG_Y);

if (x_position > X_THRESHOLD_HIGH) {
x_direction = 1;
} else if (x_position < X_THRESHOLD_LOW) { x_direction = -1; } if (y_position > Y_THRESHOLD_HIGH) {
y_direction = 1;
} else if (y_position < Y_THRESHOLD_LOW) { y_direction = -1; Здесь мы прописали текстовые сообщения для удобства. const byte PIN_ANALOG_X = 0; const byte PIN_ANALOG_Y = 1; const int X_THRESHOLD_LOW = 505; const int X_THRESHOLD_HIGH = 515; const int Y_THRESHOLD_LOW = 500; const int Y_THRESHOLD_HIGH = 510; int x_position; int y_position; int x_direction; int y_direction; void setup() { Serial.begin(9600); } void loop () { x_direction = 0; y_direction = 0; x_position = analogRead(PIN_ANALOG_X); y_position = analogRead(PIN_ANALOG_Y); if (x_position > X_THRESHOLD_HIGH) {
x_direction = 1;
} else if (x_position < X_THRESHOLD_LOW) { x_direction = -1; } if (y_position > Y_THRESHOLD_HIGH) {
y_direction = 1;
} else if (y_position < Y_THRESHOLD_LOW) { y_direction = -1; } if (x_direction == -1) { if (y_direction == -1) { Serial.println("left-down"); } else if (y_direction == 0) { Serial.println("left"); } else { // y_direction == 1 Serial.println("left-up"); } } else if (x_direction == 0) { if (y_direction == -1) { Serial.println("down"); } else if (y_direction == 0) { Serial.println("centered"); } else { // y_direction == 1 Serial.println("up"); } } else { // x_direction == 1 if (y_direction == -1) { Serial.println("right-down"); } else if (y_direction == 0) { Serial.println("right"); } else { // y_direction == 1 Serial.println("right-up"); } } Теперь возьмемся за кнопки.Данные пины используют кнопки на плате.При не использовании определенных кнопок,пины можно задействовать. const byte PIN_BUTTON_SELECT = 2; const byte PIN_BUTTON_RIGHT = 3; const byte PIN_BUTTON_UP = 4; const byte PIN_BUTTON_DOWN = 5; const byte PIN_BUTTON_LEFT = 6; Оказывается ваш Arduino на самом деле имеет внутренние резисторы, подключенные к контактам внутри микроконтроллера. Для того, чтобы использовать внутренние резисторы нужно "enable the internal pull-up resistors".То есть включить их. Когда "подтягивающие" резистор подключены к заданным пинам кнопок это означает, что уровень напряжения, когда кнопка не нажата будет высоким, поскольку резисторы "подтягивает уровень напряжения", чтобы всегда был высокий уровень, когда кнопка не нажата.Данная процедура позволит избежать случайного срабатывания кнопки. На типичной Arduino напряжением сигнала является 5 вольт. При нажатии кнопка будет читаться, как низкий сигнал, так как там меньше сопротивление между пином и землей. Чтобы включить подтягивающий резистор необходим следующий код. pinMode(PIN_BUTTON_RIGHT, INPUT); digitalWrite(PIN_BUTTON_RIGHT, HIGH); Код настройки всех кнопок. void setup() { pinMode(PIN_BUTTON_RIGHT, INPUT); digitalWrite(PIN_BUTTON_RIGHT, HIGH); pinMode(PIN_BUTTON_LEFT, INPUT); digitalWrite(PIN_BUTTON_LEFT, HIGH); pinMode(PIN_BUTTON_UP, INPUT); digitalWrite(PIN_BUTTON_UP, HIGH); pinMode(PIN_BUTTON_DOWN, INPUT); digitalWrite(PIN_BUTTON_DOWN, HIGH); pinMode(PIN_BUTTON_SELECT, INPUT); digitalWrite(PIN_BUTTON_SELECT, HIGH); } Смотрите следующий код,о том как узнать, нажата ли кнопка или нет. Значение кнопок читается с помощью функции digitalRead (). Если значение читается как LOW, то кнопка нажата, и когда значение HIGH кнопка не нажата. if (digitalRead(PIN_BUTTON_LEFT) == LOW) { // Button is pressed } else { // Button is not pressed } Ниже полный пример выводит состояние каждой кнопки и стика в мониторе порта Arduino: const byte PIN_BUTTON_SELECT = 2; const byte PIN_BUTTON_RIGHT = 3; const byte PIN_BUTTON_UP = 4; const byte PIN_BUTTON_DOWN = 5; const byte PIN_BUTTON_LEFT = 6; const byte PIN_ANALOG_X = 0; const byte PIN_ANALOG_Y = 1; void setup() { Serial.begin(9600); pinMode(PIN_BUTTON_RIGHT, INPUT); digitalWrite(PIN_BUTTON_RIGHT, HIGH); pinMode(PIN_BUTTON_LEFT, INPUT); digitalWrite(PIN_BUTTON_LEFT, HIGH); pinMode(PIN_BUTTON_UP, INPUT); digitalWrite(PIN_BUTTON_UP, HIGH); pinMode(PIN_BUTTON_DOWN, INPUT); digitalWrite(PIN_BUTTON_DOWN, HIGH); pinMode(PIN_BUTTON_SELECT, INPUT); digitalWrite(PIN_BUTTON_SELECT, HIGH); } void loop() { Serial.print("l:"); Serial.print(digitalRead(PIN_BUTTON_LEFT)); Serial.print(" "); Serial.print("r:"); Serial.print(digitalRead(PIN_BUTTON_RIGHT)); Serial.print(" "); Serial.print("u:"); Serial.print(digitalRead(PIN_BUTTON_UP)); Serial.print(" "); Serial.print("d:"); Serial.print(digitalRead(PIN_BUTTON_DOWN)); Serial.print(" "); Serial.print("x:"); Serial.print(analogRead(PIN_ANALOG_X)); Serial.print(" "); Serial.print("y:"); Serial.print(analogRead(PIN_ANALOG_Y)); Serial.print(" "); Serial.print("s:"); Serial.print(digitalRead(PIN_BUTTON_SELECT)); Serial.print(" "); Serial.println(); }

4 канальный реле шилд или счастье есть в шилде

Долгое время для подключения проводов необходимы были провода.Огромные косы проводов тянулись от реле модулей до контроллера.Все позади.Теперь все будет тянуться только вверх.
Реле шилд по сути своей представляет тот же 4 канальный реле модуль только в исполнении шилда.Шилд имеет полную совместимость с платами arduino uno,mega,leonardo.Шилд для своей работы берет от 4 до 7 контакта.Максимальный ток коммутации 10 ампер на один канал.Максимальное напряжение 1000 вольт.Теперь перейдем к примеру кода.В данном примере мы будем замыкать реле с помощью serial порта и компьютера.

int outputPin = 4; //здесь храним номер контакта
int val; //здесь будет храниться принятый символ
int output2Pin = 5; //здесь храним номер контакта
int val2;
int output3Pin = 6; //здесь храним номер контакта
int val3;
int output4Pin = 7; //здесь храним номер контакта
int val4;

void setup()
{
Serial.begin(9600); //установка порта на скорость 9600 бит/сек
pinMode(outputPin, OUTPUT);
pinMode(output2Pin, OUTPUT);
pinMode(output3Pin, OUTPUT);
pinMode(output4Pin, OUTPUT);
}

void loop()
{
if (Serial.available()) { //если есть принятый символ,
val = Serial.read(); // то читаем его и сохраняем в val
if (val == ‘q’) { // если принят симовол ‘q’,…
digitalWrite(outputPin, HIGH);// то включаем первое реле
}
if (val == ‘w’) { // если принят симовол ‘w’,
digitalWrite(outputPin, LOW); // то выключаем первое реле
}
}
if (Serial.available()) { //если есть принятый символ,
val2 = Serial.read(); // то читаем его и сохраняем в val2
if (val2 == ‘e’) { // если принят симовол ‘e’,…
digitalWrite(output2Pin, HIGH);// то включаем реле 2
}
if (val2 == ‘r’) { // если принят симовол ‘r’,
digitalWrite(output2Pin, LOW); // то выключаем реле 2
}
}
if (Serial.available()) { //если есть принятый символ,
val3 = Serial.read(); // то читаем его и сохраняем в val3
if (val3 == ‘t’) { // если принят симовол ‘t’,…
digitalWrite(output3Pin, HIGH);// то включаем реле 3
}
if (val3 == ‘y’) { // если принят симовол ‘y’,
digitalWrite(output3Pin, LOW); // то выключаем реле 3
}
}
if (Serial.available()) { //если есть принятый символ,
val4 = Serial.read(); // то читаем его и сохраняем в val4
if (val4 == ‘u’) { // если принят симовол »,…
digitalWrite(output4Pin, HIGH);// то включаем реле 4
}
if (val4 == ‘i’) { // если принят симовол ‘i’,
digitalWrite(output4Pin, LOW); // то выключаем реле 4
}
}
}

Для передачи команд включите монитор порта в arduino ide.Включение и выключение реле вы узнаете по щелчку.

BLE shield или беспроводная связь от часововой батарейки

Вместе с wifi shield к нам приехал BLE shield.ВLE в переводе означает bluetooth c низким потреблением тока.Что гарантирует при стандарте 4.0 низкое энергопотребление,ранее недоступное.Также скорость передачи данных не упала в сравнение с ранними стандартами bluetooth.Также модуль может порадовать джамперами для эмуляции com порта на ранее не предназначенных для этого пинах.Вместе с этим пропала проблема преобразователей напряжения и светодиода состояния.Все уже есть на плате.Для общения шилд занимает всего два пина arduino не считая питания.Также благодаря новому стандарту bluetooth 4.0 без проблем подключаться к любому мобильному телефону,умеющиму bluetooth.Шилд построен на микросхеме cc2541.Данная микросхема имеет большую популярность у разработчиков и хорошо развивается и совершенствуется.

Характеристики BT
ВерсияСпецификация Bluetooth V4.0 BLE
Рабочая частота 2,4 ISM полоса
Рабочее потребление <15мА
Максимальное потребление <30 мАВ
спящем режиме<3мА
Метод модуляцииGFSK (Gaussian Frequency Shift Keying)
RF Мощность-23dbm, -6dBm, 0dBm, 6dBm, можно изменить через AT-команды AT + НАЗ
Скорость Асинхронные: 6K байт, Синхронный: 6K байтЧувствительность≤-84dBm на 0.1% BER
Безопасность Аутентификация и шифрование
Обслуживание Центральный и периферийных UUID FFE0, FFE1
Напряжение 5В
Рабочая температура-5 ~ +65 По Цельсию
Размер68мм х 43мм

Индикация на модуле
Сигнальная лампа: Лампа будет мигать, если никто не подключить BLE, но лампа будет держать освещение после BLE был связан.
Изменение порта передачи данных
На плате присутствует гребенка соответствующая пинам d0-d8.Для настройки «софтового» используете джампера,идущие в комплекте.
Кнопка на плате.
С помощью данной кнопки можно перезагрузить шилд.
А теперь разберем код.
Данный шилд может выступить в качестве либо ведущего устройства,либо ведомого.
Для удобства под платформой android было написано приложение ,которое можно сказать по ссылке https://cloud.mail.ru/public/Hvih/TUCY5BCnE

Для ведомого.То есть управляемого

 

#include <SoftwareSerial.h>   //Software Serial Port
#define RxD 2
#define TxD 3
 
#define DEBUG_ENABLED  1
 
SoftwareSerial BLE(RxD,TxD);
 
void setup() 
{ 
  Serial.begin(9600);
  pinMode(RxD, INPUT);
  pinMode(TxD, OUTPUT);
  setupBleConnection();
 
} 
 
void loop() 
{ 
  char recvChar;
  while(1){
    if(BLE.available()){//check if there's any data sent from the remote BLE shield
      recvChar = BLE.read();
      Serial.print(recvChar);
    }
    if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
      recvChar  = Serial.read();
      BLE.print(recvChar);
    }
  }
} 
 
void setupBleConnection()
{
  BLE.begin(9600); //Set BLE BaudRate to default baud rate 9600
  BLE.print("AT+CLEAR"); //clear all previous setting
  BLE.print("AT+ROLE0"); //set the bluetooth name as a slaver
  BLE.print("AT+SAVE1");  //don't save the connect information
}

Для ведущего.Которым управляют.


#include <SoftwareSerial.h>   //Software Serial Port
#define RxD 2
#define TxD 3
 
#define DEBUG_ENABLED  1
 
SoftwareSerial BLE(RxD,TxD);
 
void setup() 
{ 
  Serial.begin(9600);
  pinMode(RxD, INPUT);
  pinMode(TxD, OUTPUT);
  setupBleConnection();
 
} 
 
void loop() 
{ 
  char recvChar;
  while(1){
    if(BLE.available()){//check if there's any data sent from the remote BLE shield
      recvChar = BLE.read();
      Serial.print(recvChar);
    }
    if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
      recvChar  = Serial.read();
      BLE.print(recvChar);
    }
  }
} 
 
void setupBleConnection()
{
  BLE.begin(9600); //Set BLE BaudRate to default baud rate 9600
  BLE.print("AT+CLEAR"); //clear all previous setting
  BLE.print("AT+ROLE1"); //set the bluetooth name as a master
  BLE.print("AT+SAVE1");  //don't save the connect information
}

Кроме того, вы можете использовать Щит BLE с помощью АТ команд без всякой программы, но для этого вы должны переключить шилд на базовые порты обмена данных. Соответственно 0 и 1.
Затем откройте Монитор порта в arduino ide.параметры соединения
Скорость передачи данных: 9600 (по умолчанию)
биты данных: 8, четность: нет
Стоп-биты: 1
Затем отправьте на arduino пустой скетч на arduino.После этого открывайте монитор порта.Теперь отправьте команду «AT + ROLE0» к шилду; он вернет «OK + набор: 0», что означает, в настоящее время Щилд готов выступать в качестве ведомого.
AT команды
Более подробную информацию о командах вы можете узнать по адресу

wifi shield или первый обзор действительно удобного шилда

Недавно в магазин поступил wifi shield компании http://www.doit.am/ .Признаться это лучший шилд, который видел свет.Теперь можно забыть о корявых преходниках и резисторах на макетных платах.
Шилд обладает следующими характеристиками
Беспроводные стандарты 802.11 B / G / N; STA / AP Режимы поддержки;
TCP / IP стек протоколов, один разъем;
Поддержка стандартных TCP / UDP сервера и клиента;
Поддержка серийный конфигурации скорости передачи порта: 1200/2400/4800/9600/19200/38400/57600/74800/115200 б.п.; Поддержка последовательных битов данных: 5/6/7/8 бит;
Поддерживает последовательный паритета: нет; Поддержка последовательных стоп-бита: 1/2 бит;
Совместим по выводам с Arduino UNO, Мега, Arduino Распиновка 2/3/4/5/6/7/8/9/10/11/12/13;
ESP8266 GPIO пинов 0/2/4/5/9/10/12/13/14/15/16 / АЦП / RU / * UART TX / RX UART;
Основные кнопки: конфигурации режимов;
Dual-порты DIP переключателей: переключение Arduino и ESP8266;
Работа Wi-Fi ток: непрерывная работа передачи: ≈70mA (200 мА MAX), режим простоя: <200uA; Скорость последовательной передачи Wi-Fi: 110-460800bps;
Температура: -40 ℃ ~ + 125 ℃;
Влажность: 10% -90% без конденсации; Вес: 20 г
таблица
Также он обладает следующими плюсами перед другими модулями:
1, модуль Wi-Fi является промышленного класса, это значит что ESP-12E с металлическим корпусом поэтому модуль имеет способность создавать анти-помехи;
2, Шилд совместимы по выводам с Arduino Uno, Mega2560 и другой плате управления. Чип преобразователь напряжения используется, чтобы иметь дело с 3,3 (Esp8266) и 5В (Arduino);
3, Два Микропереключатели используется для последовательных портов, так что этот модуль можно использовать по отдельности в качестве платы расширения Arduino Uno, а также быть использованы в качестве ESP8266 платы расширения;
4, последовательные данные транспортируется WiFi устройства прозрачно, и наоборот. Arduino Программа не требует никакой настройки; 5, веб-сервер разработан для настройки параметров WiFi и параметров последовательных портов;
6, модуль может быть использован в качестве независимого развития борту ESP8266. например, загрузку Официальный команд прошивки NodeMCU.
7, модуль также может быть использован в качестве отдельного платы расширения для Arduino Uno.
LED конфигурация
ESP8266 основе последовательного Wi-Fi Щит имеет два светодиода. Красный цвет светодиода это — питание. Синий светодиод многофункциональный.
LED, и его функция описывается следующим образом:
Таблица индикация
Плату можно настроить как клиент для данных дома и как удаленный сервер.
Важно!!!!Шилд по умолчанию в режиме прозрачного соединения.Если система потребует пароль,обратитесь в техподдержку
Преднастройка.
Шаг 1: Подключите WiFi щилд к arduino, и найдите сигнал WiFi. Идентификатор SSID является «DoitWiFi_Config».
подключение
Шаг 2: Откройте браузер и введите IP-адрес Wi-Fi: 192.168.4.1. На странице конфигурации, как показано ниже.
меню настройки
Встроенный веб-сервер в WiFi щилде поддерживает конфигурацию серийных параметров, конфигурацию параметров сети.
Он также поддерживает автоматическое или ручное сканирование AP.
Шаг 3: нажмите кнопку «Отправить».
настройка5
После перезагрузки, WiFi щилд автоматически перезагрузится в режиме AP, настройте его как:
Параметры последовательного порта в 9600, N, 8, 1,
Wi-Fi работает режим: AP;
SSID: «DoitWiFi_Ser2Net»;
Пароль: «12345678.»
TCP Server, и порт 9000.
Это также конфигурация по умолчанию. Вы также можете нажать кнопку «FactorDefault» для достижения конфигурации, ранее
описаной .
Пример.arduino+wifi shield
Шаг 1: подключите serial WiFi щилд к плате Arduino Uno. Двойной DIP-переключатель переключается в положение «OFF
Шаг 2: Загрузите в Arduino Uno код, показанный ниже:

void setup()
{
Serial.begin(9600);
}
void loop()
{
delay(1000);
Serial.println(«hello ESP8266 WiFi»); //output the serial data
}

Шаг 3: Установите переключатели в положение «ВКЛ». Теперь, ESP8266 связано с Arduino Uno.
Шаг 4: Найдите WiFi сигнал «DoitWiFi_Ser2Net» с компьютера или мобильного телефона.И подключитесь
подключение

Шаг 5:Запуск программного обеспечения TCP / UDP Отладка (программное обеспечение для скачивания Ссылка:https://cloud.mail.ru/public/KgLZ/CvKv6AT8m
Установление соединения клиента TCP и IP назначения адреса 192.168.4.1, номером порта является 9000.Local порт
настроен на «Auto».
настройка
После того, как соединение успешно построено, программное обеспечение показывает, данные WiFi модуля.
Таким образом, Arduino может послать последовательные данные в сеть.
настройка1
Пример 2.wifi shield сервер
Здесь модуль может стать сервером для данных.Доступным с любой точки мира.
Шаг 1: Получить временный IP-адрес и порт с сервера TCP. Здесь полученный IP-адрес: «115.29.109.104», и
номер порта «6533».
настройка2
Примечание: IP-адрес и номер порта можно получить на http://tcp.doit.am
Шаг 2: Войти в режим настройки. После включения WiFi щилд, нажмите кнопку кнопку более одной секунды.Кнопка находится на плате.Тем самым вы перейдете в режим сброса.
Подключите SSID имени «DoitWiFi_Config» с passward «12345678». Затем введите «192.168.4.1» в браузере.
Шаг 3: Настройка последовательного WiFi щит с узлом (режим STA), с тем, чтобы соединиться с беспроводной маршрутизатор, как показано ниже:
«Режим Wi-Fi»: STA;
Вот беспроводной маршрутизатор с именем «MIFI_A6_cd1c» используется и пароль «mifi66666666».
Нажмите кнопку обновить чтобы обновить результаты.Место данных указаных впишите данные вашего роутера.
настройка4
Шаг 4: Настройка сетевых параметров.
Тип гнезда: «Клиент».
Тип передачи: «TCP».
Удаленный IP: «115.28.109.104»
Удаленный порт: «6533».
Шаг 5: Нажмите кнопку «Отправить».
настройка5
Шаг 6: запустить отладки программного обеспечения TCP / UDP. Установление соединения клиентского TCP. IP-адрес назначения
Количество 115.29.109.104, Порт 6533. Локальный порт настроен на «Auto».
настройка6
Шаг 7: программа показывает данные из последовательного WiFi щилда через беспроводной маршрутизатор. Таким образом, можно Arduino
отправить последовательных данных к сети в режиме STA.
настройка7
Разбор режимов работы
Рабочий процесс WiFi щилда показан ниже:
настройка8
Заводские параметры конфигурации.
настройка9
Настройка режима работы с роутером.
Режим работы WiFi щилда включает в себя AP и STA режимов. Если режим AP выбирается в WebServer,и нажимается «обновить» и
Кнопки AP. Список» будут оставлены. Тем не менее, SSID и пароль может быть установлены.
настройка10
Если режим STA выбирают, «обновить» и кнопки «AP» Список будет включен. «Refresh» может быть использован для сканирования другой сигнал WiFi,
и отсканированное Результат будет показан в AP список».
настройка12
Если Wi-Fi щилд находится в режиме STA, он всегда будет пытаться подключиться к беспроводной маршрутизатор, указанный до.
настройка13
Сетевые настройки можно установить в качестве сервера (Server) или в режиме клиента (Client). Модуль расширения Wi-Fi поддерживает только TCP и UDP.
Если режим «Сервер» устанавливается «, Удаленный IP» прекращается. И порт должен быть включен на «Локальный порт».
настройка13
Если режим «Клиент» установлен, «Удаленный IP» включен. «Удаленный IP» и «удаленный порт» должны быть заполнены.
настройка14
Вы по умолчанию используете следующие параметры.Именно до них вы можете откатить плату при неудаче.
настройка15