Atmega328 , ардуино , радиосвязь.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

Здравствуйте, у меня несколько вопросов на которые в гугле я не нашел ответов.
Я только учусь программировать, отнетситесь пожалуйста с пониманием.
1) Я хочу осуществить радио связь при помощи двух ардуин на Atmega328 одна из которых самодельная. Радиомодули у меня XY-MK-5V. Нашел только библиотеки которые работают с терминалом, а мне нужно что-то типо подал на 13 пин лог 1 , на другой дуине появилась лог 1.
что-то максимально простое,хочу сделать радиоуправление для машинки.Буду благодарен за примеры.
2) как я уже писал одна дуина самодельная, скажите пожалуйста как при помощи arduino UNO заливать скетчи в самодельную. Неохота постоянно мегу328 вынимать))
Реклама
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Atmega328 , ардуино , радиосвязь.

Сообщение Morroc »

В вашу самоделку, наверное, проще лить без загрузчика через "Файл - Загрузить с помощью программатора" типа как тут http://habrahabr.ru/post/144620/.

Использование такой простой логики с этими модулями чревато ложными срабатываниями, мне кажется там шума на выходе полно и надо кодировать / декодировать как то, но честно говоря в руках такие не крутил - отмел сразу, возни больше чем экономии, для комнатных условий меня полностью устроили bluetooth модули - проще некуда, но чутка подороже.

Возможно стоит глянуть в эту сторону http://www.airspayce.com/mikem/arduino/VirtualWire.pdf http://kind-evil.blogspot.ru/2013/04/433mhz-txrx-arduino-module.html
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Реклама
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

по первому вопросу, мегу я покупал с загрузчиком, я хочу узнать как в неё заливать дуиновские скетчи, а то приходится ставить её в панельку arduinoUNO, заливать скетч, вытаскивать и ставить обратно на плату.
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Atmega328 , ардуино , радиосвязь.

Сообщение kalobyte »

mehanik_universe писал(а):я хочу узнать как в неё заливать дуиновские скетчи,

тебе нужен адаптер http://www.ebay.com/itm/6Pin-USB-2-0-to ... 5d4397cc60
у него есть вывод дтр, который подключается к сбросу и вроде бы там еще конденсатор надо или резистор допаять к контроллеру, недавно видел что-то на эту тему
короче цепь сброса должна быть

в контроллер надо прошить загрузчик быдлодуинский, а для этого в одну плату надо залить скетч исп или как там его, который в иде идет стандартно
потом выбрать прошивку бутлоадера в меню и тогда можеш пользоваться тем адаптером и заливать уже через загрузчик как это положено

как вариант - купить программатор http://www.ebay.com/itm/Mini-USBISP-USB ... 2edd4c1d37
правда там вроде тоже надо прошивку залить для работы с дудкой

mehanik_universe писал(а): Радиомодули у меня XY-MK-5V.

для них есть библиотека http://www.airspayce.com/mikem/arduino/ ... __ASK.html
я сейчас ковыряю http://www.airspayce.com/mikem/arduino/ ... NRF24.html
но модули как у тебя у меня тоже есть, только самопальные с питанием 3-5в на передатчике, а китайские требуют 12в для нормальной работы
тематические ответы только в форуме, в приват не пишите
Реклама
Эиком - электронные компоненты и радиодетали
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

но ведь можно и без переходника дуиновские скетчи заливать, дуина это же и программатор... Я в тинни13 заливал ,только там ядро нужно было скачать, для меги321 почему-то таким макаром не получается, там проводки кидаются на reset,MISO,SCK,MOSI.задолбался гуглить уже,никакой инфы нет...
Реклама
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

Спойлер
kalobyte писал(а):
mehanik_universe писал(а):я хочу узнать как в неё заливать дуиновские скетчи,

тебе нужен адаптер http://www.ebay.com/itm/6Pin-USB-2-0-to ... 5d4397cc60
у него есть вывод дтр, который подключается к сбросу и вроде бы там еще конденсатор надо или резистор допаять к контроллеру, недавно видел что-то на эту тему
короче цепь сброса должна быть

в контроллер надо прошить загрузчик быдлодуинский, а для этого в одну плату надо залить скетч исп или как там его, который в иде идет стандартно
потом выбрать прошивку бутлоадера в меню и тогда можеш пользоваться тем адаптером и заливать уже через загрузчик как это положено

