Подключение Bluetooth к Leonardo
- Войдите на сайт для отправки комментариев
Пт, 13/03/2015 - 09:55
Не могу разобраться с подключением.
Вот рабочий скетч:
int cnt = 0; // счетчик void setup() { Serial.begin(9600); // инициализация порта } void loop() { cnt++; Serial.print("Hello BB from Arduino! Counter:"); // выводим надпись Serial.println(cnt); // выводим значение счетчика и переводим на новую строку delay(1000); // ждем 1 секунду }
Он исправно выводит сообщения в монитор порта.
При подсоединении блютуза к пинам 0 и 1 и следующем скетче:
int cnt = 0; // счетчик void setup() { Serial1.begin(9600); // инициализация порта } void loop() { cnt++; Serial1.print("Hello BB from Arduino! Counter:"); // выводим надпись Serial1.println(cnt); // выводим значение счетчика и переводим на новую строку delay(1000); // ждем 1 секунду }
по идее должен выводить те же сообщения в терминал, при соединении через блютуз, но соединение устанавливается, а сообщений нет.
Попробовал вот такой скетч и соединение через 10 и 11 пин:
#include <SoftwareSerial.h>// import the serial library SoftwareSerial Genotronex(10, 11); // RX, TX int ledpin=13; // led on D13 will show blink on / off int BluetoothData; // the data given from Computer void setup() { // put your setup code here, to run once: Genotronex.begin(9600); Genotronex.println("Bluetooth On please press 1 or 0 blink LED .."); pinMode(ledpin,OUTPUT); } void loop() { // put your main code here, to run repeatedly: if (Genotronex.available()){ BluetoothData=Genotronex.read(); if(BluetoothData=='1'){ // if number 1 pressed .... digitalWrite(ledpin,1); Genotronex.println("LED On D13 ON ! "); } if (BluetoothData=='0'){// if number 0 pressed .... digitalWrite(ledpin,0); Genotronex.println("LED On D13 Off ! "); } Genotronex.println("Hello, world?"); } delay(100);// prepare for next data ... }
В этом случае все работает (пиходят сообщения и при отправлении мигает светодиод)
Что во втором скетче не так?
Почему то не могу отредактировать первое сообщение...
Дополню:
Если меняю
на
то тоже не работает
почему Serial1?
блюпуп rx-> tx0 arduino
блюпуп tx -> rx0 arduino
ну и питание, как без него
обычный Serial. на меге работает четко
почему Serial1?
блюпуп rx-> tx0 arduino
блюпуп tx -> rx0 arduino
ну и питание, как без него
обычный Serial. на меге работает четко
Вот здесь написано:http://arduino.ru/Hardware/ArduinoBoardLeonardo
Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega32U4 USB-to-TTL. Обратите внимание что у Leonardo, класс Serial относится к последовательному соединению USB CDC. Последовательное соединение через выводы 0 и 1 осуществляется через класс Serial1.
Если меняю на serial, получаю связь на компорт (через юсб)
посмоти
http://www.youtube.com/watch?v=45CQ2m-9FiY&feature=youtube_gdata_player
тут и скетч есть
а по поводу rx и tx ты прав, на меге проще чуток
Забыл отписаться:
второй скетч, тот что не работал
успешно заработал.... Так и не понял в чем была проблема, но после нескольких испробованных вариантов скетча, заработал и этот.