Подключение 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 ты прав, на меге проще чуток
Забыл отписаться:
второй скетч, тот что не работал
int cnt = 0; // счетчик void setup() { Serial1.begin(9600); // инициализация порта } void loop() { cnt++; Serial1.print("Hello BB from Arduino! Counter:"); // выводим надпись Serial1.println(cnt); // выводим значение счетчика и переводим на новую строку delay(1000); // ждем 1 секунду }успешно заработал.... Так и не понял в чем была проблема, но после нескольких испробованных вариантов скетча, заработал и этот.