генератор импульсов на ардуино, выдающий сигнал на ик светодиод

Александр Спицын
Offline
Зарегистрирован: 06.03.2017

помогите новичку, не судите строго...

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

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Александр Спицын пишет:

однако даже не знаю с чего начать 

с перевода потока сознания на человеческий язык начни.

Александр Спицын
Offline
Зарегистрирован: 06.03.2017

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

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Александр Спицын пишет:

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

соберись - вторая попытка...

Александр Спицын
Offline
Зарегистрирован: 06.03.2017

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

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Александр Спицын пишет:

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

черепно-мозговые травмы были?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Александр Спицын пишет:

помогите новичку, не судите строго...

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

Начните с этого http://people.toiit.sgu.ru/Sinelnikov/PT/C/Kern_Ritch.pdf

Jeka_M
Jeka_M аватар
Онлайн
Зарегистрирован: 06.07.2014

Александр Спицын пишет:

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

Такой подойдёт? Выдаёт прямоугольные импульсы с частотой 1Гц на ИК светодиод, подключённый к 10 пину.

#define IR_Led 10

void setup() {                
  pinMode(IR_Led, OUTPUT);     
}

void loop() {
  digitalWrite(IR_Led, HIGH);   
  delay(500);               
  digitalWrite(IR_Led, LOW);    
  delay(500);               
}

 

Александр Спицын
Offline
Зарегистрирован: 06.03.2017

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

#include <IRremote.h>         // библиотека для ИК
int RECV_PIN = 6;             // pin ИК приемника
IRrecv irrecv(RECV_PIN);      // создаем объект получения сигнала с заданного порта
decode_results results;	      // переменная хранящая результат
int LED = 13; // pin светодиода
int LED2 = 12;
int LED3 = 11;
int LED4 = 10;
int LED5 = 9;
int LED6 = 8; 
void setup() 
{

irrecv.enableIRIn();   // включаем ИК-приемник
pinMode(LED, OUTPUT);  // устанавливает режим работы - выход
pinMode(LED2, OUTPUT); // устанавливает режим работы - выход
pinMode(LED3, OUTPUT); // устанавливает режим работы - выход
pinMode(LED4, OUTPUT); // устанавливает режим работы - выход
pinMode(LED5, OUTPUT); // устанавливает режим работы - выход
pinMode(LED6, OUTPUT); // устанавливает режим работы - выход
pinMode(RECV_PIN, INPUT);
Serial.begin(9600);    //скорость обмена с Serial портом
}

void loop()
{  
int LEDR = random(8, 13);        // Переменная для включения рандомного светодиода
if (irrecv.decode(&results))//При получении сигнала...
{
Serial.println(results.value);  //…выводим его значение в последовательный порт
  
if (results.value == 16724175) //включение 1го светодиода
{digitalWrite(LED, HIGH);
Serial.println("A1B1 on");}

if (results.value == 16718055) //включение 2го светодиода 
{digitalWrite(LED2, HIGH);
Serial.println("A2B2 on");}

if (results.value == 16743045) //включение 3го светодиода 
{digitalWrite(LED3, HIGH);
Serial.println("A3B3 on");}

if (results.value == 16716015) //включение 4го светодиода 
{digitalWrite(LED4, HIGH);
Serial.println("A4B4 on");}

if (results.value == 16726215) //включение 5го светодиода
{digitalWrite(LED5, HIGH);
Serial.println("A5B5 on");}

if (results.value == 16734885) //включение 6го светодиода
{digitalWrite(LED6, HIGH);
Serial.println("A6B6 on");}

if (results.value == 16738455) //включение рандомного светодиода
{digitalWrite(LEDR, HIGH);
Serial.println("ARBR on");}

if (results.value == 16769565) //выключение 1го светодиода
{digitalWrite(LED, LOW);}
		  
if (results.value == 16769565) //выключение 2го светодиода
{digitalWrite(LED2, LOW);}

if (results.value == 16769565) //выключение 3го светодиода
{digitalWrite(LED3, LOW);}	

if (results.value == 16769565) //выключение 4го светодиода
{digitalWrite(LED4, LOW);}

if (results.value == 16769565) //выключение 5го светодиода
{digitalWrite(LED5, LOW);}
	
if (results.value == 16769565) //выключение 6го светодиода
{digitalWrite(LED6, LOW);}
 irrecv.resume(); // принимаем следующий сигнал на ИК приемнике
}

if (Serial.available())     //управление светодиодами через Serial
{
char val = Serial.read();      //включение 1го светодиода 
if (val == 'Q'){          
digitalWrite(LED, HIGH);
Serial.println("A1B1 on");}
if (val == 'q'){
digitalWrite(LED, LOW);
Serial.println( "A1B1 off");}

if (val == 'W'){              //включение 2го светодиода
digitalWrite(LED2, HIGH);
Serial.println("A2B2 on");}
if (val == 'w'){
digitalWrite(LED2, LOW);
Serial.println( "A2B2 off");}

if (val == 'E'){             //включение 3го светодиода
digitalWrite(LED3, HIGH);
Serial.println("A3B3 on");}
if (val == 'e'){
digitalWrite(LED3, LOW);
Serial.println( "A3B3 off");}

if (val == 'R'){             //включение 4го светодиода  
digitalWrite(LED4, HIGH);
Serial.println("A4B4 on");}
if (val == 'r'){
digitalWrite(LED4, LOW);
Serial.println( "A4B4 off");}

if (val == 'T'){             //включение 5го светодиода
digitalWrite(LED5, HIGH);
Serial.println("A5B5 on");}
if (val == 't'){
digitalWrite(LED5, LOW);
Serial.println( "A5B5 off");}

if (val == 'Y'){             //включение 6го светодиода
digitalWrite(LED6, HIGH);
Serial.println("A1B1 on");}
if (val == 'y'){
digitalWrite(LED6, LOW);
Serial.println( "A6B6 off");}
}
}

 

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

Александр Спицын пишет:

...но и передавали свой информационный код?


Сам то понял что написал?
У меня к одной этой фразе 3 вопроса
Кому диоды должны переживать?
Как диоды должны передаваться?
Какой еще информационный код диоды должны передаваться? Или у тебя диоды как энергетически заряженная вода с положительно вибрирующей информацией?

Grigory
Offline
Зарегистрирован: 29.03.2014

Да ладно что вы так строжитесь, каждый так начинал.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

"Генератор импульсов для ИК" уже включен в используемую вами библиотеку IRremote.

Откройте приложенные к библиотеке примеры IRsendDemo и IRsendRawDemo что бы посмотреть как им пользоваться. Только вы определитесь сначала - что за коды вам нужно передавать.