Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 28.10.2018, 04:18   #1
Alex_Chppok
Частый гость
 
Регистрация: 22.12.2017
Сообщений: 29
Сказал спасибо: 10
Сказали Спасибо 1 раз в 1 сообщении
Alex_Chppok на пути к лучшему
Вопрос Atmega и Bluetooth HC-05

Здравствуйте. Делаю бегущую строку на AVR и драйверах max7219 по этой статье статье. Исходный код есть в конце статьи.

Хотел бы доработать устройство чтобы можно было передавать сообщение через Bluetooth модуль HC-05 при помощи Bluetooth terminal. Сам знаю как это можно сделать, т.к. все примеры находил только под Arduino.

Прошу помочь кто знает как это можно реализовать
Реклама:
Alex_Chppok вне форума  
Непрочитано 28.10.2018, 05:51   #2
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Alex_Chppok, таки если примеры реализации под arduino уже известны и пройдены, то что мешает использовать этот же код на голом МК?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 28.10.2018, 12:14   #3
Alex_Chppok
Частый гость
 
Регистрация: 22.12.2017
Сообщений: 29
Сказал спасибо: 10
Сказали Спасибо 1 раз в 1 сообщении
Alex_Chppok на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Сообщение от mike-y-k Посмотреть сообщение
Alex_Chppok, таки если примеры реализации под arduino уже известны и пройдены, то что мешает использовать этот же код на голом МК?
Потому что все библиотеки там по Arduino
Alex_Chppok вне форума  
Непрочитано 28.10.2018, 15:55   #4
OKF
Прописка
 
Регистрация: 17.11.2009
Сообщений: 134
Сказал спасибо: 15
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
OKF на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

А что мешает Мегу8 превратить в Ардуину?
OKF вне форума  
Непрочитано 28.10.2018, 21:39   #5
Alex_Chppok
Частый гость
 
Регистрация: 22.12.2017
Сообщений: 29
Сказал спасибо: 10
Сказали Спасибо 1 раз в 1 сообщении
Alex_Chppok на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Сообщение от OKF Посмотреть сообщение
А что мешает Мегу8 превратить в Ардуину?
Не знаю)) я первый раз с мк что-то делаю. Там же компилятор наверное только для Arduino и я делаю на Atmega 324p
Вот статья где делается такое устройство, но на Arduino и Arduino IDE , я делаю на Atmega и если я правильно понял, то для Atmega этого не сделать ((

Последний раз редактировалось Alex_Chppok; 28.10.2018 в 22:05.
Alex_Chppok вне форума  
Непрочитано 28.10.2018, 22:11   #6
petr5555
Почётный гражданин KAZUS.RU
 
Регистрация: 16.02.2010
Сообщений: 1,413
Сказал спасибо: 0
Сказали Спасибо 128 раз(а) в 114 сообщении(ях)
petr5555 на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Сообщение от Alex_Chppok Посмотреть сообщение
Не знаю)) я первый раз с мк что-то делаю. Там же компилятор наверное только для Arduino и я делаю на Atmega 324p
Вот статья где делается такое устройство, но на Arduino и Arduino IDE , я делаю на Atmega и если я правильно понял, то для Atmega этого не сделать ((

Вам же про код пишут !!!
Код - он и для Ардуино и для Меги - главное чтобы Мега была
такая же как на Ардуине.

А вы всё про библиотеки и компиляторы....................
petr5555 вне форума  
Непрочитано 28.10.2018, 22:17   #7
Alex_Chppok
Частый гость
 
Регистрация: 22.12.2017
Сообщений: 29
Сказал спасибо: 10
Сказали Спасибо 1 раз в 1 сообщении
Alex_Chppok на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Сообщение от petr5555 Посмотреть сообщение
Вам же про код пишут !!!
Код - он и для Ардуино и для Меги - главное чтобы Мега была
такая же как на Ардуине.

А вы всё про библиотеки и компиляторы....................
Что значит мега такая же? Ну код ведь для Arduino IDE там.
Alex_Chppok вне форума  
Непрочитано 29.10.2018, 00:14   #8
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,016
Сказал спасибо: 0
Сказали Спасибо 4,954 раз(а) в 2,378 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Сообщение от Alex_Chppok Посмотреть сообщение
делается такое устройство, но на Arduino и Arduino IDE , я делаю на Atmega и если я правильно понял, то для Atmega этого не сделать
фейерический иерихонский пи"дец какойты - не можете на ардуино иде - пишите на винавр, на асме, в машинных кодах, на иаре, на микроси, баскоме и т.д.
создайте свой заголовочный файл, если его нет в среде, ищите, думайте, но не нойте
Цитата:
для Atmega этого не сделать
- ядро там идентичное, только периферия кое-чем отличается
jump вне форума  
Непрочитано 29.10.2018, 03:23   #9
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Alex_Chppok, таки, если Вас правильно понять из написанного в топике - есть библиотека и пример реализации нужного для Arduino.
Видимо эта реализация работает на том же самом камне, что и у Вас.
Остаетстся в том примере к операции copy/paste добавить чтение документации и внесение в имеющееся необходимых изменений:
[li][*]инициализация без arduino и с учётом подключения HC-05 к Вашей плате;[*]работа без arduino и с учётом подключения HC-05 к Вашей плате;[*]реализация использования обмена с HC-05 с имеющимся алгоритмом[/li]
Первые два пункта - на основе DS и AN, третий - уже Ваш алгоритм.

Если у Вас к Вашей плате с AVR таки есть средства для загрузки результата компиляции и сборки в МК (что таки подразумевается), то совет по заливке туда загрузчика Arduino - совсем не самый плохой. Плату просто немного подогнать под стандарт arduino с использованием соответствующего UART и можно продолжить уже в среде arduino IDE с оговорками про использованный кварц и отличия в использовании портов. Тогда вопрос сам по себе рассосётся
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 29.10.2018, 03:32   #10
Alex_Chppok
Частый гость
 
Регистрация: 22.12.2017
Сообщений: 29
Сказал спасибо: 10
Сказали Спасибо 1 раз в 1 сообщении
Alex_Chppok на пути к лучшему
По умолчанию Re: Atmega и Bluetooth HC-05

Код:
#include ‹MaxMatrix.h›
#include ‹SoftwareSerial.h›
#include ‹avr/pgmspace.h›
PROGMEM const unsigned char CH[] = {
  3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space
  1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // !
  3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // "
  5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // #
  4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $
  5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // %
  5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // &
  1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // '
  3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // (
  3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // )
  5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // *
  5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // +
  2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // ,
  4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // -
  2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // .
  4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // /
  4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0
  3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1
  4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2
  4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3
  4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4
  4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5
  4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6
  4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7
  4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8
  4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9
  2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // :
  2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ;
  3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // ‹
  3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // =
  3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // ›
  4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ?
  5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @
  4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A
  4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B
  4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C
  4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D
  4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E
  4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F
  4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G
  4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H
  3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I
  4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J
  4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K
  4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L
  5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M
  5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N
  4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O
  4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P
  4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q
  4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R
  4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S
  5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T
  4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U
  5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V
  5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W
  5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X
  5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y
  4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z
  2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [
  4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash
  2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ]
  3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat
  4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _
  2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // `
  4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a
  4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b
  4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c
  4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d
  4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e
  3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f
  4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g
  4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h
  3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i
  4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j
  4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k
  3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l
  5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m
  4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n
  4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o
  4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p
  4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q
  4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r
  4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s
  3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t
  4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u
  5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v
  5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w
  5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x
  4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y
  3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z
  3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // {
  1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // |
  3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // }
  4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~
};
int dIn = 11;   // DIN pin of MAX7219 module
int clk = 13;   // CLK pin of MAX7219 module
int cs = 10;    // CS pin of MAX7219 module
int maxInUse = 8;    // Number of MAX7219's connected
MaxMatrix m(dIn, cs, clk, maxInUse);
SoftwareSerial Bluetooth(0, 1); // Bluetooth
byte buffer[10];
char incomebyte;
int scrollSpeed = 0;
char text[100] = "HowTo"; // Initial text message
int brightness = 15;
int count = 0;
char indicator;
void setup() {
  m.init(); // MAX7219 initialization
  m.setIntensity(brightness); // initial led matrix intensity, 0-15
  Bluetooth.begin(38400); // Default communication rate of the Bluetooth module
}
void loop() {
  // Printing the text
  printStringWithShift(text, scrollSpeed);
  
  if (Bluetooth.available()) {   // Checks whether data is comming from the serial port
    indicator = Bluetooth.read();   // Starts reading the serial port, the first byte from the incoming data
    // If we have pressed the "Send" button from the Android App, clear the previous text
    if (indicator == '1') {
      for (int i = 0; i ‹ 100; i++) {
        text[i] = 0;
        m.clear();
      }
      // Read the whole data/string comming from the phone and put it into text[] array.
      while (Bluetooth.available()) {
        incomebyte = Bluetooth.read();
        text[count] = incomebyte;
        count++;
      }
      count = 0;
    }
    // Adjusting the Scrolling Speed
    else if (indicator == '2') {
      String sS = Bluetooth.readString();
      scrollSpeed = 150 - sS.toInt(); // Milliseconds, subtraction because lower value means higher scrolling speed
    }
    // Adjusting the brightness
    else if (indicator == '3') {
      String sB = Bluetooth.readString();
      brightness = sB.toInt();
      m.setIntensity(brightness);
    }
  }
}
void printCharWithShift(char c, int shift_speed) {
  if (c ‹ 32) return;
  c -= 32;
  memcpy_P(buffer, CH + 7 * c, 7);
  m.writeSprite(32, 0, buffer);
  m.setColumn(32 + buffer[0], 0);
  for (int i = 0; i ‹ buffer[0] + 1; i++)
  {
    delay(shift_speed);
    m.shiftLeft(false, false);
  }
}
void printStringWithShift(char* s, int shift_speed) {
  while (*s != 0) {
    printCharWithShift(*s, shift_speed);
    s++;
  }
}
void printString(char* s)
{
  int col = 0;
  while (*s != 0)
  {
    if (*s ‹ 32) continue;
    char c = *s - 32;
    memcpy_P(buffer, CH + 7 * c, 7);
    m.writeSprite(col, 0, buffer);
    m.setColumn(col + buffer[0], 0);
    col += buffer[0] + 1;
    s++;
  }
}
В общем разобрался как сделать под Atmega328P, однако есть одна проблемка(



Не могу понять в чём дело.. Текст начинает бежать с середины 5-ой матрицы, хотя у меня их всего 8. Подключил всё правильно и пины указал...
Миниатюры:
Нажмите на изображение для увеличения
Название: к1.png
Просмотров: 0
Размер:	19.8 Кб
ID:	134157   Нажмите на изображение для увеличения
Название: к2.PNG
Просмотров: 0
Размер:	70.3 Кб
ID:	134158  

Последний раз редактировалось Alex_Chppok; 29.10.2018 в 03:44.
Alex_Chppok вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тормоза при передаче данных через UART в Bluetooth модуль rus_12345 Микроконтроллеры, АЦП, память и т.д 8 05.01.2015 19:39
Bluetooth - сделай сам hie Автоматика и аппаратура связи 4 02.01.2013 20:15
Радиометка по Bluetooth Pavel55 Автоматика и аппаратура связи 2 05.05.2011 23:39
Помогите с ATmega 32 (32х) naumovich Микроконтроллеры, АЦП, память и т.д 10 07.10.2008 08:31
Параллельное программирование atmega R_V_A Микроконтроллеры, АЦП, память и т.д 8 20.12.2006 12:50


Часовой пояс GMT +4, время: 02:50.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot