BlueTooth и Arduino
|
|
Дмытрохан |
Дата: Среда, 31.10.2012, 02:19 | Сообщение # 1 |
Создатель сайта
Группа: Администраторы
Сообщений: 178
Награды: 7
Репутация: 103
Статус: Офлайн
|
Дошли руки создать эту тему... Перед нами сенсор расстояния и бт -модуль(справа).
В творчество вникать особо не буду, а расскажу о главном:
Для того, чтобы начать работать с блютузом, вам нужно выполнить следующие шаги:
1) Прошить ардуино кодом(скетчем), что ниже.
Важно!!! Когда вы подключаете ардуино к компьютеру по USB, BT-модуль нужно отключить!!! Code
enum { LED = 13 }; // переменная "LED" = 13 enum LogicState { mig,off,on}; // "LogicState" может иметь 3 значения "mig", или "off", или "on" LogicState logic_state; // Переприсвоим имя переменной "LogicState" "logic_state"
void setup() // Установим параметры... { pinMode(LED,OUTPUT); // Пин 13 - выход Serial.begin(9600); // Старт обмена данными на 9600 for (int i = 0; i < 4; ++i) // Помигаем светодиодом 4 раза { digitalWrite(LED, HIGH); delay(250); // Подождем четверть секунды digitalWrite(LED, LOW); } logic_state = off; // Присвоим "logic_state" значение "off" тоесть светодиод при старте не горит } void loop() // Начало основного цикла { if (Serial.available()) // Если соединение доступно... { char command = Serial.read(); // Переменная "command" будет иметь то значение, что прийдет в порт switch (command) // Анализ значения "command" { case 'q': {logic_state = mig; break; } // Если "command" = "q", то "logic_state" = "mig","break"- обязательно ставим, иначе ардуин зациклится в этом цикле !!!! case 'w': {logic_state = off; break;} case 'e': {logic_state = on; break;} default: // Если прийдет неопределенный символ, то помигать LEDом 5 раз { for (int i = 0; i < 5; ++i) { digitalWrite(LED, HIGH); delay(50); digitalWrite(LED, LOW); delay(50); } } } switch (logic_state) {
case mig : {digitalWrite(LED, HIGH); // Мигать светодиодом delay(500); digitalWrite(LED, LOW); delay(500); break; } case off : {digitalWrite(LED, LOW); // Выкл светодиод break; } case on : {digitalWrite(LED,HIGH ); // Вкл светодиод break; } } } } В скетче запрограммировано несколько функций связанных со встроенным светодиодом(подключенным к 13 входу/выходу на ардуино). Несколько функций, а точнее 3: 1) Светодиод мигает, если по сериале, или по блютузу(тот-же сериал...) "пришла буква" 'q'. 2) Светодиод выключен, если 'w'. 3) Светодиод включен, если 'e'.
2) Подключить бт модуль следующим образом: VCC на + 5 или на +3.3 Вольт(а) на ардуино. GND на любой из GND коннекторов ардуино. RX на TX коннектор на ардуино. TX на RX коннектор на ардуино .
Теперь когда ваше ардуино прошито, питается от внешнего БП и к нему подключен бт-модуль, вам нужно выполнить еще несколько шагов: 1) Ищем бт. (У меня называется "linvor" можно и переименовать...) 2) Нашли,если на вашем компютере программа "IVT BlueSoleil", то выбираем "BlueTooth Serial Port Sevice" и на вопрос "Пароль?" пишем "1234" и вам должно вилететь подключено к такому-то виртуальному сериалпорту. Например СОМ11, или заходим в "Дспетчер устройств" в вкладку "Порты(СОМ LPT)" и ищем выше СОМ10-того. 3) Открываем программку ардуино в "Tools" кликаем "Serial Port" и выбираем нужный порт. 4) Находим в программе "Serial Monitor" выставляем скорость 9600 бод и отправляем на ардуино команды в виде обыкновенных букв
Пока я только написал программку на Windows Mobile для своего кпк. Для этого я использовал среду разработки программ под кпк Microsoft eMbedded Visual C++ 4.0. http://malatok.at.ua/forum/28-72-1 - это ссылка на программу. Также вы можете скачать целый проект на Microsoft eMbedded Visual C++ , который в прикреплении ниже. Выглядит примерно так: Для коректной работы используйте устройства с процом ARM типа моего Toshiba portege g900. !!!ВАЖНО!!! Установите в настройках БТ на КПК СОМ5, как исходящий на ваш бт-модуль стандартное имя модуля, как я говорил, "linvor", иначе работать не будет! Скачать программку.
Немного позже, думаю написать и для ANDROIDa.
Если нужно пара даташитов на бт-модули: Удачи с проектированием))) Вопросы задаем тут)))
Нет человека-которого нельзя научить... Есть человек-который не хочет учиться!!!
|
|
| |
Виктор |
Дата: Понедельник, 17.12.2012, 18:15 | Сообщение # 2 |
Группа: Гости
|
Привет можешь выложить также исходники для Виндовс Мобайл и на чём писал?
спасибо!
|
|
| |
KpiBeTkO |
Дата: Понедельник, 17.12.2012, 18:36 | Сообщение # 3 |
Сталкер
Группа: Свои
Сообщений: 3
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Офлайн
|
Привет,
1. слово "Зарегистрировались" пишется точно не так как написано на главной, 2. Меня интересуют исходники для Виндовс Мобайла, и среда разработки
Делаю сейчас машинку с блютузом и хчу чтобы управлялась с телефона(HTC TD2 ВиндовсМобайл)
P.S. бравое дело делаешь Дмытрохан, молодец, те проекты которые ты постиш твои? Skype: a 2 k a t v i c (без пробелов =)
|
|
| |
Дмытрохан |
Дата: Среда, 19.12.2012, 02:37 | Сообщение # 4 |
Создатель сайта
Группа: Администраторы
Сообщений: 178
Награды: 7
Репутация: 103
Статус: Офлайн
|
KpiBeTkO, конечно мои))) Не люблю постить чужое, а вот если постю, то только после того, как сам соберу или модернизирую))) Сейчас нет нормального инета, выложу сегодня вечером))) Также создам тему по ВСЕмембенду(среда для ВМ). А программа led controller идет на твоем коммуникаторе?
Нет человека-которого нельзя научить... Есть человек-который не хочет учиться!!!
|
|
| |
Дмытрохан |
Дата: Среда, 19.12.2012, 21:06 | Сообщение # 5 |
Создатель сайта
Группа: Администраторы
Сообщений: 178
Награды: 7
Репутация: 103
Статус: Офлайн
|
Все, выложил и проект, и программу, и отредактировал тему)
Нет человека-которого нельзя научить... Есть человек-который не хочет учиться!!!
|
|
| |
KpiBeTkO |
Дата: Суббота, 22.12.2012, 00:12 | Сообщение # 6 |
Сталкер
Группа: Свои
Сообщений: 3
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Офлайн
|
1. за ответ спасибо 2. на счёт роботоспособности вот занимаюсь этим пока...
|
|
| |
Викр |
Дата: Воскресенье, 23.12.2012, 01:26 | Сообщение # 7 |
Админ
Группа: Администраторы
Сообщений: 71
Награды: 6
Репутация: 100
Статус: Офлайн
|
KpiBeTkO, ну как? Получилось что-нибудь с программой?
|
|
| |