генератор импульсов на ардуино, выдающий сигнал на ик светодиод
- Войдите на сайт для отправки комментариев
Пнд, 06/03/2017 - 22:19
помогите новичку, не судите строго...
передо мной стала задача разработки генератор импульсов на ардуино, выдающего сигнал на ик светодиод однако даже не знаю с чего начать
однако даже не знаю с чего начать
с перевода потока сознания на человеческий язык начни.
ахах ну я же говорю , новичок я
вобщем нужно запрограмировать генератор прямоугольных импульсов, который будеть передавать их в инфракрасном канале
ахах ну я же говорю , новичок я
вобщем нужно запрограмировать генератор прямоугольных импульсов, который будеть передавать их в инфракрасном канале
соберись - вторая попытка...
хорошо напиши тогда хакеру, что должно входить в вопрос чтобы он стал понятнее для мира?
хорошо напиши тогда хакеру, что должно входить в вопрос чтобы он стал понятнее для мира?
черепно-мозговые травмы были?
помогите новичку, не судите строго...
передо мной стала задача разработки генератор импульсов на ардуино, выдающего сигнал на ик светодиод однако даже не знаю с чего начать
Начните с этого http://people.toiit.sgu.ru/Sinelnikov/PT/C/Kern_Ritch.pdf
генератор импульсов на ардуино, выдающего сигнал на ик светодиод
Такой подойдёт? Выдаёт прямоугольные импульсы с частотой 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); }я написал скетч, который включает и выключает светодиоды с помошью ик пульта
однако у меня возник вопрос, что нужно изменить в коде , чтобы светодиоды не только вкл/выкл по команде пульта но и передавали свой информационный код?
#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");} } }...но и передавали свой информационный код?
Сам то понял что написал?
У меня к одной этой фразе 3 вопроса
Кому диоды должны переживать?
Как диоды должны передаваться?
Какой еще информационный код диоды должны передаваться? Или у тебя диоды как энергетически заряженная вода с положительно вибрирующей информацией?
Да ладно что вы так строжитесь, каждый так начинал.
"Генератор импульсов для ИК" уже включен в используемую вами библиотеку IRremote.
Откройте приложенные к библиотеке примеры IRsendDemo и IRsendRawDemo что бы посмотреть как им пользоваться. Только вы определитесь сначала - что за коды вам нужно передавать.