Передача произвольного набора импульсов через выход.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

Подскажите, с помощью каких приемов в написании скетча можно передать произвольный набор импульсов

для радиопередатчика? Тоесть имеем  определенный код, знаем,  продолжительность "ноль-единица" и т.д..

Каким способом написать "передачу" для такого варианта? Куда смотреть?

Logik
Offline
Зарегистрирован: 05.08.2014

Морзянка чтоле? Установить 1 подождать время Т1 установить 0 подождать Т0. Повторять так до завершения передаваемого  сообщения при иных значениях Т1 и Т0. Задача выродилась в получение потока значений Т1 и Т0 на каждом шаге. Используйте массивы для хранения сообщений и кодов букв. Если "подождать" реализовывать на delay то задача очень простая.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

чтото типа да - морзянка..   хочу поэксперемнировать паредавая код 2262 . без библиотек

или типа полобие своей написать. Короче интересно поэксперементировать.

только не хотелось бы "делей" применять.

Logik
Offline
Зарегистрирован: 05.08.2014

Short Circuit пишет:

поэксперемнировать паредавая код 2262 .

мне это ничего не говорит. Но думаю без разницы.

Short Circuit пишет:

не хотелось бы "делей" применять.

 - так не применяйте. Не намного сложней, просто архитектурно иначе, посмотрите http://arduino.ru/tutorials/BlinkWithoutDelay

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

спасибо.

 

еще уточнение: хотелось бы скажем иметь:

возможность менять в одном месте длительность нуля-единицы (установка тайминга)

в другом месте менять код, пусть даже в виде 100111001001111 

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

 

напомню - без делей. с делей - вся понятно.

Logik
Offline
Зарегистрирован: 05.08.2014

Short Circuit пишет:

возможность менять в одном месте длительность нуля-единицы (установка тайминга)

Для длительностей переменные введите, инициализируйте  в одном месте и используйте.

Short Circuit пишет:

 другом месте менять код, пусть даже в виде 100111001001111 

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

можно конечно. Только такой подход применим только если хочется поигратся, передать именно такой код без претензий на использование для произвольных сообщений. Но тогда и delay - не грех.

Если писать для произвольных сообщений - лучше массив азбуки использовать и все через него.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

Logik пишет:

 

Если писать для произвольных сообщений - лучше массив азбуки использовать и все через него.

а примеры где можно посмотреть?

Araris
Offline
Зарегистрирован: 09.11.2012

Ищите "arduino morse" и что-то в этом роде.

Вот, навскидку, "a library for generating and sending Morse code" : https://github.com/markfickett/arduinomorse

Декодер также несложно найти.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Интересно почему народ не пишет типа " хочу собрать бульбулятор", а начинают нести какую-то чушь на пальцах.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

Araris пишет:

Ищите "arduino morse" и что-то в этом роде.

Вот, навскидку, "a library for generating and sending Morse code" : https://github.com/markfickett/arduinomorse

Декодер также несложно найти.

о, это ближе к теме, ибо не знал с чего начать, даже не знал, что такое есть, спасибо.

Logik
Offline
Зарегистрирован: 05.08.2014

Puhlyaviy пишет:
Интересно почему народ не пишет типа " хочу собрать бульбулятор", а начинают нести какую-то чушь на пальцах.

Так всегда, было есть и будит. Традиция непокобелима!

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Logik пишет:

Puhlyaviy пишет:
Интересно почему народ не пишет типа " хочу собрать бульбулятор", а начинают нести какую-то чушь на пальцах.

Так всегда, было есть и будит. Традиция непокобелима!


Традиции партизан? Вот данному ТС что мешало написать что ему морзе нравится? И вообще как он себе представляет общение мк между собой? Голосом цифры диктуют? А ему нужно что не голосом а что нули и единицы?

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

мне не морзе нравитсо, просто это ближе к теме.

если есть еще примеры (наверное как ИК импульсы передавать) тоже интересно.

последнее только сейчас подумал, буду смотреть, разбирать.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Short Circuit пишет:

мне не морзе нравитсо, просто это ближе к теме.

если есть еще примеры (наверное как ИК импульсы передавать) тоже интересно.

последнее только сейчас подумал, буду смотреть, разбирать.


А в гуглях забанили?

Roman-12
Offline
Зарегистрирован: 06.04.2012
#define txPin 8


void setup(){
  Serial.begin(115200); 
  pinMode(txPin, OUTPUT);
}

void loop()
{

  SendRozetka(32213672);
  Serial.println("A-on Kod 32213672");     //A
  delay(5000);

  SendRozetka(32213666);
  Serial.println("A-of Kod 32213666");
  delay(5000);

}



void SendRozetka(long Code)
{     
  for (int i=0; i<20; i++) // посылку посылаем 20 раза подряд.
  {
    for (int i=25; i>0 ;i--){
      SendBit(bitRead(Code,i-1)); // побитово перебираем и посылаем код
    }
    delayMicroseconds(4400);
  }
}

void SendBit(byte b){
  if (b) {
    digitalWrite(txPin, HIGH);   // 1
    delayMicroseconds(450);
    digitalWrite(txPin, LOW);
    delayMicroseconds(115);
  }
  else {  
    digitalWrite(txPin, HIGH);    // 0
    delayMicroseconds(145);
    digitalWrite(txPin, LOW);
    delayMicroseconds(425);
  }
}


Пример.