Подсветка, Освещённость, Движение

проекты на основе Arduino/CraftDuino

Подсветка, Освещённость, Движение

Сообщение Pashtet » 25 май 2015, 21:21

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

Суть:
Есть RGB лента с БП и контроллером с пультом (настройки контроллера RGB сохраняются в энергонезависимой памяти) всё это на 12в,
так же есть craftduino, реле, фоторезистор (возможно 2 для точности), ИК датчик движения.

Всё это подключено и настроено таким образом чтоб при наличии движения в зоне и при недостаточной освещённости реле включало основную нагрузку на определённое время и при отсутствии движения в отведённое время отключало её до следующего события.

Простенький скетч с выводом значений для отладки в консоль

Код: Выделить всё
#define pirPin 2              //задаём вход 2 для сигнала PIR
#define LedPin 13             //задаём выход 13 как LED сигнализатор PIR
#define SensPin A0            // устанавливаем входную ногу для АЦП к фоторезистору
unsigned int sensorValue = 0;  // цифровое значение фоторезистора

void setup()
{
  Serial.begin(9600);        // установка скорости работы серийного порта на 9600 бит/сек
  pinMode(pirPin, INPUT);    // установка 2-ого порта на ввод данных
  pinMode(LedPin,OUTPUT);    // установка 13-ого порта на вывод данных
  pinMode(SensPin, INPUT);   // установка А0-ого порта на ввод данных
}

void loop()


{
  int pirVal = digitalRead(pirPin);       // считываем значение с ИК датчика
  int sensorValue = analogRead(SensPin);  // считываем значение с фоторезистора

// Если обнаружили движение
  if(pirVal == HIGH)
  {
    digitalWrite(LedPin, HIGH);
    Serial.println("Motion detected");   
   
  if(sensorValue<400)        // если освещённость ниже 400 попугаев
  {
    digitalWrite(4, HIGH);   // включаем 4 pin
    digitalWrite(5, HIGH);   // включаем 5 pin
    digitalWrite(6, HIGH);   // включаем 6 pin
  }
  if(sensorValue>600)        // если освещённость выше 600 попугаев
  {
    digitalWrite(4, LOW);   // выключаем 4 pin
    digitalWrite(5, LOW);   // выключаем 5 pin
    digitalWrite(6, LOW);   // выключаем 6 pin
  }
 Serial.println(sensorValue, DEC);     // вывод данных с фоторезистора (0-1023)
 
    delay(1800);       //пауза
  }
// Если движения нет
  else
  {
    Serial.println("No motion");   
      sensorValue = analogRead(SensPin);  // считываем значение с фоторезистора
   Serial.println(sensorValue, DEC);     // вывод данных с фоторезистора (0-1023)
    digitalWrite(LedPin,LOW);
    digitalWrite(4, LOW);   // выключаем 4 pin
    digitalWrite(5, LOW);   // выключаем 5 pin
    digitalWrite(6, LOW);   // выключаем 6 pin
    delay(500);       // пауза
  }
 
}


Проблемы с физикой заключаются в том что управляющего тока CraftDuino в 40ма недостаточно для одновременной работы реле и PIR датчика (прожорливый). Пробовал подключать через транзистор и каскад транзисторов и с конденсатором, но видимо что то не так делаю или элементы не подходящие =( так же была попытка запараллелить несколько выводов, но безрезультатно.
схемку нарисую по позже.
Pashtet
 
Сообщения: 3
Зарегистрирован: 25 май 2015, 19:19

Re: Подсветка, Освещённость, Движение

Сообщение Zoltberg » 26 май 2015, 11:16

управляющего тока CraftDuino в 40ма недостаточно для одновременной работы реле и PIR датчика

Эм...а как вы подключали? Без схемы, конечно сказать сложно, но при верном подключении проблем таких быть не должно.
PIR-датчик надо питать от вывода 5V, и снимать с него сигнал на пин - потреблять в этом случае он будет не от пина с нагрузочной способностью 40мА, а от стабилизатора, который до 1А отдать можетю
Конечно, если плата питается от нормального источника, а не от "кроны", например. Хотя на PIR и "кроны" хватит.
Реле (если не используете реле-модуль) надо подключать строго через транзистор (и диодом шунтировать) и обычно, к другому источнику питания, как правило к не стабилизированному питанию самой платы - к пину Vin например, но это от реле зависит. Посмотрите здесь http://robocraft.ru/blog/arduino/223.html или тут http://robocraft.ru/blog/3054.html
сон разума рождает чудовищ
Аватара пользователя
Zoltberg
Администратор
 
Сообщения: 290
Зарегистрирован: 05 май 2011, 20:36
Откуда: Калининград


Вернуться в Проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2009-2017 |  О проекте  |  Политика Конфиденциальности  |