Перейти к содержимому


Фотография

Урок №13. Комплексное подключение. Часть первая


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 admin

admin

    Администратор

  • Администраторы
  • 32 сообщений

Отправлено 22 Ноябрь 2014 - 12:26

  На фото представлен комплект всех датчиков и исполнительных устройств, которые будут работать одновременно. Например - датчик приближения включает вентилятор, датчик звука выключает вентилятор , инфракрасный  пульт включает/выключает желтый светодиод, а также управляет вентилятором. Цель урока- показать, как ранее написанные программы для одного датчика можно объединить друг с другом и заставить работать одновременно несколько датчиков.  Для начала нам нужно узнать коды клавиш инфракрасного пульта управления. Напишем программу, которая будет выводить на экран компьютера сигнал от пульта. Нам остается запомнить  эти сигналы и применить их в  программе, которую мы создадим позже.

Текст программы для вывода  кодов пульта на экран компьютера:

#include <IRremote.h>
int RECV_PIN = 11; // назначаем 11-ый вывод для подключения фотоприемника
IRrecv irrecv(RECV_PIN);  // назначаем имена переменным
decode_results results;
void setup()
{
  Serial.begin(9600);   // устанавливает скорость обмена данными с компьютером
  irrecv.enableIRIn();  //  старт приема
}
void loop() {  // бесконечно выполняемая функция
  if (irrecv.decode(&results)) 
{ // если сигнал принят
    Serial.println(results.value); // выводим его на экран компьютера
    irrecv.resume();  // ждем прием следующего сигнала
}
}

  Записываем программу в плату Arduino, включаем монитор порта, кратковременно нажимаем на клавиши пульта «1», «2», «3» и «4» и видим следующий результат в мониторе.

 

Прикрепленный файл  коды.JPG   24,88К   3 скачиваний

 

  Теперь запомним код четырех кнопок, например код кнопки «1», «2», «3» и «4». Выглядят он и у нас вот так:
Нам нужно запомнить 4 кода –
Кнопка «1» имеет код 16724175
Кнопка «2» имеет код 16718055
Кнопка «3» имеет код 16743045
Кнопка «4» имеет код 16716015
  Вполне вероятно, что у вас будет другая модель пульта и поэтому коды могут не совпадать с описанными здесь. Ничего страшного в этом нет. Программа будет работать  и с другими кодами, нужно лишь написать их в программе. Запишите эти коды в блокнот, иначе при закрытии монитора порта вы потеряете эти цифры.
  Вот, например, как выглядят коды клавиш пульта управления домашней сплит- системы:

 

Прикрепленный файл  конд.JPG   25,35К   3 скачиваний

 

  А вот так выглядят коды пульта управления телевизором:

 

Прикрепленный файл  теле.JPG   24,97К   3 скачиваний

 

  Теперь становится понятно, почему пульт управления сплит-системы не может управлять телевизором и наоборот- их коды совершенно не совпадают.
  Примерный вид конструкции представлен на картинке. Здесь видно, что драйвер будет управлять вентилятором.

 

 

Прикрепленные файлы



#2 daniil

daniil

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 23 Июль 2015 - 03:43

программа почему-то не хочет работать.Пишет 

sketch_jul23a:3: error: 'IRrecv' does not name a type
sketch_jul23a:4: error: 'decode_results' does not name a type
sketch_jul23a.ino: In function 'void setup()':
sketch_jul23a:8: error: 'irrecv' was not declared in this scope
sketch_jul23a.ino: In function 'void loop()':
sketch_jul23a:11: error: 'irrecv' was not declared in this scope
sketch_jul23a:11: error: 'results' was not declared in this scope
подскажите что делать заранее спасибо.


#3 admin

admin

    Администратор

  • Администраторы
  • 32 сообщений

Отправлено 24 Июль 2015 - 10:39

У вас не подключена библиотека
 
 
Сделайте все по инструкции в этой ссылке.





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных