Yon

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

4 сообщения в этой теме

Yon    34

Цеплял радиомодули 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);
}

 

 

Изменено пользователем Yon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Yon    34

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: CUBE
      Не могу запустить асинхронный режим. 
      Ниже будет представлен код которым пытаюсь отладить. Там в 1 коде идёт работа от внутреннего источника таков (стоит 1МГц).  После 5 миганий таймер должен перейти в асинхронный режим и мигать с частотой в 1 Гц. У меня происходит 5 миганий потом ничего. Фьюзы менять пробовал, ничего не дало, сейчас дефолт. Корпус кварца к земле тянуть пробовал - безрезультатно. 
      Возможно что-то в подключении накосячил, если не видно на фото ниже, спрашиваете, нужно будет - нарисую схему. 
      Компилятор Atmel Studio 7
      Шью через Sind Prog 2.1.1 + USBasp 2.0
      Вот код: 
      .macro outi 
       ldi r16, @1 
       out @0, r16 
      .endm 
      .org $000 
      rjmp reset 
      .org $001 
      reti 
      .org $002 
      reti 
      .org $003 
      reti 
      .org $004 
      rjmp timer2_ovf 
      .org $005 
      reti 
      .org $006 
      reti 
      .org $007 
      reti 
      .org $008 
      reti 
      .org $009 
      reti 
      .org $00A 
      reti 
      .org $00B 
      reti 
      .org $00C 
      reti 
      .org $00D 
      reti 
      .org $00E 
      reti 
      .org $00F 
      reti 
      .org $011 
      reti 
      .org $012 
      reti 
      .ORG INT_VECTORS_SIZE 
       
      reset: 
      .equ portout=portd 
      .equ ddrout=ddrd 
      .def led=r17 
      .def mask=r18 
      .def counter=r19 
       outi spl,low(ramend) 
       outi sph,high(ramend) 
       
       outi ddrout, 0xff 
       
       outi tccr2, 0b00000111 
       outi timsk, 1«toie2 
       
        
       
        
       ldi led,1«5 
       ldi mask,1«5 
       sei 
      cycle: 
      cpi counter, 10 
      breq offtim 
       rjmp cycle 
       
      timer2_ovf: 
      inc counter 
       out portout, led 
       eor led, mask 
      reti 
        
      offtim: 
      outi timsk, 0«toie2 
      rjmp asinxron 
       
      asinxron: 
       outi assr, 0b00001000 
      back: 
       in r16, assr 
       cpi r16, 0b00001000 
       brne back 
       
        outi tccr2, 0b00000101 
        outi tcnt2, 0 
        outi ocr2, 0 
        outi timsk, 1«toie2 
       
       
      m1: 
      rjmp m1


      Верх меги на фото слева. 
    • Автор: Leonids Dislovojs
      Здравствуйте уважаемые техники, мой вопрос может показаться многим глупым, но я учусь в Латвии на мехатроника, знаю необходимые формулы и умею проводить расчеты, но я не понимаю, по моему, самого важного, при построении печатных плат с микроконтроллерами (в основном atmega328) я не знаю по какому принципу, где, когда и почему нужно добавлять конденсаторы, зачеты сдавал только благодаря копированию конденсаторов с платы Ардуино на свою, все работает но долго схемы копировать я не смогу.
      Можете, пожалуйста, посоветовать какую нибудь литературу или хотя бы простой принцип что бы понять принцип добавления конденсаторов (да и резисторов) в схему при том, что в схеме есть микроконтроллеры, например: сейчас я проектирую схему с участием atmega328 и sx1278, программу написать могу, плату развести могу, но куда и какие элементы ставить, мне не понятно. 
      Спасибо.
       
    • Автор: Михаил Непомнин
      Не компилируется программа  Ардуино, чтобы измерять напряжение и отправлять в ПК. Помогите , пожалуйста
    • Автор: Виктор Хмелевский
      Как сделать так чтобы и с кнопки и с реле можно было включить свет. Делаю умный дом, очень нужна ваша помощь, я в ступоре.
  • Сообщения

    • у меня есть пачка 139/140 левых. Там внутри кристалл как у того 5551 размером. Естественно срок действия такого прибора минуты полторы ) Не помешало бы проверить на левачок
    • так нынче как бы синтезатор частот не проблема. У китайцев вообще за подарочную цену. Без всяких бареттеров и от 0,1Гц до 100 МГц. Ну там попроще/посложнее, в зависимости от финансов/потребностей ИМХО - смысла нет уже заморачиваться с паяльником на эту тему. Получится ущербно в любом разе, а затрат времени несоизмеримо
    • @Waldo ,это для уменьшения напряжения питания,китайцы иногда так делают. 2050 можно впаивать смело,диодики убирать. Смысла от этой переделки только мало конечно. Удачи!
    • В Радиотехнике У-101 было сделано довольно грамотно. Там транзистор крепился к пластине размером 15х30х5 мм (приблизительно, точных размеров не помню), а пластина уже крепилась к основному радиатору через изоляционную прокладку.
    • Интересно. С моей текущей схемой желаемых изначально параметров добиться, в принципе, не удалось - светодиод, подключенный на выход источника, установленного на 40 В 10 мА перегорает. При установке 20 В выдерживает, но по осциллографу бросок длится порядка 10 мкс, это достаточно много. Попытки увеличить скорость управления транзисторами приводят к возбуждению при той или иной нагрузке, только с такими параметрами работает стабильно (по крайней мере я не видел возбуждения). У меня предположение, что схема с прямым управлением должна работать стабильней, т.к. там ОУ замедлен естественным образом за счет большой требуемой выходной амплитуды. Плюс коэффициент усиления там получается больше единицы, это тоже должно положительно сказаться на стабильности (современные ОУ компенсированы и для единицы, но это же без дополнительных транзисторов). А вещей типа плавного старта и нагрузкой источником тока я может вообще делать не буду. Может как раз китайскими транзисторами такие слухи и вызваны? ) На самом деле, ситуация такая - почти все транзисторы работают при температуре кристалла 150 градусов. При этом, если на транзисторе рассеивается 200 Вт, то за счет теплового сопротивления кристалл-корпус, корпус должен иметь температуру не выше 25 градусов (иначе кристалл нагреется выше 150). Можно ли обеспечить такое охлаждение? Вряд ли. При температуре 87.5 градусов кристалл будет 150 уже при мощности в 100 Вт. Т.е. берем транзистор на 200 Вт, но использовать можем его только на 100, да и то при условии, что радиатор не нагреется выше 85. Исходя из этого, слух про 100 Вт для ТО-247 можно считать правдой - т.е. такие транзисторы надо ставить из расчета только 100 Вт. А теперь берем китайский, рассчитанный по факту на 100 Вт (вместо 200) - он в таких условиях уже сможет рассеивать только 50. Потом к этому добавляется область вторичного пробоя, где ограничения еще более жесткие и итоговая мощность транзистора уже совсем не та. У нас в городе продаются 2SC5200 по 110 рублей. Хочу попробовать его. Если он потянет 2 А в режиме СС, при 70 градусах, то парочка выдержит и желаемые 3 А. Не хотело бы, конечно, ставить два, но, похоже, при желаемых характеристиках этого не избежать.
    • К Рябине претензии по модуляции и прочему есть? Из нулевого,дальше Иркутска и Абакана ,сейчас,никого нет..к сожалению...