как вариант - купить программатор http://www.ebay.com/itm/Mini-USBISP-USB ... 2edd4c1d37
правда там вроде тоже надо прошивку залить для работы с дудкой

mehanik_universe писал(а): Радиомодули у меня XY-MK-5V.

для них есть библиотека http://www.airspayce.com/mikem/arduino/ ... __ASK.html
я сейчас ковыряю http://www.airspayce.com/mikem/arduino/ ... NRF24.html
но модули как у тебя у меня тоже есть, только самопальные с питанием 3-5в на передатчике, а китайские требуют 12в для нормальной работы

http://3g1l.com/blog-burn-bootloader-bl ... rduino-uno вот например
Реклама
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Atmega328 , ардуино , радиосвязь.

Сообщение Morroc »

mehanik_universe писал(а):но ведь можно и без переходника дуиновские скетчи заливать, дуина это же и программатор... Я в тинни13 заливал ,только там ядро нужно было скачать, для меги321 почему-то таким макаром не получается, там проводки кидаются на reset,MISO,SCK,MOSI.задолбался гуглить уже,никакой инфы нет...

Как нет :shock: и на радиокоте есть http://radiokot.ru/circuit/digital/pcmod/48/ и на arduino.cc http://arduino.cc/en/Tutorial/ArduinoISP, у меня правда с мега8 были какие то проблемы, разбираться не стал - запрограммил через usbasp. А то что загрузчик уже есть... какая разница, нужен будет - зальете заново, делов то.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

не получается залить скетч,для этого дудка не нужна случайно?
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Atmega328 , ардуино , радиосвязь.

Сообщение Morroc »

дудка - часть среды ардуино, включите в св-вах галку чтобы подробные сообщения при программировании выводились

скетч arduinoisp лучше новый скачать, вроде одно время ошибка там была

напишу примерно как я делал (хотя в общем по инструкции) - взял arduino nano, залил туда скетч arduinoisp, соединил mosi/miso/clk/reset с мегой328, выбрал в среде ардуино программатор "arduino as isp" и залилось
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Atmega328 , ардуино , радиосвязь.

Сообщение kalobyte »

mehanik_universe писал(а):для меги321 почему-то таким макаром не получается

328 ты хотел сказать?
чтобы заливать, нужно тогда руками в консоли запускать дудку с ключом программатора
я не знаю как называется программатор, если зашит скетч исп
у меня 2 платы и я пользуюсь загрузчиком, а для меги8 голой я использую обычный программатор на базе фт2232 или китайский универсальный тл866а со своей прогой
тематические ответы только в форуме, в приват не пишите
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

Спойлер
Morroc писал(а):дудка - часть среды ардуино, включите в св-вах галку чтобы подробные сообщения при программировании выводились

скетч arduinoisp лучше новый скачать, вроде одно время ошибка там была

напишу примерно как я делал (хотя в общем по инструкции) - взял arduino nano, залил туда скетч arduinoisp, соединил mosi/miso/clk/reset с мегой328, выбрал в среде ардуино программатор "arduino as isp" и залилось

хорошо, спасибо буду пробовать
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

Спойлер
kalobyte писал(а):
mehanik_universe писал(а):для меги321 почему-то таким макаром не получается

328 ты хотел сказать?
чтобы заливать, нужно тогда руками в консоли запускать дудку с ключом программатора
я не знаю как называется программатор, если зашит скетч исп
у меня 2 платы и я пользуюсь загрузчиком, а для меги8 голой я использую обычный программатор на базе фт2232 или китайский универсальный тл866а со своей прогой

Да наверно придется покупать переходник юсб-юарт просто з/п долго ждать.... А случайно LPT порт нельзя использовать для заливки дуиновских скетчей?
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Atmega328 , ардуино , радиосвязь.

Сообщение kalobyte »

можно через буфер 244й, а программатор называется стк200
тематические ответы только в форуме, в приват не пишите
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

придется ждать зарплату и покупать переходник, ничего у меня не получилось...
Может кто-нибуть показать пример как тупо помигать светиком через радиомодуль XY-MK-5V?
пообещал друзьям что радиоуправление сделаю, нехочу лохануться, они и детальки купили...
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Atmega328 , ардуино , радиосвязь.

Сообщение Morroc »

mehanik_universe писал(а):мне нужно что-то типо подал на 13 пин лог 1 , на другой дуине появилась лог 1.

ну ваши модули примерно так и работают, для мигания светиком можно применить что то типа "антидребезга" - проверяйте раз 10 в секунду и если подряд идут 1 или 0 - это и будет с хорошей вероятностью 1 и 0, только вот с таким подходом перейти от светика к многокомандному радиоуправлению сложно, лучше сразу разобраться с библиотекой (уже 2 ссылки дали, да и сами вы нашли) и юзать ее.

насчет программирования я так и не понял в чем проблема... на крайняк можно ноги меги отпаять на uno и прицепить их временно к самоделке - залить туда

на "соседнем" форуме есть подобная тема - там вроде получилось, но без дуины, просто avr - http://forum.easyelectronics.ru/viewtopic.php?f=4&t=21500

p.s. гоню - 10 нулей наверное подряд и не будет, но что не 1 то 0 :))

можно еще ик управление сделать, в среде есть пример - там все просто (с библиотекой из примера), но пульт лучше готовый взять
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Atmega328 , ардуино , радиосвязь.

Сообщение kalobyte »

mehanik_universe писал(а):Может кто-нибуть показать пример как тупо помигать светиком через радиомодуль XY-MK-5V?

я тебе дал библиотеку и там есть готовые скетчи
возьми протеус и посмотри в виртуалке пока

покупай самую дешевую плату http://www.ebay.de/itm/371182527001
у меня такая есть и я еще брал синюю подороже малость
на желтой белым маркировка плохо видна, а так все одинаково
тематические ответы только в форуме, в приват не пишите
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Atmega328 , ардуино , радиосвязь.

Сообщение Morroc »

Мне arduino nano нравятся - можно и на макетку воткнуть и в конструкцию и к usb так же цепляются - хоть программируй готовый девайс хоть аккумуляторы заряжай через этот разъем, стандартный размер ардуины не очень подходит для такого.

Примеры годных переходников для программирования и просто подключения к компу всяких атмег

http://chipster.ru/catalog/arduino-and-modules/interface-modules/3074.html
http://chipster.ru/catalog/arduino-and-modules/interface-modules/2283.html
http://chipster.ru/catalog/arduino-and-modules/interface-modules/2283.html

у 4х проводных переходников внутри тоже есть все сигналы и клеем они не залиты - можно вывести все что нужно, есть с 6ю проводами, но это уже в китае надо искать

ну или вот годный программатор

http://chipster.ru/catalog/tools/programmers/2406.html

(ппц как все весело в рублях стало, меня бы жаба задушила - лучше месяц из китая подождать или заказать там всякого в 2 раза больше)
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
mehanik_universe
Открыл глаза
Сообщения: 59
Зарегистрирован: Вт дек 09, 2014 00:47:04

Re: Atmega328 , ардуино , радиосвязь.

Сообщение mehanik_universe »

всем спасибо за помощь,скетчи в мегу не заливались возможно из за плохой платы, когда мегу вытащил и подал питалово на плату,то заметил что светик на 13 слабенько ,хаотически моргает причины так и не нашел,надо заново паять...
касательно радиопередатчика,то буду мучить библиотеку.
domrustika
Грызет канифоль
Сообщения: 257
Зарегистрирован: Чт мар 22, 2007 13:50:33
Откуда: казань
Контактная информация:

Re: Atmega328 , ардуино , радиосвязь.

Сообщение domrustika »

ребята помогите вот видео моего устройства http://www.youtube.com/watch?v=FnnWvMbb5v8
вот код
Спойлер

Код: Выделить всё

/*
 * arduWebRelays.ino
 *
 * Created: 07/09/2013 15:55:00
 *  Author: Guillaume Carriere - guillaume.carriere@gmail.com
 *
  VCC -   3.3V
  GND -    GND
  SCK - Pin 13
  SO  - Pin 12
  SI  - Pin 11
  CS  - Pin  8 # Selectable with the ether.begin() function
 */
#include <EtherCard.h>

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x32 };
static byte myip[] = { 192,168,2,50 };
int etap = 0;

#define BUFFER_SIZE   500
byte Ethernet::buffer[BUFFER_SIZE];
BufferFiller bfill;

#define CS_PIN       10

#define RELAIS_1     5
#define RELAIS_2     6
bool relais1Status = false;
bool relais2Status = false;

const char http_OK[] PROGMEM =
"HTTP/1.0 200 OK\r\n"
"Content-Type: text/html\r\n"
"Pragma: no-cache\r\n\r\n";

const char http_Found[] PROGMEM =
"HTTP/1.0 302 Found\r\n"
"Location: /\r\n\r\n";

const char http_Unauthorized[] PROGMEM =
"HTTP/1.0 401 Unauthorized\r\n"
"Content-Type: text/html\r\n\r\n"
"<h1>401 Unauthorized</h1>";

void homePage()
{
  bfill.emit_p(PSTR("$F"
    "<title>Интернет-розетка</title>"
    "Розетка 1: <a href=\"?relais1=$F\">$F</a><br />"
    "Розетка 2: <a href=\"?relais2=$F\">$F</a>"),
  http_OK,
  relais1Status?PSTR("off"):PSTR("on"),
  relais1Status?PSTR("<font color=\"green\"><b>Выключено</b></font>"):PSTR("<font color=\"red\">Включено</font>"),
  relais2Status?PSTR("off"):PSTR("on"),
  relais2Status?PSTR("<font color=\"green\"><b>Выключено</b></font>"):PSTR("<font color=\"red\">Включено</font>"));
}

void setup()
{
  Serial.begin(115200); 

  pinMode(RELAIS_1, OUTPUT);
  pinMode(RELAIS_2, OUTPUT);

  if (ether.begin(BUFFER_SIZE, mymac, CS_PIN) == 0)
    Serial.println("Cannot initialise ethernet.");
  else
    Serial.println("Ethernet initialised.");

  ether.staticSetup(myip);

//  Serial.println("Setting up DHCP");
//  if (!ether.dhcpSetup())
//    Serial.println( "DHCP failed");
 
  ether.printIp("My IP: ", ether.myip);
  ether.printIp("Netmask: ", ether.netmask);
  ether.printIp("GW IP: ", ether.gwip);
  ether.printIp("DNS IP: ", ether.dnsip);

}

void loop()
{
   

//  digitalWrite(RELAIS_1, relais1Status);
//  digitalWrite(RELAIS_2, relais2Status);

  delay(1);   // necessary for my system
  word len = ether.packetReceive();   // check for ethernet packet
  word pos = ether.packetLoop(len);   // check for tcp packet

  if (pos) {
    bfill = ether.tcpOffset();
    char *data = (char *) Ethernet::buffer + pos;
    if (strncmp("GET /", data, 5) != 0) {
      // Unsupported HTTP request
      // 304 or 501 response would be more appropriate
      bfill.emit_p(http_Unauthorized);
    }
    else {
      Serial.print("----");
      Serial.print(data);
      Serial.println("----");
      data += 5;

      if (data[0] == ' ') {
        // Return home page
        homePage();
      }
      else if (strncmp("?relais1=on ", data, 12) == 0) {
   //     if (etap == 0)
     //     {
            relais1Status = true;
            digitalWrite(RELAIS_1, relais1Status);     
            delay(1500);
           relais1Status = false; 
            digitalWrite(RELAIS_1, relais1Status);
         //   etap ++;
      //    }
        bfill.emit_p(http_Found);
       // if (etap > 2)
       //   {
       //     etap = 0;
       //   }
      }

      else if (strncmp("?relais1=off ", data, 13) == 0) {
        if (etap == 0)
          {
            relais1Status = true;
            digitalWrite(RELAIS_1, relais1Status);     
            delay(1500);
           relais1Status = false; 
            digitalWrite(RELAIS_1, relais1Status);
            etap ++;
          }
        bfill.emit_p(http_Found);
      }

      else {
        // Page not found
        bfill.emit_p(http_Unauthorized);
      }
    }

    ether.httpServerReply(bfill.position());    // send http response
  }
}

как сделать что бы при нажатии на 1 надпись реле не просто включалось а вЫключалось ждало 1 секунду и снова ВКЛЮЧалась? помогите что надо сделать с кодом?
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Atmega328 , ардуино , радиосвязь.

Сообщение kalobyte »

этот код сосет по 2м причинам

1 вид не отделен от быдлокода
2 я нихера в быдлокоде не понял
3 я нихера не понял, что вообще должно происходить

по логике при нажатии на линк он должен меняться на выключено и при следущем нажатии снова включить реле и сменить надпись
тематические ответы только в форуме, в приват не пишите
Ответить

Вернуться в «Разные вопросы по МК»