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


Фотография

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


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 admin

admin

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

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

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

  Теперь настало время усложнить программу. Изменим код так, что при нажатии на клавишу «3» пульта будет включаться вентилятор, а при нажатии на клавишу «4» вентилятор будет выключаться.  При этом светодиод так же будет управляться пультом.
  У нас есть плата драйвера для управления двумя моторами.  Из предыдущих уроков мы помним, что управлять моторам через драйвер можно управлять подачей «низкого уровня» на управляющий вход драйвера.
  Внесем изменения в предыдущую программу.

//Кнопка «1» имеет код 16724175
//Кнопка «2» имеет код 16718055
//Кнопка «3» имеет код 16743045
//Кнопка «4» имеет код 16716015
#include <IRremote.h>
int LED = 4; // определяем порт для светодиода
int MOTOR =6; // определяем порт для драйвера вентилятора
int RECV_PIN = 11; // назначаем 11-ый вывод для подключения фотоприемника
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()  
{
  pinMode(LED, OUTPUT); //определяем вывод на светодиод как "выход"
  digitalWrite(LED,LOW);  // выключаем светодиод при старте программы
  pinMode(MOTOR, OUTPUT); //определяем вывод на драйвер как "выход"
  digitalWrite(MOTOR,HIGH);  // выключаем вентилятор  при старте программы
  irrecv.enableIRIn(); // функция начала приема
}
void loop() 
{
  if (irrecv.decode(&results)) 
  { // если сигнал принят
    if (results.value ==  16724175) // если принятый код равен коду клавиши «1»
      digitalWrite(LED,HIGH);   // то включаем светодиод    
    if (results.value == 16718055)  // если принятый код равен равен коду клавиши «2»
      digitalWrite(LED,LOW);  // выключаем светодиод
    if (results.value == 16743045)  // если принятый код равен равен коду клавиши «3»
      digitalWrite(MOTOR,LOW);  // включаем вентилятор
    if (results.value ==  16716015) // если принятый код равен коду клавиши «4»
      digitalWrite(MOTOR,HIGH);   // то выключаем вентилятор   
    irrecv.resume(); // ждем прием следующего сигнала
  }
}

  Подключаем питание на драйвер двигателя о т макетной платы, управляющий вывод от драйвера подключаем  к выводу 6 платы Arduino. Записываем программу в плату Arduino. Отключим USB шнур от платы Arduino и подключим блок батарей. проверяем реакцию вентилятора на нажатие клавиш пульта. Если вентилятор все таки не работает, то смотрим правильность подключения мотора к драйверу. Если мотор подключен к выводам «MOTOR A», то  управляющим выводом у драйвера будут выводы  «А-1А» или  «А-1В».






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

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