Привет Гость!
Рады видеть Вас на МАЛАТКЕ! Внимание!!! Ваши права ограничены.
Чтобы снять ограничения и не просматривать лишний контент Войдите или
Зарегистрируйтесь на сайте.
С уважением Администрация сайта
Сейчас: 26.04.2024, 00:19.
Перед нами сенсор расстояния и бт -модуль(справа).
В творчество вникать особо не буду, а расскажу о главном:
Для того, чтобы начать работать с блютузом, вам нужно выполнить следующие шаги:
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", иначе работать не будет! Скачать программку.
KpiBeTkO, конечно мои))) Не люблю постить чужое, а вот если постю, то только после того, как сам соберу или модернизирую))) Сейчас нет нормального инета, выложу сегодня вечером))) Также создам тему по ВСЕмембенду(среда для ВМ). А программа led controller идет на твоем коммуникаторе? Нет человека-которого нельзя научить... Есть человек-который не хочет учиться!!!