Jump to content
Yon

Ардуино и радиомодули RF 433 МГц

Recommended Posts

Цеплял радиомодули RF 433 МГц на Ардуино Уно и ""Ардуино" на Атмеге 8 (и наоборот) согласно видео и инфы с нета. Скечи заливал следующие. Но никак ни заработало. Какие могут быть причины? Ардуины исправные. Спс.

Скрытый текст

//Светодиод на 13 пине Arduino загорается, когда приходит '1' и тухнет, когда поступает '0'.
// Rx на пине 12
#include <VirtualWire.h>

void setup(){
  vw_set_ptt_inverted(true); // необходимо для модуля DR3100
  vw_set_rx_pin(12);
  vw_setup(4000); // бит в секунду
  pinMode(13, OUTPUT);
  vw_rx_start(); // запуск фазовой автоподстройки частоты (ФАПЧ)
}

void loop(){
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if (vw_get_message(buf, &buflen)) //
  {
    if(buf[0]=='1'){
      digitalWrite(13,1);
    }
    if(buf[0]=='0'){
      digitalWrite(13,0);
    }
  }
}

 

Скрытый текст

// Tx на пине 12
#include <VirtualWire.h>

char *controller;

void setup() {
  pinMode(13,OUTPUT);
  vw_set_ptt_inverted(true); //
  vw_set_tx_pin(12);
  vw_setup(4000);// скорость передачи данных в Kbps
}

void loop(){
  controller="1" ;
  vw_send((uint8_t *)controller, strlen(controller));
  vw_wait_tx(); // ждем, пока отправится все сообщение
  digitalWrite(13,1);
  delay(2000);
  
  controller="0" ;
  vw_send((uint8_t *)controller, strlen(controller));
  vw_wait_tx(); // ждем, пока отправится все сообщение
  digitalWrite(13,0);
  delay(2000);
}

 

 

Edited by Yon

Share this post


Link to post
Share on other sites

Ошибку нашел. Но как подавить шумы? И еще, на выходе приемника 3,6 В при логической 1, питание 5 В, это норма?

Share this post


Link to post
Share on other sites

Конденсаторы Panasonic. Часть 4. Полимеры – номенклатура

В заключительной, четвертой статье из цикла «Конденсаторы Panasonic» рассматриваются основные достоинства и особенности использования конденсаторов этого японского производителя на основе полимерной технологии. Главной конструктивной особенностью таких конденсаторов является полимерный материал, используемый в качестве проводящего слоя. Полимер обеспечивает конденсаторам высокую электрическую проводимость и пониженное эквивалентное сопротивление (ESR). Номинальная емкость и ESR отличается в данном случае высокой стабильностью во всем рабочем диапазоне температур. А повышенная емкость при низком ESR идеальна для решения задач шумоподавления и ограничения токовых паразитных импульсов в широком частотном диапазоне.

Читать статью

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Вячеслав_НС
      помогите разобраться с кодом .(послать значение по шине TWI на ЦАП PCF8591) не работает в протеусе ...
      #define F_CPU 8000000UL 
      #include <stdlib.h>
      #include <avr/io.h>
      #include <util/delay.h>
      //*** ИНИЦИАЛИЗАЦИЯ ШИНЫ TWI ***/
      void TWI_Init(void)
      {
          // Установка тактовой частоты F_scl  = 100 кГц
          TWBR =32;
          TWSR &= (~((1<<TWPS1)|(1<<TWPS0)));
          TWCR |= (1 << TWEN);            // Разрешение работы TWI-модуля
      }

      /*** ЗАПУСК TWI ***/
      void TWI_Start(void)
      {
          TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
          TWDR = 1001000; // передача адреса модуля PCF8591 в шину TWI
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
      }
      /*** ОСТАНОВКА TWI ***/
      void TWI_Stop(void)
      {
          TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
          while(TWCR & (1<<TWSTO));        // Ожидание завершения передачи условия СТОП
      }
      /***ПЕРЕДАЧА ДАННЫХ В TWI***/
      void TWI_WriteByte(uint8_t data)
      {
          TWDR = data;                    // Загрузка данных в TWDR
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1 << TWINT)));    // Ожидание завершения передачи данных
      }
      /*** ПЕРЕДАТЬ ЗНАЧЕНИЕ В PCF8591 ***/
      void PCF8591_get(void)
      {
          TWI_Start();                // Запуск TWI
          TWI_WriteByte(0x40);        //включаем цап
          TWI_WriteByte(100);            // запись в ЦАП значения 100
          TWI_Stop();                    // Остановить TWI
      }            
          int main(void)
      {
          TWI_Init();    
          while (1)
      {
              PCF8591_get;
             _delay_ms(50);
        }
      }
    • By Merlok Life
      Хочу сделать монстр-машинку с двигателем rs550 с металлическим корпусом на ардуино.
      Подскажите как управлять мотором через ардуино нано? 
       
    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

    • By Геннадий Быков
      Уважаемые электронщики и им сочувствующие!
      Хочу на даче собрать макет морского маяка в человеческий рост. Но для этого необходима схема управляющая светодиодами. Основное, схема должна иметь независимое питание(Солнечная панель) и быть слаботочной (5-9 вольт). Как вижу я. Маяк ориентировочно высотой 1,50-1,80 м. В маяке, с низу до верха 6 окошек (по одному 5мм светодиоду). И на верху сам маяк из 8-ми 0,5 ваттных светодиодов установленных по кругу. С наступлением темноты, включаются диоды на "1 этаже" и раз в 5-10 минут происходит действие. Диоды поэтажно (снизу вверх) начинают загораться (как будто кто-то поднимается вверх по ступеням) и после загорания самого верхнего окна, через пару секунд, включается маяк. Поочередно по кругу (эффект метеора), со скоростью 2-3 сек на круг, делает оборотов 10 и выключается. Потом в обратной последовательности гасятся окошки (светодиоды) сверху в низ и остаются два нижних, периодически и независимо включающиеся и выключающиеся (эффект присутствия). И вновь через 5-10 минут вышеописанное действие. Буду очень признателен любым советам, ссылкам, помощью. Немного умею паять, немного знаю Ардуино. Готов в разумных пределах спонсировать, разработку и сборку.
    • Guest ренат
      By Guest ренат
      Всем здрасти))))
      прошу помощи в написании программы
      мои знания программирования на ардуино основаны на примерах и школьного курса )))
      так вот есть программы 
      int LedPin = 8;             // Подключаем светодиод к порту 13
      int ButPin = 2;             // Подключаем кнопку к выходу 10
      int flag = 0;                // флаг состояния
      int LedPinTime = 100;
      void setup()
      {
        pinMode(LedPin, OUTPUT);   // Инициализируем порт "ledPin" как выходной
      }  
      void loop()
      {
        if(digitalRead(ButPin) == HIGH && flag == 0)      
          {                                              
            digitalWrite(LedPin, !digitalRead(LedPin));
            flag = 1;
          }
        
        if(digitalRead(ButPin) == LOW && flag == 1)
          {
            flag = 0;
          }  
      }
      собрал из кусков, работает )))))
      но не то что мне нужно 
      Мне нужно чтобы при нажатие одной кнопки(без фиксации) светодиод загорался на три секунды ( и не важно держишь ты кнопку или кратковременно нажал, он через три секунды потухнет) 
      помогите кто может))) я в благодарность могу и на телефон денег кинуть )))) спасибо
×
×
  • Create New...